Estoy tratando de replicar un modelo SEM de análisis de trayectoria utilizando Lavaan en R, y estaba muy confundido acerca de los resultados que dio con respecto a las estadísticas de ajuste del modelo.
El código es el siguiente:
#Import Package
library(lavaan)
#Input Correlation Matrix
sigma <- matrix(c(1.00, -0.03, 0.39, -0.05, -0.08,
-0.03, 1.00, 0.07, -0.23, -0.16,
0.39, 0.07, 1.00, -0.13, -0.29,
-0.05, -0.23, -0.13, 1.00, 0.34,
-0.08, -0.16 ,-0.29, 0.34, 1.00), nr=5, byrow=TRUE)
rownames(sigma) <-c("Exercise", "Hardiness", "Fitness", "Stress", "Illness")
colnames(sigma) <-c("Exercise", "Hardiness", "Fitness", "Stress", "Illness")
#Create Covariance Matrix
sdevs <-c(66.5, 3.8, 18.4, 6.7, 624.8)
covmax <- cor2cov(sigma, sdevs)
as.matrix(covmax)
#Specify Model
mymodel<-'Illness ~ Exercise + Fitness
Illness ~ Hardiness + Stress
Fitness ~ Exercise + Hardiness
Stress ~ Exercise + Hardiness + Fitness
Exercise ~~ Exercise
Hardiness ~~ Hardiness
Exercise ~~ Hardiness'
#Fit the model with the covariance matrix
N = 363
fit.path <-sem(mymodel,sample.cov=covmax, sample.nobs=N, fixed.x=FALSE)
#Summary of the model fit
summary(fit.path, fit.measures = TRUE)
Y la salida que obtengo es la siguiente:
lavaan (0.5-12) converged normally after 93 iterations
Number of observations 37300
Estimator ML
Minimum Function Test Statistic 0.000
Degrees of freedom 0
P-value (Chi-square) 1.000
Model test baseline model:
Minimum Function Test Statistic 16594.387
Degrees of freedom 10
P-value 0.000
Full model versus baseline model:
Comparative Fit Index (CFI) 1.000
Tucker-Lewis Index (TLI) 1.000
Loglikelihood and Information Criteria:
Loglikelihood user model (H0) -882379.005
Loglikelihood unrestricted model (H1) -882379.005
Number of free parameters 15
Akaike (AIC) 1764788.009
Bayesian (BIC) 1764915.910
Sample-size adjusted Bayesian (BIC) 1764868.240
Root Mean Square Error of Approximation:
RMSEA 0.000
90 Percent Confidence Interval 0.000 0.000
P-value RMSEA <= 0.05 1.000
Standardized Root Mean Square Residual:
SRMR 0.000
Parameter estimates:
Information Expected
Standard Errors Standard
Estimate Std.err Z-value P(>|z|)
Regressions:
Illness ~
Exercise 0.318 0.048 6.640 0.000
Fitness -8.835 0.174 -50.737 0.000
Hardiness -12.146 0.793 -15.321 0.000
Stress 27.125 0.451 60.079 0.000
Fitness ~
Exercise 0.109 0.001 82.602 0.000
Hardiness 0.396 0.023 17.211 0.000
Stress ~
Exercise -0.001 0.001 -2.614 0.009
Hardiness -0.393 0.009 -44.332 0.000
Fitness -0.040 0.002 -19.953 0.000
Covariances:
Exercise ~~
Hardiness -7.581 1.309 -5.791 0.000
Variances:
Exercise 4422.131 32.381
Hardiness 14.440 0.106
Illness 318744.406 2334.012
Fitness 284.796 2.085
Stress 41.921 0.307
Estas son mis preguntas:
-
¿Por qué la chi-cuadrado dice que no hay grados de libertad?
-
¿Por qué los valores p son exactamente 1? ¿Por qué el CFI y el TLI son exactamente 1?
-
¿Por qué el RMSEA es 0?
-
¿Qué tendría que hacer para simular un modelo más realista que no parezca artificialmente "perfecto"?
-
¿Tiene que ver con la especificación del modelo?