Weight variables PreviousNext
Mplus Discussion > Categorical Data Modeling >
 Marisa posted on Wednesday, June 29, 2005 - 2:20 am
Dear Linda,

two questions about the use of weighting variables.

Why isn´t it possible to use weights in ML estimation?

Why do weights under frequency option need to be integer?

What does the settig "sampling" realy do to my data, if it does not touch the number of cases.

 Linda K. Muthen posted on Wednesday, June 29, 2005 - 7:26 am
It is possible to use weights in ML estimation. I'm not sure why you think it isn't.

Ususally frequency weights are used to represent more than one observation and usually these are not fractions.

It tells Mplus that the weight is a sampling weight not a frequency weight. A sampling weight is used when data have been collected with unequal selection probabilities.
 Inna Altschul posted on Thursday, May 25, 2006 - 6:02 am
I wonder if I may have a similar issue to the one implied above; I'm using weights for a nationally representative sample which are both frequency and sampling weights combined in one number (i.e. they are all greater than 1 and most have fractions). I thought that perhaps I could get this to work in MPlus by using the weight as a sampling weight and specifying the number of observations (NOBSERVATIONS) as equal to the weighted population (my sample has about 2000 cases that represent about 200,000 individuals), but that does not seem to work. Are there any other solutions within Mplus?

Thank you,
 Linda K. Muthen posted on Thursday, May 25, 2006 - 9:45 am
I can't think of a way this can be done in Mplus.
 Nara Jang posted on Sunday, March 30, 2014 - 9:16 am
Dear Dr. Linda,

My surveyed data include high proportion of female and low proportion of male. Also the range of age is skewed. Would you tell me if I need to weight the variable, based on gender and age?

Thank you very much for your expert advice in advance!
 Linda K. Muthen posted on Monday, March 31, 2014 - 8:09 am
A data set that is not a random sample should have a weight variable that can be used in the analysis.
 Nara Jang posted on Monday, March 31, 2014 - 9:16 am
Dear Dr. Muthen,

Thank you very much!!

Best regards,
Nara Jang
 alessandra monni posted on Monday, October 16, 2017 - 6:52 am
Dear Mplus team,
my question regards weighting data.
I collected 3 measures in 3 different occasions for each participant.
Time delay between the 3 measures was different among all participants.

This is the simplest example:
•for participant 1 I collected var1, var2 and var3 the 1st July
•for participant 2 I collected the var1 the 1st July, var2 the 1st August and var3 1st September

I assume that the more delay I have between the measures, the less strong is the relationship found between the measures.
Therefore, I would like to weight data in order to give more importance to participant 1 that have the least time delay and less importance to participant 2 that has the biggest time delay.

Thus I have 3 times delay variables: number of days between var1-var2; var2-var3; var1-var3.
For each variable I would give the most importance to time delay=0.

I have 2 questions:
(1)How does Mplus weight data? Does it give more importance to bigger numbers? Because in that case I need to transform my times delay variables.
(2)Can I use more than one variable to weight data? Because I need to weight the association between var1 and var2, var1 and var3 and var2 and var3 by the time delay.

Thank you in advance
 Tihomir Asparouhov posted on Tuesday, October 17, 2017 - 11:25 am
1) we would simply maximize the weighted likelihood

Sum weight_i * log-likelihood_i

where weight_i and log-likelihood_i are the weight and the livelihood for individual i

2) I would discourage you to use weighting for your problem. The wights are meant to be inverse of probability of selection and this is what is being assumed while computing SE - the way standard errors are computed maters a lot with weights. There are two methods implemented in Mplus (frequency and sampling weights) neither one of which I would recommend. I would use this instead (you should look up example 5.23 in the user's guide for explanations)

VARIABLE: NAMES = v1 v2 v3 t12 t23;
USEVARIABLES = v1 v2 v3 d12 d13 d23;
CONSTRAINT = d12 d13 d23;
define: d12=exp(-t12); d13=exp(-t12-t23); d23=exp(-t23);
model: v2 on v1 (b12); v3 on v1 (b13); v3 on v2 (b23);
MODEL CONSTRAINT: new(a12 a23 a13 c12 c13 c23)

The above model lets the relationship between the variables be stronger or weaker depending no how much time has elapsed between the observations. There are tons of variations and you can compare them using the BIC.
 alessandra monni posted on Tuesday, October 17, 2017 - 11:54 am
Dear Dr. Asparouhov,
thank you very much for your help!

best regards
 alessandra monni posted on Tuesday, November 07, 2017 - 3:08 pm
Dear Dr. Asparouhov,
I tried to run the model with your suggested constraint but the output did not provide fit index and standardized result.
Below the warning message

*** WARNING in OUTPUT command
STANDARDIZED (STD, STDY, STDYX) options are not available when specific
constraints are used in MODEL CONSTRAINT.
Request for STANDARDIZED (STD, STDY, STDYX) is ignored.

How can I resolve it?

thank you in advance
 Tihomir Asparouhov posted on Tuesday, November 07, 2017 - 5:33 pm
Standardized results are not available because the model estimated variance covariance is different for every subject (because the regression coefficients are subject specific as well). The standardized regression coefficients will also be subject specific but somewhat more complicated than the unstandardized. You have two options - standardize these by hand yourself or standardize the dependent variables before the analysis using "define: standardize v1 v2 v3". While the second option has some drawbacks I would not hesitate to use it in this situation.

You can use likelihood ratio test or BIC to evaluate model fit.
 fred posted on Monday, June 24, 2019 - 10:55 pm
I am trying to include a weighting variable in a mixture mode analysis. The unweighted code is:

estimator = mlr;
model: etc....

When I simply add the weight line WEIGHT = Sweight; after "names are" I get exactly the same estimates as before.

ANd when I add "type=complex" I recive the error:
"TYPE=COMPLEX requires a cluster variable, a stratification variable or replicate weights. Use the CLUSTER, STRATIFICATION or REPWEIGHTS options to specify one of the requirements for TYPE=COMPLEX."

I do not have clusters varibles, only individual weight data. Is the compex command necessary?

Thanks in advance
 Bengt O. Muthen posted on Tuesday, June 25, 2019 - 6:22 am
It is not necessary to use Type=Complex with a weight variable.

Send the output with and without the Weight option to Support along with your license number.
Back to top
Add Your Message Here
Username: Posting Information:
This is a private posting area. Only registered users and moderators may post messages here.
Options: Enable HTML code in message
Automatically activate URLs in message