Taller 3_SEM_Arciniegas_J

Author

Jair Arciniegas

Información general

Clase: SEM Taller: 3 Preparado por: Jair Arciniegas

El taller busca:

  1. Ajustar un modelo de medición (tres factores) y un modelo estructural.

  2. Evaluar el ajuste global mediante la prueba χ2 y los índices CFI y TLI.

  3. Graficar el diagrama de caminos con etiquetas estandarizadas.

  4. Interpretar brevemente los resultados obtenidos.

Punto 1

A continuación se presentan la preparación del entorno, que describe las librerías que se utilizarán en el taller.

Mostrar código
rm(list = ls())


library(lavaan) # Ajuste del modelo
library(semPlot) # Diagramas de caminos
library(lavaanPlot) # Alternativa para diagramas

Punto 2

Lectura de los datos, que de acuerdo con lo descrito en las instrucciones contiene información de N = 500 estudiantes sobre nueve variables observadas relacionadas con Ajuste, Riesgo y Rendimiento Académico.

Mostrar código
dat <-read.csv('https://stats.idre.ucla.edu/wp-content/uploads/2021/02/worland5.csv')
dim(dat) # Dimensiones del conjunto de datos
[1] 500   9
Mostrar código
names(dat) # Nombres de las variables
[1] "motiv"  "harm"   "stabi"  "ppsych" "ses"    "verbal" "read"   "arith" 
[9] "spell" 

Tal como describe el enunciado, se observa que el conjunto de datos contiene 500 observaciones y 9 variables.

Punto 3

Siguiedo las pautas entregadas, a continuación se presenta la definición del modelo:

Mostrar código
Mod1 <- '
#MOdelo de medición
    adjust =~ motiv+ harm+ stabi
    risk   =~ verbal+ ses+ ppsych
    achieve=~ read+ arith+ spell
#Modelo estructural
    adjust ~risk
    achieve ~ adjust + risk
'

#Estimación
mod_sem <- sem(Mod1, data = dat)

Punto 4

Con base en los resultados de la estimación del modelo presentada a continuación se presentan las respuestas a las preguntas guía.

Mostrar código
summary(mod_sem, standardized=T)# incluir solución estandarizada
lavaan 0.6-19 ended normally after 112 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        21

  Number of observations                           500

Model Test User Model:
                                                      
  Test statistic                               148.982
  Degrees of freedom                                24
  P-value (Chi-square)                           0.000

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  adjust =~                                                             
    motiv             1.000                               9.324    0.933
    harm              0.884    0.041   21.774    0.000    8.246    0.825
    stabi             0.695    0.043   15.987    0.000    6.478    0.648
  risk =~                                                               
    verbal            1.000                               7.319    0.733
    ses               0.807    0.076   10.607    0.000    5.906    0.591
    ppsych           -0.770    0.075  -10.223    0.000   -5.636   -0.564
  achieve =~                                                            
    read              1.000                               9.404    0.941
    arith             0.837    0.034   24.437    0.000    7.873    0.788
    spell             0.976    0.028   34.338    0.000    9.178    0.919

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  adjust ~                                                              
    risk              0.599    0.076    7.837    0.000    0.470    0.470
  achieve ~                                                             
    adjust            0.375    0.046    8.085    0.000    0.372    0.372
    risk              0.724    0.078    9.253    0.000    0.564    0.564

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .motiv            12.870    2.852    4.512    0.000   12.870    0.129
   .harm             31.805    2.973   10.698    0.000   31.805    0.319
   .stabi            57.836    3.990   14.494    0.000   57.836    0.580
   .verbal           46.239    4.788    9.658    0.000   46.239    0.463
   .ses              64.916    4.975   13.048    0.000   64.916    0.650
   .ppsych           68.033    5.068   13.425    0.000   68.033    0.682
   .read             11.372    1.608    7.074    0.000   11.372    0.114
   .arith            37.818    2.680   14.109    0.000   37.818    0.379
   .spell            15.560    1.699    9.160    0.000   15.560    0.156
   .adjust           67.694    6.066   11.160    0.000    0.779    0.779
    risk             53.561    6.757    7.927    0.000    1.000    1.000
   .achieve          30.685    3.449    8.896    0.000    0.347    0.347

4.1. ¿Rechaza la prueba \(\chi^2\) la hipótesis de buen ajuste al nivel \(\alpha\) = 0,05?

Las métricas del modelo se presentan en la siguientes salidas del modelo. Puntualmente, se observa que se rechaza la hipótesis de la prueba \(\chi^2\) (que tiene como \(Ho: \Sigma = \Sigma(\theta)\) ), con un p-valor <0.001, por lo que se argumenta que el modelo hipotetizado no representa adecuadamente lo propuesto.

4.2. ¿Cómo interpretaría los valores de CFI y TLI obtenidos? Utilice la regla empírica de > ,95 (excelente) y > ,90 (aceptable).

Mostrar código
fitMeasures(mod_sem, c("cfi", "tli"))
  cfi   tli 
0.951 0.927 

El CFI y el TLI indican, un ajuste adecuado del modelo tomando valores de 0.951 y 0.927, respectivamente. Es decir que según la regla empírica, desde la perspectiva del CFI el modelo es excelente y desde la perspectiva del TLI es aceptable. Estos resultados contradicen lo encontrado por la prueba \(\chi^2\), sin embargo frente a esta vale la pena destacar que ante tamaños muestrales grandes, la prueba tiende a rechazar la hipótesis nula de buen ajuste, incluso cuando el modelo es adecuado, considerando que por definición el estadístico de esta prueba es sensible ante grandes valores de N, magnificando el resultado de la función de discrepacia.

Por lo que se recomienda complementar la interpretación de la prueba con los índices CFI y TLI.

4.3. Dos parámetros estandarizados cuya magnitud o signo resulte clave para la teoría.

Frente a los modelos de medición se destaca un patrón que puede ser intuitivo:

  • Las variables observadas que le heredan la escala de medición suelen ser las de mayor correlación.
    • Por ejemplo en el caso del modelo de la variable adjust la carga factorial de motiv en la solución completamente estandarizada[SCE] (Std.all) fue de 0.933 1, así mismo para el factor risk la carga factorial de verbal en la SCE fue de 0.733 y para el factor achieve la carga factorial read presentó un valor en la SCE de 0.941.
    • En todos estos casos las polaridades de estos coeficientes fueron de natura positiva, lo que indica aumentos en las variables observadas conllevan aumentos en las variables latentes.
    • Particularmente, la única variable observada que se asocia con una reducción en el factor risk es la variable ppsych con un coeficiente estandarizado negativo, lo que indica que a medida que aumenta el puntaje en esta variable, disminuye el riesgo. En este caso un aumento en 1 unidad en adjust se traduce en una disminución de 0.770 puntos en risk.
  • En el modelo estructural que explica a la variable latente exógena achieve, se observa que un incremento de 1 unidad en la variable latente endógena adjust se traslada en un incremento de 0.372 desviaciones estándar de achieve 2.
  • De su parte, en el modelo estructural que explica a la variable latente endógena adjust, se observa que un incremento de 1 unidad en la variable latente endógena risk se traslada en un incremento de 0.470 desviaciones estándar de adjust.

Punto 5

A continuación se presenta el diagrama de caminos del modelo estimado empleando la librería semPlot, con etiquetas estandarizadas.

Mostrar código
semPaths(mod_sem,
         whatLabels = 'std', # coeficientes estandarizados
         layout= 'tree', # disposición sugerida
         edge.label.cex = 0.8, # tama~no de texto en flechas
         residuals = FALSE) # oculta errores de medida

Una alternativa está dada por la librería lavaanPlot, que permite graficar el modelo de una manera más amigable, sin embargo, no permite incluir los errores de medida.

Mostrar código
lavaanPlot2(model=mod_sem,
           #stars = c("latent"),
           graph_options = list(rankdir = 'TB'),#de arriba hacia abajo
           node_options = list( fontname = "Helvetica"),
           edge_options = list(color = "cornflowerblue"),
           coef_labels = F,
           #stand = TRUE
           )

Footnotes

  1. Esta se lee como una correlación, señalando una alta asociación positiva entre *dichas adjust y motiv.↩︎

  2. nótese que la variable latente risk heredó la escala de la variable verbal.↩︎