Attachment | Size |
---|---|
commands used to illustrate mxCI() nor producing the intervals [6] | 2.95 KB |
mxCI() not providing the confidence intervals
I implemented the PARAFAC (exploratory Parallel Factor Analysis) model on a relatively simple example of two factors that each affect all six variables and that have non-parallel profiles of (factor) variances across a pair of conditions. My code (provided below) works well, except it does not produce the required confidence intervals. I think ML derived CI’s most useful to spot models that happen to be unidentified, which would be the case in PARAFAC if the factor variance profiles happened to actually be proportional across conditions. My question is: What am I missing about mxCI()?
OpenMx version: 2.18.1 [GIT v2.18.1]
R version: R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32
Default optimizer: SLSQP
NPSOL-enabled?: No
OpenMP-enabled?: No
In the code in the attached file, the mxModel objects P2 and P2r (before and after running) include the expected $intervals specifications but P2r does not seem to carry the intervals. Certainly, summary(P2r) does not report these.
The code defines two functions, one that creates the covariance matrices, here for two independent conditions, and one that implements PARAFAC (here for orthogonal factors, since correlated factors require at least three conditions for model identification). It then creates the data (object P) where one factor has variance of 2.08 and 3.08 in the two conditions while the other factor has variance 1.74 in each condition. The factor variances of 2.08 and 1.74 in condition 1 are those that produce the data correlation matrix, since the approach I am implementing scales the data in each condition by the means and standard deviations of the variables obtained in condition 1. The code below then gets the model (P2) and runs it to obtain the output P2r. Most comments and some variable names (e.g. 'titre' for 'title') are in French, but that should not impede comprehension. The following fails to provide the CI's.
vF1 <- c(2.08, 3.08)
vF2 <- c(1.74,1.74)
P <- fct2(vF1,vF2)
P2<-PARFCT(P,"PARAFAC_Example")
P2r <- mxRun(P2)
summary(P2r)
Summary of PARAFAC_Example , gr 1 a 2
free parameters:
name matrix row col Estimate
1 F11 PARAFAC_Example_1.A 1 1 0.69929937
2 F12 PARAFAC_Example_1.A 2 1 0.69929956
3 F13 PARAFAC_Example_1.A 3 1 0.69929983
4 F14 PARAFAC_Example_1.A 4 1 0.29970072
5 F15 PARAFAC_Example_1.A 5 1 0.29970046
6 F16 PARAFAC_Example_1.A 6 1 0.29970062
7 F21 PARAFAC_Example_1.A 1 2 0.09989919
8 F22 PARAFAC_Example_1.A 2 2 0.19979935
9 F23 PARAFAC_Example_1.A 3 2 0.29969900
10 F24 PARAFAC_Example_1.A 4 2 0.69929902
11 F25 PARAFAC_Example_1.A 5 2 0.79919932
12 F26 PARAFAC_Example_1.A 6 2 0.89909918
13 E1 PARAFAC_Example_1.U 1 1 0.49900034
14 E2 PARAFAC_Example_1.U 2 2 0.46906060
15 E3 PARAFAC_Example_1.U 3 3 0.41915974
16 E4 PARAFAC_Example_1.U 4 4 0.41916014
17 E5 PARAFAC_Example_1.U 5 5 0.26945998
18 E6 PARAFAC_Example_1.U 6 6 0.09979993
19 PARAFAC_Example_2.V[1,1] PARAFAC_Example_2.V 1 1 1.00000038
20 PARAFAC_Example_2.V[2,2] PARAFAC_Example_2.V 2 2 1.21686861
Std.Error A lbound ubound
1 0.04480739 0
2 0.05726203
3 0.07450717
4 0.15843717
5 0.18011823
6 0.20200567
7 0.13104163 0
8 0.13155408
9 0.13209237
10 0.06641628
11 0.06730594
12 0.06872903
13 0.03592151
14 0.03275167
15 0.02931945
16 0.02161594
17 0.01861318
18 0.01892141
19 0.06244518 0
20 0.06150312 0
Model Statistics:
| Parameters | Degrees of Freedom | Fit (-2lnL units)
Model: 20 16 3235.938
Saturated: NA NA NA
Independence: NA NA NA
Number of observations/statistics: 1000/36
Information Criteria:
| df Penalty | Parameters Penalty | Sample-Size Adjusted
AIC: NA NA NA
BIC: NA NA NA
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: 2021-06-03 22:10:37
Wall clock time: 0.1176848 secs
optimizer: SLSQP
OpenMx version number: 2.18.1
Need help? See help(mxSummary)