Message/Author 

Anonymous posted on Thursday, November 29, 2001  6:26 pm



Why are modification indices not available when estimating a model with WLMSV? I have a three factor model with 12 variables on f1, 6 variables on f2 and 2 variables on f3. the variables are measured on a 16 likert scale, with many ceiling and floor effects for each indicator. Therefore, I listed the indicators as categorical and estimated using a WLMSV technique. I believe several of the indicators may have correlated measurement error due to the nature of the questions. Any suggestions? 


Modification indices have not yet been developed for estimators other than maximum likelihood. You can look at derivatives instead, which are unscaled modification indices. You can obtain these be specifying TECH2 in the OUTPUT command. The signs of the derivatives are the opposite sign that the parameter would have it it were free. You should free the parameters with the largest derivatives. You cannot tell by the size whether freeing the parameter will reduce chisquare significantly. If observed variables are measured on different scales, the size of the derivatives will be influenced by this. As a result, you cannot compare the size of derivatives of observed variables that are measured on different scales. 

Anonymous posted on Friday, November 30, 2001  1:43 pm



Thank you very much. This is very helpful. 

Kaja LeWinn posted on Wednesday, July 27, 2005  9:06 am



I have recently updated to the 3.12 version from the 3.11 version. Having run the exact same models in both versions of MPLUS, I have found that I get significantly different modification indicies depending on the version used. Is there an explaination for this? Thank you for your help, Kaja 


Please send the two outputs, the input, and data along with your license number to support@statmodel.com. 

joshua posted on Monday, November 28, 2005  10:08 pm



My modification indices in multigroup analysis (CFA) revealed that there's a threshold that is largely significant in both groups. I'm assuming that I've to then constrain this to be equal in both groups. Q1) How do I do that? Q2) What does this large threshold across both groups mean? Thanks 


If you received a modification index for the parameter, it was either fixed or constrained to be equal to another parameter. So your choices would be to free the parameter or remove the equality constraint. Any large modification index indicates that freeing the parameter or removing the equality constraint could result in better model fit. Whether you want to do this depends on what this would mean. 

A. Dyrlund posted on Tuesday, May 02, 2006  4:57 pm



When using the MODINDICES command...I am not sure how to determine which modification indicies are significant (i.e., will result in significant changes in the chi square fit). I see that one can request modification indicies to be greater than a specific value but how does one know what the value should be set to? Is this something that is completely determined by the researcher or are there some general guidelines? 


Modification indices are the amount chisquare will drop the the parameter is estimated as part of the model. The chisquare value of 3.84 is the value that should be exceeded at the .05 level for one degree of freedom. You can find this by looking at a chisquare table. So you would want the modification index to be at least 3.84 and probably larger to free the parameter. It would also need to make sense to free the parameter. 

A. Dyrlund posted on Wednesday, July 05, 2006  10:25 am



So if my degrees of freedom = 1728 and the critical chi square for that value is 1825.8209 I should include the following syntax: OUTPUT: MODINDICES (1825.829); Is that correct? 


A modification index is for one degree of freedom. The critical value is 3.84. If you say MODINDICES, the default criticl value is 10. 


Hi, I ran a CFA on a threefactor unidimensional model with three indicators for each latent. The CFA indicated the proposed factor structure did not fit the data (assume I have examined relative fit indices). That said, one on of the mod indices (which i set to 5.0) suggested an M.I. of 25.588 if I correlated the error of one indicator with the other (suggesting some similar form of measurement)...; applying this parameter makes the model significant, and highly; rationale for the proposed model change (correlating the errors can be conceptually made) but what does the E.P.C., Std E.P.C and StdYX E.P.C. refer to (in other words, the E.P.C.). 


Hi, I ran a CFA on a threefactor unidimensional model with three indicators for each latent. The CFA indicated the proposed factor structure did not fit the data (assume I have examined relative fit indices). That said, one on of the mod indices (which i set to 5.0) suggested an M.I. of 25.588 if I correlated the error of one indicator with the other (suggesting some similar form of measurement)...; applying this parameter makes the model significant, and highly; rationale for the proposed model change (correlating the errors can be conceptually made) but what does the E.P.C., Std E.P.C and StdYX E.P.C. refer to (in other words, the E.P.C.). 


E.P.C. is the expected parameter change if the parameter is freed. The other two are standardized versions of this. You can find further information in the user's guide under the MODINDICES option. 

Ramin Azad posted on Wednesday, October 25, 2006  4:36 pm



Hi What is a good range for modification indice? 


The critical cutoff value for one degree of freedom is 3.84. I'm not sure there is a defined good range. 


Is it possible to obtain MODIFICATION indices for WITH statements when using WLSMV estimator in MPlus 4.21? OUTPUT: MOD provided me with the modification indicies for BY statement only. If output for BY statements is not available, is there any other way to decide which paths may be included into the model to define correlated residuals? 


You need to add some statement to open the matrix for residual covrriances so you will obtain these modification indices: u1 WITH u2@0; for example. 


Hello, I am trying to fit a model with one latent factor that was measured by 10 items. First, I did a CFA with these 10 items being indicators of my latent factor (without parcels). However, the fit of the model was not good. I then looked at modification indices and ended up adding 9 WITHstatements which did result in a good fit(item2 with item 6, ...), but I'm asking myself if this makes any sense? Is this a common finding? I also tried to remedy the bad fit of my model by using item parcels, with result in very good fit indices, but then my structural paths were no longer significant, whereas these paths were significant in the adjusted model with the WITHstatements... Any ideas on how to solve this problem? Or is my model just not good enough? Thank you for the information! 


If you had to add that many residual covariances, it sounds like the items may measure more than one factor. I would try an EFA. 


Thank you Linda, for your quick response! When doing a EFA, I indeed find that the solution with two factors is better. It's only strange because we really expected only one factor. The 10 items were all supposed to measure academic selfconcept and we did not expect any other factor... When looking at the items loading on these different factors, there might be some interference, would it then be acceptable to only use those items that really seem to measure academic selfconcept and drop the items that load on another interfering factor? 


EFA is a good way to see if items behave as expected. It sounds like some items did not. I would use only the items that measure the construct as intended. 


Thank you for your answer! 

mpluslover posted on Monday, January 11, 2010  11:21 am



Hello, I am trying to run measurement model. Is there any commend to view all modication indices? I ran my measurement model with several latent variables. I wrote "mod(all)", then output did not show modification indices across indicators. In other words, my latent variables, A, B, & C, have three indicators, a1 a2 a3, b1 b2 b3, c1 c2 c3. But the modification indices showed a1&b1, a1&b2, a1 & c1 and so on. However, I'd like to see correlated errors within one latent variable such as a1 & a2, a1 & a3, a2 & a3. What commands can I use instead of "mod(all)"? Thanks for your help. 


Try MODINDICES (ALL 0);. 

mpluslover posted on Thursday, January 21, 2010  3:55 pm



Thanks for your advice. However, even though I tried to use that, it does not seem to give what I wanted. Are there any other reasons for this problem? If you don't mind, could you have a look at my input commands? pwb by pposaf pnegaf; pposaf @3; PLE by psoact ppasset@.5; psoact@.5; Health by HealPro poars18 poars19 ; PES by MNEEDS FINEMRG PEXTRAS; PHY by piadlsum ppadlsum; ppadlsum@3.5; SS by PSRES02 PSRES01 PSRES03; pwb with PLE @0; pwb with health @0; pwb with PES @0; pwb with PHY @0; pwb with SS @0; PLE with health@0; PLE with PES @0; PLE with PHY@0; PLE with SS@0;health with PES@0; health with PHY@0; health with SS@0; PES with PHY@0; PES with SS@0; PHY with SS@0; Thanks for your time. 


Please send your output and license number to support@statmodel.com. 


I am working on testing measurement invariance in a longitudinal model over two time points. However, I am not certain when setting up the measurement model. I am using SF36 as the measurement instrument. The fit indices indicate a very good model fit, RMSEA=0.0457 (90% CI=0.0380.053), NNFI=0.9914, CFI=0.9944, SRMR=0.027, NFI=0.9912. However, the modification indices in thetadelta matrix for five of the observed variables are on the higher side(12.39, 11.89, 31.01, 15.95, and 11.81). In addition, several standardized residuals are >2.0 (the largest value is 5.27 and the smallest is 4.07). I tried several different combinations with loading indicator variables on different latent variables and error covariances, but none seem to work. Could you suggest to me what should I do next? Thank you for your time! 


It is unclear if you have good model fit why you are wanting to modify the model. The development of the items should suggest the structure of the factors. I would suggest doing at EFA at each time point to see if the items behave as expected. 


Since the modification indices are very good, should I ignore the modification indices >4.0 and standardized residuals >2.0? Other changes to the model based on modification indices and standardized residuals do not make sense based on theory. 


I would not overfit a model based on modification indices particularly if you cannot support the inclusion of the parameters based on theory. 


Thank you! 

Jak posted on Wednesday, May 12, 2010  5:28 am



Hello, I am fitting a factor model on 5 items. Instead of adding a residual covariance between item 2 and 4, I want to add an uncorrelated common factor with its variance fixed to 1 and equality constraints on the factor loadings (gives identical fit). The covariance is negative, so this is the syntax I used: Model: intr by v1* v2v5; intr@1; v1v5; f2 by v2* (l1) ; f2 by v4 (l2); f2@1; f2 with intr@0; MODEL CONSTRAINT: l1 = 1 * l2; Using this syntax however, modification indices are not given, because "MODINDICES option is not available in conjunction with nonlinear constraints through the use of MODEL CONSTRAINT. " Is there a way to still obtain the modification indices in my situation? Thanks in advance! 


I would use the following syntax not MODEL CONSTRAINT: f2 BY v2* (p); f2 BY v4* (p); f2@1; where p can be negative. 

Jak posted on Wednesday, May 19, 2010  2:08 am



Thank you very much for this fast reply. But I am afraid it does not solve my issue. In your example syntax, if p is negative, the model implied covariance between the items is still positive (p*p). Because I want the extra factor instead of a negative residual covariance, lambda21*psi11*lambda41 should be negative. And therefore one of the factorloadings should be negative and the other positive, but of equal size. Is there an other way to do this then via the MODEL CONSTRAINT command so that i still obtain modification incidices? Thanks again 


If all you want is to represent a residual covariance via a factor, you could simply say: f by y1 y2; f@1; This will give a loading fixed at 1 for y1 and a free loading lambda_2 for y2. The residual covariance is then parameterized as lambda_2: rescov = 1*1*lambda_2 The lambda_2 loading can be negative or positive, so you get full flexibility. But if you insist on the y1 loading being free as well and holding them equal but with opposite signs, you can use Model Constraint with p2 = p1; 

Jak posted on Thursday, May 20, 2010  3:14 am



Thank you very much! 

Emily Blood posted on Thursday, October 21, 2010  1:42 pm



Is there a reference I can give when citing modification indices from Mplus other than the general Mplus reference? 


Sorbom, D. (1989). Model modification. Psychometrika, 54, 371384. 


Hi,, After running a twolevel confirmatory factor analysis with CATEGORICAL indicators using WLSM estimator I couldn't get the modification indices on the output. Then, I asked for TECH2 but the output told me that both MODINDICES and TECH2 are not available for estimators such as WLSM etc. Is there a way to get these indices with WLSM estimation or should ML estimation be used instead to get them? Thanks... 


Modification indices are not available for EFA and categorical outcomes. ML is not available in this case. 


Hello, I am new to the Mplus software, and was wondering how the MODINDICES command is scaled. Does the output reflect Modification Indices by fixing the factor variance or by fixing a reference indicator? In our current project we would like to be able to run multiple models using each possible reference indicator and generate their respective resulting modification indices, following the strategy suggested by Cheung & Rensvold (1999) and Nye, Roberts, Saucier, & Zhou (2008). Thank you for any clarification on this issue. 


The modification indices use the model specification provided in the MODEL command. The default is to fix the first factor indicator to one. This can be changed to freeing all factor loadings and fixing the factor variance to one. 


Dear Dr. Muthen, some questions regarding the modindices using MLRestimation: Does the modindices already correct for the MLRestimation? Or does the reported chisquare correspond to the MLChiSquare? And is it correct, that the pvalue of the chi²difference is equivalent to the pvalue of the relevant estimate (for ML)? And if this is true, does it also apply to MLRestimation? best regards Christoph Weber 


Yes, if you use MLR, the modification indices use MLR. If you have a nested model that differs by one degree of freedom, the pvalue of the effect is the same as the pvalue of the difference test for ML and MLR. 


Thanks! Now I have a 2wave (Latent difference scores and static variables) mediation model. The modindices suggests a direct path from an exogenous variable to my outcome (p<.05 according to delta Chi²), but the effect is only p<.10 significant. What might be the reason for this? best regards Christoph Weber 


Dear Dr. Muthen, one more question. is it possible, that this (see above) is the result of multicollinearity. Is the Chi²difference test to the same extent affected by multicoll. like the SE of the estimate? Thanks Christoph Weber 


I don't think multicollinearity is the issue. Modification indices usually work well but in some cases they don't. 


Can you recommend any articles on this problem? 


I don't know of any article that deals with this explicitly. If you want to send your output and license number, we can see if your model context suggests anything special. 


Hello Dr Muthen, What is considered to be an EPC high enough to modify the parameter? I get the following and am not sure which to consider for modification: M.I. E.P.C. Std E.P.C. StdYX E.P.C. BY Statements 25.818 0.123 0.106 0.093 43.591 0.174 0.140 0.146 WITH Statements 11.818 0.171 0.171 0.306 41.095 0.109 0.109 0.201 15.937 0.037 0.037 0.123 10.939 0.046 0.046 0.090 Thank you very much jan 


That's more of a substantive question  what you regard as a practically important deviation from zero. In factor analysis with standardized variables (so going by STDYX), crossloadings are often deemed ignorable if less than 0.3, but that may be a bit high. One way to judge what is important is to free the parameter and see how much your key parameters change  if they don't change in important ways, then the modification was perhaps not necessary. 


Hi Linda and/or Bengt, When conducting a CFA of a single factor model, we have recently obtained some modification indices that don't make sense to us. First, some modification indices are saying to regress the factor on all of the items. Second, the values of these modification indices equal 999. Any light you can shed on these would be most appreciated. Thanks! Rick 


Modification indices are given for all fixed and constrained parameters in the model. This does not mean it makes sense to free all of these parameters. In deciding which parameters you want to free, you need to establish that it makes sense to do so. A 999 means that the MI could not be computed. 


thanks for the very speedy reply Linda! I am curious though  I don't remember in the past ever getting a MI suggesting to regress a latent variable on any of its indicators, have you seen this before? 


All fixed parameters get modification indices. Perhaps the size of the modification index did not exceed the default of 10 so this is why you did not see them. 


ok, thanks! 


Hi Dr Muthen, My CFA model turns out nicely I think, with an RMSEA of 0.035 and CFI/TLI of 0.985/0.980. But some MI's turn out to be 999.999. When I exclude an item, this effect is gone and the model is still very similar in other respets. Could you tell be why these very similar model suddenly have not calculable MI's? And how should I judge my model? Thank you in advance, Eefje Steenvoorden 


The 999 occurs when a computation cannot be completed. This does not reflect badly on your results. It is separate from the results. 


thank you for your fast reply. Am I correct that it can indicate item(s) that are redundant in the model? 


I don't believe this is the reason. 


Dear Dr Muthen, I think I have read the MIs are related to chi squared values and hence are affected by sample size? I was just wondering because I have a sample of over 6,500 people. I am testing a CFA (3 factors, each with 69 observed indicators) for a new theoretical concept (first explored with an EFA). My chi squared value is understandably large at 5,192 with 227 degrees of freedom, but my model fit indices are very good (CFI/TFI=0.97, RMSEA= 0.55 with tight 90%CI). My observed indicators are ordinal and very skewed so I am using WLSMV estimator. My questions: 1) I have very large MI values (in just the BY statements I have 15 with values over 100, 5 over 400) but could the size of these values be affected by my sample size? Only 5 of them have StdYX E.P.C greater than 0.3, so potentially not all of them affect the model parameters that much? Or is this saying something counter to my good model fit indices? 2) My WRMR value is 3.707. This seems oddly large? What does that mean? Thank you very much for your help. I was not able to find other postings about very large MI values in cases of good model fit. 


1. I would free some of these parameters that make substantive sense and see how fit is affected. 2. I would ignore WRMR. It is an experimental fit statistic. 


Hi Dr Muthen, I am new to the Mplus software. When conducting a CFA of ML estimator£¬I revised the model according to the biggest MI value. It did well at the beginning, but after some steps, it said "NO CONVERGENCE. NUMBER OF ITERATIONS EXCEEDED." and MI is not shown. How can I avoid this happenning? And what is the use of EPC? Thank you very much for your help Sean 


"No convergence" can have a multitude of reasons as described in the UG. Typically, if you free a parameter that has a large MI, convergence problems don't occur. If they do, you can request SVALUES in the Output command of the first run which gives the estimates of that run to be used as starting values in the second run where you free the parameter. EPC stands for expected parameter change and tells you how much the parameter changes when freed. 


Hi Drs Muthen, If i want to reduce my chi squared because in my modification indices two with statement variables are correlated, how do i do this in the codes?? lets say the MI for x with Y, and Y with Z are larger than 3.84 and correlated theoretically What is the code to free the parameters in my CFA ? Kind Regards, M 


x WITH y; y WITH z; 


Hi Drs. Muthen, I am currently using the MODEL CONSTRAINT command to set parameters equal across groups (all variables are observed), but this means I cannot get any modindices to see which parameters "ask to" be set free...is there an alternate way to do this that would allow me to access modindices? Thanks so much! 


If all you want is to hold single parameters equal, you can do that in the MODEL command. Chapter 14 contains a discussion of multiple group analysis. There is a section on equalities in multiple group analysis. 


Dear Dr Muthen, We conducted a CFA, and although the model fit is good, there are some misspecifications in the model as indicated by 'the detection of misspecification’procedure (Saris, Satorra, & van der Veld, 2009). We can deal with these misspecifications by adding three additional parameters to the model, but this is not preferable as these parameters needs to be added to items that are not in the same factor. Therefore, although the model scores good with respect to the traditional fit indices, the model fit is not good (enough). We are now thinking about a solution to test whether the model we tested may have a few misspecifications, but regardless of these misspecifications, the tested model is the best possible model. We want to use a permutation test for this (in which we test whether the dividing of the items in the factors in our tested model is significantly better than the dividing of items in any other model), but I'm not sure whether this is possible in Mplus. And if so, how can I use it in mplus? Thank you very much and kind regards, Noud 


Not possible as far as I know. But why not see if freeing those three additional (and unpalatable) parameters changes anything important in your key parameters? So a kind of sensitivity test. 


Hi I am testing a structural model as below INTEX1 on RPEx1 OEEx1 ASEEx1; PA_sqrt on MSE_1 AP_1 RSE_1 CP_1; AP_1 on INTEX1 MSE_1; CP_1 on INTEX1; MSE_1 on ASEEx1; RSE_1 on MSE_1; My model fit is poor and MI's are numerous What I do not understand is (A) why the following MI's are given MSE_1 ON RSE_1 / RSE_1 BY MSE_1 49.837 1.321 1.581 1.581 when RSE_1 on MSE_1 is in the model. (B) what change(modification) do I need to make in the model for CP_1 ON AP_1 / AP_1 BY CP_1 44.125 1.587 1.576 1.576 (c) which modification do I choose first RSE_1 WITH INTEX1 49.626 0.155 0.867 0.867 RSE_1 WITH MSE_1 49.837 0.221 1.285 1.285 [please note the model had RSE_1 on MSE_1: so why is this indicating a change] thank you 


Only modification indices that make substantive sense should be considered. Modifiction indices are given for all free and constrained parameters. 


Hi Linda thank you for the prompt reply. Sorry, can I ask a clarification here. In the case of RSE_1 on MSE_1 , a parameter was estimated in the model "RSE_1 on MSE_1;" It is a substantive question. If it is already in the model what modification can I ask for as model2 ? Rohan 


I would need to see the output to understand this. ON and BY are actually the same. BY is used for factors to give a factor name but it is the regression of the factor indicators on the factor. If the parameter is in the model in another form, ignore the modification index. 


Thanks Linda Your last sentence clarifies what I need to do Rohan 


Hi Drs. Muthen, Why does Mplus sometimes give me modification indices for things I already have in the model? For example, if I have specified: F1 BY A B C D; Why will it sometimes give me a mod index that suggests that adding F1 BY A will improve the fit? Does this especially happen in invariance models? Thanks! 


It can be due to invariance. Note also that F1 BY A is fixed at 1, so not a free parameter. And it is identified if you set the metric by F@1. 

Back to top 