5 votos

Incoherente delta.chisq.escala utilizando Lavaan y semTools?

Recientemente he estado usando Lavaan y semTools para la prueba de medición de la invariancia en el análisis factorial confirmatorio (CFA) modelos y me di cuenta de una (aparente) inconsistencia en un cálculo que me confundió. Cuando se utiliza el "measurementInvariance" comando de semTools a prueba de modelos anidados (mediante MLR), el test de la chi-cuadrado de la diferencia de valor (delta.chisq.escalada) no es el mismo que cuando usted extraer manualmente el ajuste estadístico de cada modelo y restar. También no coincide con la diferencia en la no-escala de chi-cuadrado de los valores. Me estoy perdiendo algo acerca de cómo se calcula?

He dado un ejemplo a continuación, utilizando los datos de demostración de Lavaan. Gracias por adelantado!

require(lavaan)
require(semTools)
HW.model <- 
 'visual =~ x1 + x2 + x3
 textual =~ x4 + x5 + x6
 speed =~ x7 + x8 + x9
 '
out<-measurementInvariance(HW.model, data=HolzingerSwineford1939, estimator = "MLR",group="school")
modelDiff<-compareFit(out)
summary(modelDiff, fit.measures="all")

Los valores resultantes son:

  1. measurementinvariance comando de chi-cuadrado (a escala) diff = 6.567
  2. manual de la resta de los extraídos de la chi-cuadrado (a escala) valores = 4.25
  3. manual de la resta de las extracciones de no-escala de chi-cuadrado valores = 7.68

¿Alguien sabe por qué los valores de elemento de la lista 1 y 2 anteriores se diferencian?

6voto

Mario Puntos 1

Gracias a Jeremy Millas para que me lleva a la clave. Yo necesitaba dividir la escala de chi-cuadrado de la diferencia por la escala de corrección. Como se describe en statsmodel.com:

Los siguientes son los pasos necesarios para calcular el chi-cuadrado de la diferencia de prueba en Mplus utilizando el MLM (Satorra-Bentler), MLR, y WLSM de chi-cuadrado. DIFFTEST debe ser utilizado para MLMV y WLSMV. El modelo anidado es el más restrictivo modelo con más grados de libertad que el modelo de comparación.

Calcular la diferencia de la prueba de escala de corrección de cd, donde d0 es los grados de libertad en el modelo anidado, c0 es la escala factor de corrección para el modelo anidado, d1 son los grados de libertad en el modelo de comparación, y c1 es la escala factor de corrección para el modelo de comparación. Asegúrese de utilizar el factor de corrección dado en la salida para la H0 modelo. cd = (d0 * c0 - d1*c1)/(d0 - d1) Calcular el Satorra-Bentler escala de chi-cuadrado de la diferencia de la prueba de TRd de la siguiente manera: TRd = (T0*c0 - T1*c1)/cd donde T0 y T1 son los negocios MULTINIVEL, MLR, o WLSM chi-cuadrado de los valores de la anidados y de un modelo de comparación, respectivamente. Para MLM y MLR los productos T0*c0 y T1*c1 son los mismos que los correspondientes ML de chi-cuadrado de los valores.

ACTUALIZACIÓN (6/18/14): parece que en lavaan ahora puede especificar simplemente "MLM" como su estimador y, a continuación, se calculará la SB de la chi-cuadrado de la diferencia para usted cuando usted hace una comparación mediante análisis de VARIANZA.

Por Ejemplo:

require(lavaan)

HS.model <-  'visual  =~ x1 + x2 + x3
                  textual =~ x4 + x5 + x6
                  speed   =~ x7 + x8 + x9 
                  visual + textual + speed ~ grade
                 textual + speed ~ visual'
fit <- cfa(HS.model, data=HolzingerSwineford1939, estimator="MLM", group="sex")
fitb <- cfa(HS.model, data=HolzingerSwineford1939, estimator="MLM", group="sex", group.equal="regressions")
anova(fit, fitb)

Usted puede extraer/calcular otra escala de ajuste estadístico de las diferencias de informe haciendo lo siguiente:

T1<-fitMeasures(fit)[c("cfi.scaled", "rmsea.scaled", "aic")]
T2<-fitMeasures(fit.b)[c("cfi.scaled", "rmsea.scaled", "aic")]
x<-round(T2-T1, digits=3)

NOTA: El AIC no está a escala y no cambia cuando MLM es usado, pero me gusta tener todas las estadísticas de mi informe, de modo que es por eso que está en el código que he proporcionado.

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