ACE model lower CI negative number

Posted on
No user picture. valentinav Joined: 06/15/2020
Hi All,
I am new to ACE model estimation so I am trying to follow some tutorials I found online (script attached).

The results seems fine, and are also coherent with another script I used. However, I got negative lower CI: ACEvc.VarC[1,4] -0.2443061 0.23255753 0.7557620.
Does this make sense to you? As far as I know when CI include 0 we cannot conclude that the value is different from 0...

I would really appreciate whether someone could help me with this.
Thank you in advance!
Best,
Valentina


Summary of ACEvc

free parameters:
name matrix row col Estimate Std.Error A
1 interC intercept 1 1 12.9836360 1.61658419
2 betaS bS 1 1 -0.2424204 0.96901765
3 betaA bA 1 1 -0.1057470 0.02198311
4 VA11 VA 1 1 9.4010395 10.84553399
5 VC11 VC 1 1 2.9562094 9.78221159
6 VE11 VE 1 1 28.0673269 2.82575907

confidence intervals:
lbound estimate ubound note
ACEvc.VarC[1,1] NA 9.40103948 NA !!!
ACEvc.VarC[1,2] NA 2.95620939 NA !!!
ACEvc.VarC[1,3] NA 28.06732694 NA !!!
ACEvc.VarC[1,4] -0.2443061 0.23255753 0.7557620
ACEvc.VarC[1,5] -0.4037859 0.07312901 0.4885879
ACEvc.VarC[1,6] 0.5736126 0.69431346 0.8287777
To investigate missing CIs, run summary() again, with verbose=T, to see CI details.

Model Statistics:
| Parameters | Degrees of Freedom | Fit (-2lnL units)
Model: 6 518 3404.776
Saturated: NA NA NA
Independence: NA NA NA
Number of observations/statistics: 262/524

Information Criteria:
| df Penalty | Parameters Penalty | Sample-Size Adjusted
AIC: 2368.7757 3416.776 3417.105
BIC: 520.3732 3438.186 3419.163
CFI: NA
TLI: 1 (also known as NNFI)
RMSEA: 0 [95% CI (NA, NA)]
Prob(RMSEA <= 0.05): NA
To get additional fit indices, see help(mxRefModels)
timestamp: 2020-06-18 11:22:32
Wall clock time: 0.559001 secs
optimizer: NPSOL
OpenMx version number: 2.17.2

Replied on Mon, 06/22/2020 - 03:57
No user picture. valentinav Joined: 06/15/2020

In reply to by AdminRobK

Thank you for your answer!

Sorry, the script is now attached.
I red the other answer, but it seems unlikely in my case since the lower CI is -0.24 and the estimate is 0.23.
If it would be positive (0.24) it would not be a lover bound CI.

If this is not usual, I suspect there could be an issue in the script.

File attachments
Replied on Sun, 06/28/2020 - 16:01
Picture of user. AdminRobK Joined: 01/24/2014

In reply to by valentinav

OK, now that I can see your script, I can see that it's not a matter of sign indeterminacy, and that your script does allow negative variance components:

# Create Matrices for Variance Components
covA <- mxMatrix( type="Symm", nrow=nv, ncol=nv, free=TRUE, values=sVa, label="VA11", name="VA" )
covC <- mxMatrix( type="Symm", nrow=nv, ncol=nv, free=TRUE, values=sVa, label="VC11", name="VC" )
covE <- mxMatrix( type="Symm", nrow=nv, ncol=nv, free=TRUE, values=sVe, label="VE11", name="VE" )

So...what's the problem here?

Replied on Mon, 06/29/2020 - 10:41
No user picture. valentinav Joined: 06/15/2020

In reply to by AdminRobK

Thanks very much for the answer?

No real problem I guess, I was using this script but I was not sure whether I used it correctly.
Do you know how to modify this so that I do not get negative estimates?

Also, do you have knowledge of material I can study to be able to manipulate better the script? I have already read the OpenMx tutorial present in this website.

Thanks again!

Replied on Mon, 06/29/2020 - 13:58
Picture of user. AdminRobK Joined: 01/24/2014

In reply to by valentinav

Do you know how to modify this so that I do not get negative estimates?

Something like this:

# Create Matrices for Variance Components
covA <- mxMatrix( type="Symm", nrow=nv, ncol=nv, free=TRUE, values=sVa, lbound=diag(0,nv), label="VA11", name="VA" )
covC <- mxMatrix( type="Symm", nrow=nv, ncol=nv, free=TRUE, values=sVa, lbound=diag(0,nv), label="VC11", name="VC" )
covE <- mxMatrix( type="Symm", nrow=nv, ncol=nv, free=TRUE, values=sVe, lbound=diag(1e-4,nv), label="VE11", name="VE" )

But, there are statistical consequences of setting lower bounds like that. See this other post, as well as the post it links.

Also, do you have knowledge of material I can study to be able to manipulate better the script?

I guess maybe the demos at Hermine Maes' site, or in the 'demo' directory of the OpenMx source repository (you can clone the repo to your local machine).

Replied on Mon, 06/22/2020 - 06:19
Picture of user. tbates Joined: 07/31/2009

From the variance estimates for A, C, and E (labelled "VA11", "VC11", and "VE11"), we can see that these data have only E...

e.g. asking `umxAPA` to work out the CI from the estimate and SE for A, we get:


umxAPA(9.4010395, 10.84553399)

β = 9.4 [-11.86, 30.66]

The standardized A, C, E reflect this. So, standardized A = 0.23 [-.24, .76]

Given you've got a decent size sample, either something was done wrong in creating the MZ and DZ datasets, or the trait is genuinely a random number.

probably could clarify this script somewhat to avoid having matrix "VC" (for shared environmental variance), and algebra "VC" (for variance components) and row names "VC" (for variance component) with column names duplicated...

Replied on Fri, 06/26/2020 - 04:21
No user picture. valentinav Joined: 06/15/2020

In reply to by tbates

Hi!

Thanks for the answer!
So from these results the only things that matter is E? which does not make sense to me..

I did not get this sentence " probably could clarify this script somewhat to avoid having matrix "VC" (for shared environmental variance), and algebra "VC" (for variance components) and row names "VC" (for variance component) with column names duplicated..." do you think this might be causing the issue?