6 votos

¿Cómo interpretar los índices de ajuste del modelo generados por lavaan (en R)? ¿Hay algún problema con las especificaciones del modelo?

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?

11voto

Brandon Grossutti Puntos 140

Parece que se trata de un modelo en el que (casi) todo se retrotrae a todo lo demás.

Tienes 5 variables en tu modelo. Eso significa que tienes 10 covarianzas.

Tienes 10 parámetros.

La df del modelo es igual a (número de covarianzas) - (número de parámetros). Esto es cero. El modelo se describe como saturado, y no está probando nada. Como no está probando nada, los índices de ajuste son todos perfectos. (Esto tendrá sentido si mira las fórmulas para los índices de ajuste - un chi-cuadrado cero debería dar estos índices de ajuste).

¿Qué quiere decir con simular un modelo? Si no quieres que el ajuste sea perfecto, añade algunas restricciones. Por lo general, se limita a cero.

Así que sí, tiene que ver con la especificación del modelo. Es un modelo inusual para probarlo con un SEM, pero si ese es el modelo que quieres probar, ese es tu modelo. Si quieres hacerlo más comprobable, tienes que añadir una variable que sea una posible causa de una variable, pero no de las otras. Por ejemplo, el apoyo social podría influir en el estrés, pero no debería incfuir (directamente) en la enfermedad, y quizás tampoco en las otras. Si añade el apoyo social, y pone una flecha desde el apoyo social SOLO al estrés, añadirá 6 covarianzas al modelo, pero solo añadirá 1 df. Por lo tanto, su modelo tendrá 5 df, y el ajuste ya no será perfecto.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X