Message/Author 


I've been trying to fit a threelevel MIMIC model in Mplus v7. I have 16 indicators 14 of which are 4point ordered categorical and 2 are dichotomous. I have covariates measured at all levels. I have noted something strange and I have read through Mplus discussion as well and I seem not to find a solution. My model runs quite well when the factors are regressed on the covariates, but when I include a line regressing the 16 indicators on the covariates (which I only do for the within level part) I get an error msg saying: WARNING: A VARIABLE HAS A FREE MEAN AND VARIANCE FIXED TO ZERO. THIS MAY LEAD TO POOR CONVERGENCE AND MIXING. TO AVOID THIS, ESTIMATE THE MEAN ON A LEVEL WHERE THE VARIANCE IS FREE. THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY. THE PSI MATRIX IS NOT POSITIVE DEFINITE. THE PROBLEM OCCURRED IN CHAIN 1. PROBLEM INVOLVING VARIABLE Y1. THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY. THE PSI MATRIX IS NOT POSITIVE DEFINITE. THE PROBLEM OCCURRED IN CHAIN 2. PROBLEM INVOLVING VARIABLES Y1 AND Y2. When I block the pointed variables (i.e. Y1 and Y2) the problem shifts to the next indicators, and this happens until I block the regressions on all the indicators. I have even tried reparametrizing the model but the problem persists. 


My model reads like this: DATA: FILE = "mydata.dat"; VARIABLE:NAMES = level3 level2 c1 c2 c3 c4 c5 c6 x1 x2 x3 x4 x5 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16; USEVARIABLES = c1y16; CATEGORICAL = y1y16; MISSING = .; CLUSTER = level3 level2; WITHIN = x5 c1c6; !c1c6 are dummies for a grouping variable. BETWEEN = (level2) x4 (level3) x1 x2 x3; ANALYSIS:TYPE = THREELEVEL; ESTIMATOR = BAYES; PROCESSORS = 2; FBITER=1000; !to be increased. !THIN=10; 


model: %WITHIN% fw1 BY y1* y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 y16(xload1xload12); fw2 BY y5* y6 y7 y1 y2 y3 y4 y8 y9 y10 y11 y12 y13 y14 y15 y16(xload13xload25); fw3 BY y8* y9 y1 y2 y3 y4 y5 y6 y7 y10 y11 y12 y13 y14 y15 y16(xload26xload39); fw4 BY y10* y11 y12 y1 y2 y3 y4 y5 y6 y7 y8 y9 y13 y14 y15 y16(xload40xload52); fw5 BY y13* y14 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y15 y16(xload53xload66); fw6 BY y15* y16 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14(xload67xload80); fw1fw6@1; !Regress factors on covariates: fw1fw6 ON x5 c1c6; ! direct effects: y1y16 ON x5 c1c6(d1d112); ! This is the part with problems. 


%BETWEEN level2% fu1 BY y1* y2 y3 y4 y8 y9 y10 y11 y12 y13 y14 y5 y6 y7 y15 y16(xload81xload85); fu2 BY y5* y6 y7 y1 y2 y3 y4 y8 y9 y10 y11 y12 y13 y14 y15 y16(xload86xload98); fu3 BY y15* y16 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14(xload99xload112); fu1fu3@1; !Regress factors on covariates fu1fu3 ON x4; 


%BETWEEN level3% fh1 BY y1* y2 y3 y4 y8 y9 y10 y11 y12 y13 y14 y5 y6 y7 y15 y16(xload113xload117); fh2 BY y5* y6 y7 y1 y2 y3 y4 y8 y9 y10 y11 y12 y13 y14 y15 y16(xload118xload130); fh3 BY y15* y16 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14(xload131xload144); fh1fh3@1; !Regress factors on covariates fh1fh3 ON x1 x2 x3; MODEL PRIORS: xload1xload144~N(0,0.01); d1d112~N(0,0.04); 


Next, I excluded the binary indicators. With this, the error msg in the first block goes but the subsequent ones remain pointing to yet different indicators. THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY. THE PSI MATRIX IS NOT POSITIVE DEFINITE. THE PROBLEM OCCURRED IN CHAIN 1. PROBLEM INVOLVING VARIABLES Y1 AND Y3. THE MODEL ESTIMATION DID NOT TERMINATE NORMALLY. THE PSI MATRIX IS NOT POSITIVE DEFINITE. THE PROBLEM OCCURRED IN CHAIN 2. PROBLEM INVOLVING VARIABLES Y1 AND Y5. Any help will be greatly appreciated 


Posts on Mplus Discussion are limited to one window. These types of output specific questions should be sent to support@statmodel.com along with your license number. 


Noted with thanks! 

z_sh posted on Saturday, March 05, 2016  2:37 am



dear Dr Muthen I want to use multilevel MIMIC for detecting DIF.wv is my within cluster variable. TITLE: two level MIMIC DATA: FILE = "F:/replist.dat"; TYPE = MONTECARLO; VARIABLE: NAMES = rep clus per wv bv theta x1x20; usevariables x1x20 wv; CATEGORICAL = x1x20 ; CLUSTER = clus; WITHIN =wv; MISSING = ALL (999); ANALYSIS:TYPE = TWOLEVEL random; MODEL: %WITHIN% fw by x1x20; fw on wv; ! f1f6 on age; x1x20 on wv@0; %between% fb by x1x20; OUTPUT:Sampstat TECH1 TECH8; is this correct? 


Looks ok. But you say that wv is your cluster variable  if so, it should not be declared as WITHIN. 

Back to top 