# ACE model lower CI negative number

8 posts / 0 new
Offline
Joined: 06/15/2020 - 08:45
ACE model lower CI negative number

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.
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 
Offline
Joined: 01/24/2014 - 12:15

Offline
Joined: 06/15/2020 - 08:45

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:
Offline
Joined: 01/24/2014 - 12:15
OK, now that I can see your

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?

Offline
Joined: 06/15/2020 - 08:45
thanks!

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!

Offline
Joined: 01/24/2014 - 12:15
lbounds
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).

Offline
Joined: 07/31/2009 - 14:25
A = 0, C = 0, E = 1

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...

Offline
Joined: 06/15/2020 - 08:45
thanks

Hi!