gif

Teoría

Los Modelos de Ecuaciones Estructurales (SEM) Es una técnica de análisis de estadística multivariada, que permite analizar patrones complejos de relaciones entre variables, realizar comparaciones entre e intra grupos, 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 7° y 8° grado de dos escuelas (Pasteur y Grand-White).

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

Instalar paquetes y librerías

library(lavaan)
## This is lavaan 0.6-17
## lavaan is FREE software! Please report any bugs.
library(lavaanPlot)
#Lavaan = Latent variable analysis

Importar la base de datos

df1 <- HolzingerSwineford1939

Entender la base de datos

summary(df1)
##        id             sex            ageyr        agemo       
##  Min.   :  1.0   Min.   :1.000   Min.   :11   Min.   : 0.000  
##  1st Qu.: 82.0   1st Qu.:1.000   1st Qu.:12   1st Qu.: 2.000  
##  Median :163.0   Median :2.000   Median :13   Median : 5.000  
##  Mean   :176.6   Mean   :1.515   Mean   :13   Mean   : 5.375  
##  3rd Qu.:272.0   3rd Qu.:2.000   3rd Qu.:14   3rd Qu.: 8.000  
##  Max.   :351.0   Max.   :2.000   Max.   :16   Max.   :11.000  
##                                                               
##          school        grade             x1               x2       
##  Grant-White:145   Min.   :7.000   Min.   :0.6667   Min.   :2.250  
##  Pasteur    :156   1st Qu.:7.000   1st Qu.:4.1667   1st Qu.:5.250  
##                    Median :7.000   Median :5.0000   Median :6.000  
##                    Mean   :7.477   Mean   :4.9358   Mean   :6.088  
##                    3rd Qu.:8.000   3rd Qu.:5.6667   3rd Qu.:6.750  
##                    Max.   :8.000   Max.   :8.5000   Max.   :9.250  
##                    NA's   :1                                       
##        x3              x4              x5              x6        
##  Min.   :0.250   Min.   :0.000   Min.   :1.000   Min.   :0.1429  
##  1st Qu.:1.375   1st Qu.:2.333   1st Qu.:3.500   1st Qu.:1.4286  
##  Median :2.125   Median :3.000   Median :4.500   Median :2.0000  
##  Mean   :2.250   Mean   :3.061   Mean   :4.341   Mean   :2.1856  
##  3rd Qu.:3.125   3rd Qu.:3.667   3rd Qu.:5.250   3rd Qu.:2.7143  
##  Max.   :4.500   Max.   :6.333   Max.   :7.000   Max.   :6.1429  
##                                                                  
##        x7              x8               x9       
##  Min.   :1.304   Min.   : 3.050   Min.   :2.778  
##  1st Qu.:3.478   1st Qu.: 4.850   1st Qu.:4.750  
##  Median :4.087   Median : 5.500   Median :5.417  
##  Mean   :4.186   Mean   : 5.527   Mean   :5.374  
##  3rd Qu.:4.913   3rd Qu.: 6.100   3rd Qu.:6.083  
##  Max.   :7.435   Max.   :10.000   Max.   :9.250  
## 
str(df1)
## 'data.frame':    301 obs. of  15 variables:
##  $ id    : int  1 2 3 4 5 6 7 8 9 11 ...
##  $ sex   : int  1 2 2 1 2 2 1 2 2 2 ...
##  $ ageyr : int  13 13 13 13 12 14 12 12 13 12 ...
##  $ agemo : int  1 7 1 2 2 1 1 2 0 5 ...
##  $ school: Factor w/ 2 levels "Grant-White",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ grade : int  7 7 7 7 7 7 7 7 7 7 ...
##  $ x1    : num  3.33 5.33 4.5 5.33 4.83 ...
##  $ x2    : num  7.75 5.25 5.25 7.75 4.75 5 6 6.25 5.75 5.25 ...
##  $ x3    : num  0.375 2.125 1.875 3 0.875 ...
##  $ x4    : num  2.33 1.67 1 2.67 2.67 ...
##  $ x5    : num  5.75 3 1.75 4.5 4 3 6 4.25 5.75 5 ...
##  $ x6    : num  1.286 1.286 0.429 2.429 2.571 ...
##  $ x7    : num  3.39 3.78 3.26 3 3.7 ...
##  $ x8    : num  5.75 6.25 3.9 5.3 6.3 6.65 6.2 5.15 4.65 4.55 ...
##  $ x9    : num  6.36 7.92 4.42 4.86 5.92 ...

Tipos de Fórmulas

  1. Regresión (~) Variable que depende de otras.
  2. Variables Latentes (=~) No se observa, se infiere.
  3. Varianzas y covarianzas (~~) Relaciones entre variables latentes y observadas (Varianza entre sí misma, Covarianza entre otras).
  4. Intercepto (~1) Valor esperado cuando las demás variables son cero.

Estructurar de modelo

modelo1 <- ' # Regresiones
            # Variables Latentes
            visual =~ x1 + x2 + x3
            textual =~ x4 + x5 + x6
            velocidoad =~ x7 + x8 + x9
            # Varianzas y Covarianzas
            # 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
##   velocidoad =~                                       
##     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
##     velocidoad        0.262    0.056    4.660    0.000
##   textual ~~                                          
##     velocidoad        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
##     velocidoad        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: Calif. de 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: Calif. de 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 e 1960

Importar base de datos

df2 <- PoliticalDemocracy
LS0tCnRpdGxlOiAiTW9kZWxvcyBkZSBFY3VhY2lvbmVzIEVzdHJ1Y3R1cmFsZXMgIgphdXRob3I6ICJUYW5pYSBPcnRlZ2EiCmRhdGU6ICIyMDI0LTAyLTIyIgpvdXRwdXQ6IAogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IFRSVUUKICAgIHRvY19mbG9hdDogVFJVRQogICAgY29kZV9kb3dubG9hZDogVFJVRQotLS0KIVtnaWZdKGVzY3VlbGEuZ2lmKQoKIyBUZW9yw61hIApMb3MgKipNb2RlbG9zIGRlIEVjdWFjaW9uZXMgRXN0cnVjdHVyYWxlcyAoU0VNKSoqIEVzIHVuYSB0w6ljbmljYSBkZSBhbsOhbGlzaXMgZGUgZXN0YWTDrXN0aWNhIG11bHRpdmFyaWFkYSwgcXVlIHBlcm1pdGUgYW5hbGl6YXIgcGF0cm9uZXMgY29tcGxlam9zIGRlIHJlbGFjaW9uZXMgZW50cmUgdmFyaWFibGVzLCByZWFsaXphciBjb21wYXJhY2lvbmVzIGVudHJlIGUgaW50cmEgZ3J1cG9zLCB5IHZhbGlkYXIgbW9kZWxvcyB0ZcOzcmljb3MgeSBlbXDDrXJpY29zLiAKCiMgRWplbXBsbyAxLiBFc3R1ZGlvIGRlIEhvbHppbmdlciB5IFN3aW5lZm9yZCAoMTkzOSkKIyMgQ29udGV4dG8KSG9semluZ2VyIHkgU3dpbmVmb3JkIHJlYWxpemFyb24gZXjDoW1lbmVzIGRlIGhhYmlsaWRhZCBtZW50YWwgYSBhZG9sZXNjZW50ZXMgZGUgN8KwIHkgOMKwIGdyYWRvIGRlIGRvcyBlc2N1ZWxhcyAoUGFzdGV1ciB5IEdyYW5kLVdoaXRlKS4gCgpMYSBiYXNlIGRlIGRhdG9zIGVzdMOhIGluY2x1aWRhIGNvbW8gcGFxdWV0ZSBlbiBSLCBlIGluY2x1eWUgbGFzIHNpZ3VpZW50ZXMgY29sdW1uYXM6ICAKKiBzZXg6IGfDqW5lcm8gKDE9bWFsZSwgMj1mZW1hbGUpCiogeDE6IFBlcmNlcGNpw7NuIHZpc3VhbCAgICAgICAKKiB4MjogSnVlZ28gY29uIGN1Ym9zICAgICAgICAgICAgIAoqIHgzOiBKdWVnbyBjb24gcGFzdGlsbGFzL2VzcGFjaWFsICAgICAgICAKKiB4NDogQ29tcHJlbnNpw7NuIGRlIHDDoXJyYWZvcyAgICAgICAKKiB4NTogQ29tcGxldGFyIG9yYWNpb25lcyAgICAgICAKKiB4NjogU2lnbmlmaWNhZG8gZGUgcGFsYWJyYXMgICAgICAgCiogeDc6IFN1bWFzIGFjZWxlcmFkYXMgICAgICAgIAoqIDh4OiBDb250ZW8gYWNlbGVyYWRvIGRlIHB1bnRvcyAgICAgICAgCiogeDk6IERpc2NyaW1pbmFjacOzbiBhY2VsZXJhZGEgZGUgbWF5w7pzY3VsYXMgcmVjdGFzIHkgY3VydmFzICAgICAgICAKU2UgYnVzY2EgaW5kZW50aWZpY2FyIGxhcyByZWxhY2lvbmVzIGVudHJlIGxhcyBoYWJpbGlkYWRlcyB2aXN1YWwgKHgxLCB4MiwgeDMpLCB0ZXh0dWFsICh4NCx4NSx4NiksIHkgdmVsb2NpZGFkICh4Nyx4OCx4OSkKCiMjIEluc3RhbGFyIHBhcXVldGVzIHkgbGlicmVyw61hcyAKYGBge3J9CmxpYnJhcnkobGF2YWFuKQpsaWJyYXJ5KGxhdmFhblBsb3QpCiNMYXZhYW4gPSBMYXRlbnQgdmFyaWFibGUgYW5hbHlzaXMKYGBgCgojIyBJbXBvcnRhciBsYSBiYXNlIGRlIGRhdG9zCmBgYHtyfQpkZjEgPC0gSG9semluZ2VyU3dpbmVmb3JkMTkzOQpgYGAKCiMjIEVudGVuZGVyIGxhIGJhc2UgZGUgZGF0b3MKYGBge3J9CnN1bW1hcnkoZGYxKQpzdHIoZGYxKQpgYGAKCiMjIFRpcG9zIGRlIEbDs3JtdWxhcwoxLiBSZWdyZXNpw7NuICh+KSBWYXJpYWJsZSBxdWUgZGVwZW5kZSBkZSBvdHJhcy4gICAgICAgIAoyLiBWYXJpYWJsZXMgTGF0ZW50ZXMgKD1+KSAgTm8gc2Ugb2JzZXJ2YSwgc2UgaW5maWVyZS4gICAgICAgICAgICAgICAgICAgICAgICAKMy4gVmFyaWFuemFzIHkgY292YXJpYW56YXMgKH5+KSBSZWxhY2lvbmVzIGVudHJlIHZhcmlhYmxlcyBsYXRlbnRlcyB5IG9ic2VydmFkYXMgKFZhcmlhbnphIGVudHJlIHPDrSBtaXNtYSwgQ292YXJpYW56YSBlbnRyZSBvdHJhcykuICAgICAgIAo0LiBJbnRlcmNlcHRvICh+MSkgVmFsb3IgZXNwZXJhZG8gY3VhbmRvIGxhcyBkZW3DoXMgdmFyaWFibGVzIHNvbiBjZXJvLiAgCgojIyBFc3RydWN0dXJhciBkZSBtb2RlbG8KYGBge3J9Cm1vZGVsbzEgPC0gJyAjIFJlZ3Jlc2lvbmVzCiAgICAgICAgICAgICMgVmFyaWFibGVzIExhdGVudGVzCiAgICAgICAgICAgIHZpc3VhbCA9fiB4MSArIHgyICsgeDMKICAgICAgICAgICAgdGV4dHVhbCA9fiB4NCArIHg1ICsgeDYKICAgICAgICAgICAgdmVsb2NpZG9hZCA9fiB4NyArIHg4ICsgeDkKICAgICAgICAgICAgIyBWYXJpYW56YXMgeSBDb3ZhcmlhbnphcwogICAgICAgICAgICAjIEludGVyY2VwdG8KICAgICAgICAgICAgJwpgYGAKCiMjIEdlbmVyYXIgZWwgQW7DoWxpc2lzIEZhY3RvcmlhbCBDb25maXJtYXRvcmlvIChDRkEpCmBgYHtyfQpmaXQgPC0gY2ZhKG1vZGVsbzEsIGRmMSkKc3VtbWFyeShmaXQpCmxhdmFhblBsb3QoZml0LCBjb2VmPSBUUlVFLCBjb3Y9VFJVRSkKYGBgCgojIEVqZXJjaWNpbyAyOiBEZW1vY3JhY2lhIFBvbMOtdGljYSBlIEluZHVzdHJhbGl6YWNpw7NuIAoKIyMgQ29udGV4dG8KTGEgYmFzZSBkZSBkYXRvcyBjb250aWVuZSBkaXN0aW50YXMgbWVkaWNpb25lcyBzb2JyZSBsYSBkZW1vY3JhY2lhIHBvbMOtdGljYSBlIGluZHVzdHJhbGl6YWNpw7NuIGVuIHBhw61zZXMgZW4gZGVzYXJyb2xsbyBkdXJhbnRlIDE5NjAgeSAxOTY1LiAgICAgICAKCkxhIHRhYmxhIGluY2x1eWUgbG9zIHNpZ3VpZW50ZXMgZGF0b3M6ICAgICAgICAKKiB5MTogQ2FsaWYuIGRlIGxpYmVydGFkIGRlIHByZW5zYSBlbiAxOTYwICAgICAgIAoqIHkyOiBMaWJlcnRhZCBkZSBsYSBvcG9zaWNpw7NuIHBvbMOtdGljYSBlbiAxOTYwICAgICAgIAoqIHkzOiBJbXBhcmNpYWxpZGFkIGRlIGVsZWNjaW9uZXMgZW4gMTk2MCAgICAgICAKKiB5NDogRWZpY2FjaWEgZGUgbGEgbGVnaXNsYXR1cmEgZWxlY3RhIGVuIDE5NjAgICAgICAgCiogeTU6IENhbGlmLiBkZSBsaWJlcnRhZCBkZSBwcmVuc2EgZW4gMTk2NSAgICAgICAgICAgICAgIAoqIHk2OiBMaWJlcnRhZCBkZSBsYSBvcG9zaWNpw7NuIHBvbMOtdGljYSBlbiAxOTY1ICAgICAgIAoqIHk3OiBJbXBhcmNpYWxpZGFkIGRlIGVsZWNjaW9uZXMgZW4gMTk2NSAgICAgICAKKiB5ODogRWZpY2FjaWEgZGUgbGEgbGVnaXNsYXR1cmEgZWxlY3RhIGVuIDE5NjUgICAgICAgCiogeDE6IFBJQiBwZXIgY8OhcGl0YSBlbiAxOTYwICAgICAgICAKKiB4MjogQ29uc3VtbyBkZSBlbmVyZ8OtYSBpbmFuaW1hZGEgcGVyIGPDoXBpdGEgZW4gMTk2MCAgICAgICAgICAgICAgCiogeDM6IFBvcmNlbnRhamUgZGUgbGEgZnVlcnphIGxhYm9yYWwgZW4gbGEgaW5kdXN0cmlhIGUgMTk2MCAgICAgICAgICAKCgojIyBJbXBvcnRhciBiYXNlIGRlIGRhdG9zCmBgYHtyfQpkZjIgPC0gUG9saXRpY2FsRGVtb2NyYWN5CmBgYAoK