Teoria

Los Modelos de Ecuaciones Estructurares (SEM) es una tecninca de analisis de estadistica multivariada, que permite analizar patrones complejos de relaciones entre variables, realizar comparaciones entre e intragrupos, y valida modelos teoricos y empiricos.

Ejemplo 1. Estudio de Holzinger y Swineford (1939)

Contexto

Holdiznger y Swineford realizaron examenes de habilidade mental a adolescentes de 7mo y 8vo de dos escuelas (Pasteur y Grand-White).

La base de datos esta incluida como paquete en R, e Incluye las siguientes columnas:

  • Sex: Genero (1 = male, 2, female)
  • x1: Percepcion visual
  • x2: Juego de cubos
  • x3: Juevo con pastillas/espacial
  • x4: Comprension de parrafos
  • x5: Completar oraciones
  • x6: Significado de palabras
  • x7: Sumas aceleradas
  • x8: Conteo acelerado de puntos
  • x9: Discriminacion acelerada de mauiscilas rectas y curvas

Se busca identifical las relaciones entre las habilidades visual (x1, x2, x3), textual (x4, x5, x6) y velocidad (x7, x8, x9) de los adolescentes

Practica:
* verbigracia: ejemplo
* ex libris: sello para libros
* aquelarre: reunion de brujas
* beodo: borracho
* carpe diem: aprovecha el dia

Instalar paquetes y llamar librerias

#install.packages("lavaan")
library(lavaan)
## This is lavaan 0.6-19
## lavaan is FREE software! Please report any bugs.
# Lavaan: Analisis de variables latenetes
#install.packages("lavaanPlot")
library(lavaanPlot)
library(readxl)

df1 <- HolzingerSwineford1939
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 ...
modelo1 <- ' #Regresiones 
              # Variables latentes 
              Visual =~ x1 + x2 + x3
              Textual =~ x4 + x5 + x6
              Velocidad =~ x7 + x8 + x9
              # Varianzas y covarianzas
              Visual ~~ Textual
              Textual ~~ Velocidad
              Velocidad ~~ Visual
              #Intercepto
              '
sem1 <- sem(modelo1, data = df1)
summary(sem1)
## lavaan 0.6-19 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
##   Textual ~~                                          
##     Velocidad         0.173    0.049    3.518    0.000
##   Visual ~~                                           
##     Velocidad         0.262    0.056    4.660    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(sem1, coef= TRUE, cov = TRUE)

Tipos de formula

  1. Refresion (~) Variable que depende de otras.
  2. Variable latenete (=~) No se observa, se infiere
  3. Vairanza y ovarianzas (~~) Relacion entre variable latentes y observadas (Varianza entre si misma, Covarianza entre otras)
  4. Intercepto (~1) Valor esperado cuando las demas variables son 0

codigo base del modelo:

modelo1 <- ’ #Regresiones # Variables latentes # Varianzas y covarianzas #Intercepto ’

En conclusion, la inteligencia de los adolescentes esta compuesta por un grupo de factores que no se reducen a un solo numero.

Ejercicio 1. Democracia Politica e industrilaziacion

Contexto

La base de datos contiene distintas mediciones sobre la democracia politca e industralizacion en paises en desarrollo duratne 1960 y 1965

La tabla incluye los siguientes datos:

  • y1: Calificaciones sobre libertad de prensa en 1960
  • y2: Libertad de la oposicion politca 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 oposicion politca en 1965
  • y7: Imparcialidad de elecciones en 1965
  • y8: Eficacia de la legislatura electa en 1965
  • x1: PIB per capita 1960
  • x2: Consumo de energia inanimada per cadpita en 1960
  • x3: Porcentaje de la fuerza laboral en la industria en 1960
df2 <- PoliticalDemocracy
summary(df2)
##        y1               y2               y3               y4        
##  Min.   : 1.250   Min.   : 0.000   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.: 2.900   1st Qu.: 0.000   1st Qu.: 3.767   1st Qu.: 1.581  
##  Median : 5.400   Median : 3.333   Median : 6.667   Median : 3.333  
##  Mean   : 5.465   Mean   : 4.256   Mean   : 6.563   Mean   : 4.453  
##  3rd Qu.: 7.500   3rd Qu.: 8.283   3rd Qu.:10.000   3rd Qu.: 6.667  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##        y5               y6               y7               y8        
##  Min.   : 0.000   Min.   : 0.000   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.: 3.692   1st Qu.: 0.000   1st Qu.: 3.478   1st Qu.: 1.301  
##  Median : 5.000   Median : 2.233   Median : 6.667   Median : 3.333  
##  Mean   : 5.136   Mean   : 2.978   Mean   : 6.196   Mean   : 4.043  
##  3rd Qu.: 7.500   3rd Qu.: 4.207   3rd Qu.:10.000   3rd Qu.: 6.667  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.000  
##        x1              x2              x3       
##  Min.   :3.784   Min.   :1.386   Min.   :1.002  
##  1st Qu.:4.477   1st Qu.:3.663   1st Qu.:2.300  
##  Median :5.075   Median :4.963   Median :3.568  
##  Mean   :5.054   Mean   :4.792   Mean   :3.558  
##  3rd Qu.:5.515   3rd Qu.:5.830   3rd Qu.:4.523  
##  Max.   :6.737   Max.   :7.872   Max.   :6.425
str(df2)
## 'data.frame':    75 obs. of  11 variables:
##  $ y1: num  2.5 1.25 7.5 8.9 10 7.5 7.5 7.5 2.5 10 ...
##  $ y2: num  0 0 8.8 8.8 3.33 ...
##  $ y3: num  3.33 3.33 10 10 10 ...
##  $ y4: num  0 0 9.2 9.2 6.67 ...
##  $ y5: num  1.25 6.25 8.75 8.91 7.5 ...
##  $ y6: num  0 1.1 8.09 8.13 3.33 ...
##  $ y7: num  3.73 6.67 10 10 10 ...
##  $ y8: num  3.333 0.737 8.212 4.615 6.667 ...
##  $ x1: num  4.44 5.38 5.96 6.29 5.86 ...
##  $ x2: num  3.64 5.06 6.26 7.57 6.82 ...
##  $ x3: num  2.56 3.57 5.22 6.27 4.57 ...
modelo2 <- ' #Regresiones 
              # Variables latentes 
              Democracia1960 =~ y1 + y2 + y3 + y4
              Democracia1965 =~ y5 + y6 + y7 + y8
              Industralizacion =~ x1 + x2 + x3
              # Varianzas y covarianzas
              Democracia1965 ~~ Democracia1960
              Democracia1960 ~~  Industralizacion
              Democracia1965 ~~  Industralizacion
              #Intercepto
              '
sem2 <- sem(modelo2, data = df2)
summary(sem2)
## lavaan 0.6-19 ended normally after 47 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        25
## 
##   Number of observations                            75
## 
## Model Test User Model:
##                                                       
##   Test statistic                                72.462
##   Degrees of freedom                                41
##   P-value (Chi-square)                           0.002
## 
## Parameter Estimates:
## 
##   Standard errors                             Standard
##   Information                                 Expected
##   Information saturated (h1) model          Structured
## 
## Latent Variables:
##                       Estimate  Std.Err  z-value  P(>|z|)
##   Democracia1960 =~                                      
##     y1                   1.000                           
##     y2                   1.354    0.175    7.755    0.000
##     y3                   1.044    0.150    6.961    0.000
##     y4                   1.300    0.138    9.412    0.000
##   Democracia1965 =~                                      
##     y5                   1.000                           
##     y6                   1.258    0.164    7.651    0.000
##     y7                   1.282    0.158    8.137    0.000
##     y8                   1.310    0.154    8.529    0.000
##   Industralizacion =~                                    
##     x1                   1.000                           
##     x2                   2.182    0.139   15.714    0.000
##     x3                   1.819    0.152   11.956    0.000
## 
## Covariances:
##                     Estimate  Std.Err  z-value  P(>|z|)
##   Democracia1960 ~~                                    
##     Democracia1965     4.487    0.911    4.924    0.000
##     Industralizacn     0.660    0.206    3.202    0.001
##   Democracia1965 ~~                                    
##     Industralizacn     0.774    0.208    3.715    0.000
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)
##    .y1                1.942    0.395    4.910    0.000
##    .y2                6.490    1.185    5.479    0.000
##    .y3                5.340    0.943    5.662    0.000
##    .y4                2.887    0.610    4.731    0.000
##    .y5                2.390    0.447    5.351    0.000
##    .y6                4.343    0.796    5.456    0.000
##    .y7                3.510    0.668    5.252    0.000
##    .y8                2.940    0.586    5.019    0.000
##    .x1                0.082    0.020    4.180    0.000
##    .x2                0.118    0.070    1.689    0.091
##    .x3                0.467    0.090    5.174    0.000
##     Democracia1960    4.845    1.088    4.453    0.000
##     Democracia1965    4.345    1.051    4.134    0.000
##     Industralizacn    0.448    0.087    5.169    0.000
lavaanPlot(sem2, coef= TRUE, cov = TRUE) 

Generar modelo

En conclusion, la industralizacion impulsa la democracia, y una democracia estable, tiende a seguir estandolo

Actividad 3. Bienestar de colaboradores

Contexto

Uno de los retos mas importantes de las organizaciones es entender el estado y bienestar de los colaboradores, ya que puede impactar directamente en el desempeño y el logro de los objetivos.

Parte 1. Experiencias de recuperacion