Teoria

Los Modelos de Ecuaciones Estructurales (SEM) es una técnica de análisis de estadística multivariada (o multivariante) que permite analizarpatrones complejos de relaciones entre variables, realizar comparaciones entre intragrupos, y validar modelos teóricos y empíricos.

Ejemplo 1. Estudio de Holzinger y Swineford (1939)

Contexto

Holzinger y Swineford realizaron exámenes de habilidad mental a adolescentes de 7mo y 8vo grado de dos escuelas (Pasteur y Grand White).

La base de datos está incluida como paquete en R e incluye las siguientes columnas:
* id: identificador.
* sex: género (1 = male, 2 = female).
* x1: Percepción visual.
* x2: Juego con cubos.
* x3: Juego con pastillas/espacial.
* x4: Comprensión de parrafos.
* x5: Completar oraciones.
* x6: Significado de palabras.
* x7: Sumas aceleradas.
* x8: Conteo acelerado de puntos.
* x9: Discriminación acelerada de mayúsculas rectas y curvas.

Se busca identificar las relaciones entre las habilidades visuales (x1, x2, x3), textuales (x4, x5, x6) y velocidades (x7, x8, x9) de los adolescentes.

Instalar Paquetes y Llamar Librerías

#install.packages("lavaan")
library(lavaan)
## This is lavaan 0.6-17
## lavaan is FREE software! Please report any bugs.
#install.packages("lavaanPlot")
library(lavaanPlot)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)

Importar la Base de Datos

df1 <- HolzingerSwineford1939

Entender la Base de datos

head(df1)
##   id sex ageyr agemo  school grade       x1   x2    x3       x4   x5        x6
## 1  1   1    13     1 Pasteur     7 3.333333 7.75 0.375 2.333333 5.75 1.2857143
## 2  2   2    13     7 Pasteur     7 5.333333 5.25 2.125 1.666667 3.00 1.2857143
## 3  3   2    13     1 Pasteur     7 4.500000 5.25 1.875 1.000000 1.75 0.4285714
## 4  4   1    13     2 Pasteur     7 5.333333 7.75 3.000 2.666667 4.50 2.4285714
## 5  5   2    12     2 Pasteur     7 4.833333 4.75 0.875 2.666667 4.00 2.5714286
## 6  6   2    14     1 Pasteur     7 5.333333 5.00 2.250 1.000000 3.00 0.8571429
##         x7   x8       x9
## 1 3.391304 5.75 6.361111
## 2 3.782609 6.25 7.916667
## 3 3.260870 3.90 4.416667
## 4 3.000000 5.30 4.861111
## 5 3.695652 6.30 5.916667
## 6 4.347826 6.65 7.500000

Tipos de formulas

  1. Regresión (~) Variable que depende de otras
  2. Variables Latentes (=~) No se observa, se infiere
  3. Varianzas y covarianzas (~~) Miden las relaciones entre las variables anteriores
  4. Intercepto (~1) Valor esperado cuando las demás variables son cero

Estructurar el modelo

modelo1 <- ' #Regresiones
            # Variables latentes
            visual =~ x1 + x2 + x3
            textual =~ x4 + x5 + x6
            velocidad =~ x7 + x8 + x9
            # Varianza y covarianza
            # Intercepto
            '

Generar el Análisis Factorial Confirmatorio (CFA)

fit <- cfa(modelo1, df1)
summary(fit)
## lavaan 0.6.17 ended normally after 35 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        21
## 
##   Number of observations                           301
## 
## Model Test User Model:
##                                                       
##   Test statistic                                85.306
##   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|)
##   visual =~                                           
##     x1                1.000                           
##     x2                0.554    0.100    5.554    0.000
##     x3                0.729    0.109    6.685    0.000
##   textual =~                                          
##     x4                1.000                           
##     x5                1.113    0.065   17.014    0.000
##     x6                0.926    0.055   16.703    0.000
##   velocidad =~                                        
##     x7                1.000                           
##     x8                1.180    0.165    7.152    0.000
##     x9                1.082    0.151    7.155    0.000
## 
## Covariances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##   visual ~~                                           
##     textual           0.408    0.074    5.552    0.000
##     velocidad         0.262    0.056    4.660    0.000
##   textual ~~                                          
##     velocidad         0.173    0.049    3.518    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .x1                0.549    0.114    4.833    0.000
##    .x2                1.134    0.102   11.146    0.000
##    .x3                0.844    0.091    9.317    0.000
##    .x4                0.371    0.048    7.779    0.000
##    .x5                0.446    0.058    7.642    0.000
##    .x6                0.356    0.043    8.277    0.000
##    .x7                0.799    0.081    9.823    0.000
##    .x8                0.488    0.074    6.573    0.000
##    .x9                0.566    0.071    8.003    0.000
##     visual            0.809    0.145    5.564    0.000
##     textual           0.979    0.112    8.737    0.000
##     velocidad         0.384    0.086    4.451    0.000
lavaanPlot(fit, coef = TRUE, cov = TRUE)

Ejercicio 2: Democracia Política e Industralización

Contexto

La base de datos contiene distintas mediciones sobre la democracia política e industralización en países en desarrollo durante 1960 y 1965.

La tabla incluye los siguientes datos:
•⁠ ⁠y1: Calificaciones sobre libertad de prensa en 1960 •⁠ ⁠y2: Libertad de la oposición política en 1960 •⁠ ⁠y3: Imparcialidad de elecciones en 1960 •⁠ ⁠y4: Eficacia de la legislatura electa en 1960 •⁠ ⁠y5: Calificaciones sobre libertad de prensa en 1965 •⁠ ⁠y6: Libertad de la oposición política en 1965 •⁠ ⁠y7: Imparcialidad de elecciones en 1965 •⁠ ⁠y8: Eficacia de la legislatura electa en 1965 •⁠ ⁠x1: PIB per cápita en 1960 •⁠ ⁠x2: Consumo de energía inanimada per cápita en 1960 •⁠ ⁠x3: Porcentaje de la fuerza laboral en la industria en 1960