CIs when RMSEA = 0

Posted on
No user picture. fife Joined: 07/01/2010
Forums
Hi all,

I noticed that when RMSEA = 0, the CIs come out as NA. Why is that? Is it a bug? Or are CIs theoretically undefined when RMSEA=0?

Replied on Fri, 01/30/2015 - 14:48
Picture of user. mhunter Joined: 07/31/2009

Hi Dustin,

If the chi-squared degrees of freedom are missing or negative, then the we don't even try to compute the RMSEA CIs. If for some reason the squared RMSEA is negative then we don't try to do the CIs and we should report RMSEA as zero with a comment that the non-centrality parameter is less than zero. The CIs are undefined in this case. When we do try to get CIs for the RMSEA, that could still fail which also generates NA CIs. I don't think we're very good about reporting exactly which of these has occurred.

Also, there is a function (I believe not yet documented, sorry) that you can call directly for RMSEA and CIs.


omxRMSEA(model, lower, upper)

For the 95% CI, lower=0.025 and upper=0.975.

Replied on Sun, 02/08/2015 - 19:57
Picture of user. wuhao_osu Joined: 09/07/2010

In reply to by mhunter

When you say squared RMSEA being negative, did you mean F/df<1/n? In this case the CI is still well defined. The lower bound is just 0. The upper bound is related to the ncp that defines a noncentral chi square whose 5th percentile is nF. This is in most cases a positive number.

Replied on Sun, 02/08/2015 - 21:00
Picture of user. mhunter Joined: 07/31/2009

In reply to by wuhao_osu

I mean RMSEA^2 = MSEA = [(F/df) - 1] / n < 0. So, (F/df) - 1 < 0; or F/df < 1. When MSEA < 0, the RMSEA has nonzero imaginary part and I consider the RMSEA undefined. As you described, it is true that the CI can still be defined even when the RMSEA is not.

As a toy exmaple, F=1, df=3, n=100 yields

MSEA=-0.006666667
RMSEA=0+0.08164966i
CI=
lower upper
0.0000000 0.1296522

OpenMx could report the RMSEA CI even in these cases when RMSEA is complex, but I think that opens an odd can of worms. It would be an easy code change to make, but the user implications are not clear to me. Do other developers have an opinion on this?

Replied on Sun, 02/08/2015 - 22:17
Picture of user. wuhao_osu Joined: 09/07/2010

In reply to by mhunter

I think in this case the RMSEA is estimated at 0 instead of being considered undefined. The formula of RMSEA involves -1/n to adjust a bias. If the term in the root is calculated to be smaller than 0, it is just estimated at 0. Just like the effect size measure omega square. I have never heard of a software that declares RMSEA undefined in this case, and a CI is always computed.

By the way, F usually refers to the discrepancy function and T=n*F is the test statistic that has a central or noncentral chi square distribution.

Replied on Mon, 02/09/2015 - 10:12
Picture of user. mhunter Joined: 07/31/2009

In reply to by wuhao_osu

You're right that RMSEA is defined as zero when MSEA is less than zero. I stated that in my original post but mis-stated it previously. I've just checked in a change that now computes the RMSEA CI even when the MSEA is negative, forcing the RMSEA to be zero.

In my formulae above, I was using F to represent the Chi-Squared value: Minus2LogLikeModel - Minus2LogLikeSaturated. For raw data FIML, this chi-squared value automatically depends on n. For covariance data ML, it is n*(ML Fit Function Value).