mxCI working?
Posted on

hi, I have a model to which I add an mxCI as follows
model <- mxModel(fit1a, mxModel(fit1a@submodels$top,mxCI("top.a21"))); fit= mxRun(model, intervals=T);
This runs fine without error, but summary(fit) does not show a CI
> summary(fit) snip... Information Criteria: df Penalty Parameters Penalty Sample-Size Adjusted AIC 887.2424 7439.242 NA BIC -14988.3563 7541.666 7474.97 CFI: Put CFI Forumla Here. TLI: Put TLI Forumla Here. RMSEA: NA timestamp: 2011-05-26 16:52:47
If I ask directly, it is there:
> fit@submodels$top@intervals
$a21
MxInterval
@reference: a21
@lowerdelta: 3.841459
@upperdelta: 3.841459
But doesn't seem to have been calculated...
Is this broken in ?
mxVersion()
[1] "999.0.0-1609"
Will the following
Log in or register to post comments
OK, go ahead and try the
Log in or register to post comments
CIs of A, C, E in bivariate model
I have a very similar problem with calculating the CIs.
I have a bivariate script and I would like to calculate the CIs around the estimates of A, C, and E.
To keep it simple, I wanted to start with the A of phenotype 1 - these are the relevant parts of the skript:
amn <- mxAlgebra(expression=Am[1,1]/Vm[1,1], name="amn")
ConfInt <- mxCI("amn")
# Objectives
MZMObjective <- mxFIMLObjective(covariance="expCovMZM", means="expMeanMZM", dimnames=selVars)
DZMObjective <- mxFIMLObjective(covariance="expCovDZM", means="expMeanDZM", dimnames=selVars)
MZFObjective <- mxFIMLObjective(covariance="expCovMZF", means="expMeanMZF", dimnames=selVars)
DZFObjective <- mxFIMLObjective(covariance="expCovDZF", means="expMeanDZF", dimnames=selVars)
DOSObjective <- mxFIMLObjective(covariance="expCovDOS", means="expMeanDOS", dimnames=selVars)
# Combine Groups
pars <- list(pathAm,pathCm,pathEm,
pathAf,pathCf,pathEf,
pathRados,
covAm,covCm,covEm,covPhm,
covAf,covCf,covEf,covPhf,
matIm,invSDm,corPhm,
matIf,invSDf,corPhf,
grandMeanm,
grandMeanf,
b,Def,DefR,
expMeanMZM,expMeanDZM,expMeanMZF,expMeanDZF,expMeanDOS,
amn,ConfInt)
# Models
MZMmodel <- mxModel("MZMmodel", dataMZM, pars, expCovMZM, MZMObjective)
DZMmodel <- mxModel("DZMmodel", dataDZM, pars, expCovDZM, DZMObjective)
MZFmodel <- mxModel("MZFmodel", dataMZF, pars, expCovMZF, MZFObjective)
DZFmodel <- mxModel("DZFmodel", dataDZF, pars, expCovDZF, DZFObjective)
DOSmodel <- mxModel("DOSmodel", dataDOS, pars, expCovDOS, DOSObjective)
# Objective
min2sumll <- mxAlgebra( expression = MZMmodel.objective + DZMmodel.objective + MZFmodel.objective + DZFmodel.objective + DOSmodel.objective, name="min2sumll" )
objective <- mxAlgebraObjective("min2sumll")
# Cholesky ACE model
CholACEModel <- mxModel("Chol", MZMmodel, DZMmodel, MZFmodel, DZFmodel, DOSmodel, min2sumll,objective)
## Fitting
CholACEFit <- mxRun(CholACEModel, intervals=T)
openMx then provides the correct point estimate of A, but it doesn't give the confidence interval:
> CholACEFit@submodels$MZM@algebras$amn
mxAlgebra 'amn'
@formula: Am[1, 1]/Vm[1, 1]
@result:
[,1]
[1,] 0.5028693
dimnames: NULL
> CholACEFit@submodels$MZM@intervals$amn
MxInterval
@reference: amn
@lowerdelta: 3.841459
@upperdelta: 3.841459
(Same problem when I use the summary function.)
I don't know if this is of any importance, but when I add ConfInt to the CholACEModel
CholACEModel <- mxModel("Chol", MZMmodel, DZMmodel, MZFmodel, DZFmodel, DOSmodel, min2sumll,ConfInt,objective)
I get this error:
Running Chol
Error: Unknown reference to 'amn' detected in a confidence interval specification in model 'Chol' in runHelper(model, frontendStart, intervals, silent, suppressWarnings, unsafe, checkpoint, useSocket, onlyFrontend)
Does any of you recognize the problem?
Any help is very much appreciated!!
Regards
Charlotte
Log in or register to post comments
In reply to CIs of A, C, E in bivariate model by Charlotte
I believe there are two
1. UPDATE: I've tested OpenMx 1.2.4, and we do evaluate the confidence intervals that are specified in the submodels (see script). The CIs will appear in
summary(modelFit)
, or alternatively can be accessed by inspecting the parent model (not the child model) withmodelFit@output$confidenceIntervals
.I can't remember whether we evaluate the confidence intervals that are specified in submodels. We probably should be evaluating confidence intervals that are specified in submodels.In case we are not, try specifying the confidence intervals in the parent model with the following notation:CholACEModel <- mxModel(CholACEModel, mxCI("MZMmodel.amn"),
mxCI("DZMmodel.amn"), mxCI("MZFmodel.amn"), mxCI("DZFmodel.amn"),
mxCI("DOSmodel.amn"))
2. The error message is occurring because there is no "amn" algebra specified in the parent model. Eliminating the 'ConfInt' from the following statement should remove the error:
CholACEModel <- mxModel("Chol", MZMmodel, DZMmodel, MZFmodel, DZFmodel,
DOSmodel, min2sumll,ConfInt,objective)
Log in or register to post comments
In reply to I believe there are two by mspiegel
Hi Michael, Thank you so much
Thank you so much for your fast reply and sorry that I didn't respond immediately.
I ran the skript and I think that it's working fine now.
I've changed the code as follows:
CholACEModel <- mxModel("Chol", MZMmodel, DZMmodel, MZFmodel, DZFmodel, DOSmodel, min2sumll, objective)
CholACEModel <- mxModel(CholACEModel,
mxCI("MZMmodel.amnatt"), mxCI("DZMmodel.amnatt"), mxCI("MZFmodel.amnatt"), mxCI("DZFmodel.amnatt"), mxCI("DOSmodel.amnatt"),
mxCI("MZMmodel.cmnatt"), mxCI("DZMmodel.cmnatt"), mxCI("MZFmodel.cmnatt"), mxCI("DZFmodel.cmnatt"), mxCI("DOSmodel.cmnatt"),
mxCI("MZMmodel.emnatt"), mxCI("DZMmodel.emnatt"), mxCI("MZFmodel.emnatt"), mxCI("DZFmodel.emnatt"), mxCI("DOSmodel.emnatt"),
mxCI("MZMmodel.afnatt"), mxCI("DZMmodel.afnatt"), mxCI("MZFmodel.afnatt"), mxCI("DZFmodel.afnatt"), mxCI("DOSmodel.afnatt"),
mxCI("MZMmodel.cfnatt"), mxCI("DZMmodel.cfnatt"), mxCI("MZFmodel.cfnatt"), mxCI("DZFmodel.cfnatt"), mxCI("DOSmodel.cfnatt"),
mxCI("MZMmodel.efnatt"), mxCI("DZMmodel.efnatt"), mxCI("MZFmodel.efnatt"), mxCI("DZFmodel.efnatt"), mxCI("DOSmodel.efnatt"))
Cheers
Charlotte
Log in or register to post comments