Xu, Man posted on Thursday, February 12, 2009 - 2:32 am
Dear Dr. Muthen,
I have an individual level weighting variable for a multilevel dataset. This variable is a combination of both the school weight and individual weight within a school that the individual belongs to. I specified my model with WEIGHT and TYPE=TOWLEVEL in conjunction. I didn't specify a school weight using BWEIGHT as the weighting variable already containing school weighting information.
Is this appropriate? Or should I try to decompose the original weight into within weight and between weight for the estimation to be proper?
It is not appropriate. You should try to decompose the original weight into within weight and between weight for the estimation to be proper.
Xu, Man posted on Friday, February 13, 2009 - 4:22 am
Thank you very much for your advice. I do have from the data a seperate school weight variable. So in order to get the "pure" student weight, I just need to divde the overal weight of both school and student (sum to the target population size) by the school weight, right?
A complication confuses me is that the data that I am using (PISA) focuses on the student population rather than the school population, therefore the school weights probably won't sum to the size of the school population. Do you think this is a problem in relation to the analysis?
This sounds correct: divide the overall weight of both school and student by the school weight.
The fact that the school weights won't sum to the size of the school population is not a problem at all. These weights are rescaled anyway by Mplus to sum up to the sample size from that school - see http://statmodel.com/download/Scaling3.pdf
Xu, Man posted on Tuesday, February 17, 2009 - 3:11 pm
Thank you very much for your reply. Your advice is greatly appreciated!
Paul Norris posted on Wednesday, February 23, 2011 - 8:46 am
I looked at your 2008 paper on rescaling weights for multilevel analysis but am wondering how best to implement weights with my data. I have a dataset contains individuals (level 1) drawn from 21 countries (level 2).
The data include sampling weights at level 1 - weighting respondents in any given country to reflect the population of that country. The number of individuals sampled within each country varies (typically 2000 respondents per country but, for instance, 1 country provides 7000). The total of weights within any country is equal to the sample size obtained from that country. Now, I assume, weighting just on these weights (with no adjustment) would cause those countries with larger samples to have greater leverage in the calculation of any model.
Given that the sample size obtained within each country is a design artefact (question design was common the fieldwork within each country was left to local survey companies) rather than having a substantive interpretation, I would like to weight my model such that each country has equal impact on the model (my concern is with level 2 covariates).
Is it acceptable to use the level 1 weights as they are, and create level 2 weights to rebalance the impact of each country, or should I rescale my level 1 weights so that when weighted each country appears to have an equal sample size?
hi, i run a threelevel model on pisa-data (students-schools-countries) and i am mainly interested in variables at the school level (level 2). since pisa school-level sampling is indeed informative, i want to use the school weights, specifying B2WEIGHT = W_FSCHWT;
this gives the following error message (no matter if either raw, normalized or standardized school weights are used, or B2WTSCALE is SAMPLE):
THE LOGLIKELIHOOD DECREASED IN THE LAST EM ITERATION. CHANGE YOUR MODEL AND/OR STARTING VALUES.
THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY DUE TO AN ERROR IN THE COMPUTATION. CHANGE YOUR MODEL AND/OR STARTING VALUES.
THE H1 MODEL ESTIMATION DID NOT CONVERGE. CHI-SQUARE TEST AND SAMPLE STATISTICS COULD NOT BE COMPUTED.
the model works fine without the weights. what can I do? Any help is appreciated.
I am working with school-level data that is based on nationally-representative samples of 8th, 10th, and 12th grades. Sampling is conducted separately for each grade, and each school receives a sampling probability weight. I am running twolevel random models to conduct multi-level mediation where the cluster variable is state (we are interested in state policy predictors). State was *not* part of the sampling procedure, but given the nature of the model, it is being used as the cluster. We want to combine 10th and 12th grades in one model, but as I noted, sampling was done independently for each grade.
I want to utilize wtscale=cluster, but I don't know if I should (a) scale the data separately by grade prior to Mplus analysis, or (b) go ahead and scale the 10th and 12th grade data together during Mplus analysis. If I scale the data prior to Mplus analysis, I will retain the "separate" nature of the 10th and 12th grade samples, but my weight will not sum to the cluster N (given that it was done separately by grade, but both grades are included in the model).
We are running twolevel random MLR montecarlo models with logit link (dichotomous variables for both X, M, and Y; 2-1-1 mediation models). State policy does not differentiate between 10th and 12th grades - just focuses on middle vs. high school. Because there are no policy differences, and also because we want to have as large an N as possible, we want to combine 10th and 12th grades.
Assuming that no school is present in both 10 grade and 12 grade samples I would suggest to scale the weights for 10 grade separately and for 12 grade separately so that the 10 grade sum up to the cluster sample size in 10 grade and the 12 grade sum up to the 12 grade cluster sample size. Then use wtscale=unscaled. The scaling of the weights would have to be done outside of Mplus before the analysis.