class: front <!--- Para correr en ATOM - open terminal, abrir R (simplemente, R y enter) - rmarkdown::render('static/docpres/07_interacciones/7interacciones.Rmd', 'xaringan::moon_reader') About macros.js: permite escalar las imágenes como [scale 50%](path to image), hay si que grabar ese archivo js en el directorio. ---> .pull-left[ # Encuestas Sociales ## Juan Carlos Castillo ## Sociología FACSO - UChile ## 2do Sem 2022 ## [.green[encuestas-sociales.netlify.com]](https://encuestas-sociales.netlify.com) ] .pull-right[ .right[ <br> ## .yellow[Sesión 10: Baterías de indicadores múltiples: Indices y análisis factorial]  ] ] --- layout: true class: animated, fadeIn --- class: middle center # ¿Por qué usar baterías? --- class: middle center .center[  ] --- class: middle .pull-left-narrow[ # Preguntas y error de medición ] .pull-right-wide[ .content-box-yellow[ - Para medir hechos observables simples usualmente se utiliza **una pregunta** (ej: edad) - Fenómenos complejos se miden en general con más de una pregunta, con el objetivo de dar mejor cuenta del atributo (i.e. minimizar error de medición) ]] --- # Baterías de indicadores múltiples - en general las encuestas suelen incluir varias preguntas respecto de un mismo tema -> .red[baterías de indicadores múltiples] -- - cubren distintos aspectos de un mismo fenómeno complejo que no se agota en solo un indicador -> minimiza .red[error de medición] -- - .red[problema]: ¿cómo se analizan indicadores que están relacionados?¿cómo se muestran los resultados? --- # Análisis de indicadores en baterías .pull-left-narrow[ 1. .red[Univariado]: se sugiere presentar análisis descriptivos que contengan todos los indicadores para poder comparar frecuencias ] .pull-right-wide[ .center[  .small[(likert plot, `sjPlot`)] ] ] --- # Análisis de indicadores en baterías .pull-left-narrow[ 2\. .red[Bivariado]: tablas/gráficos de correlaciones (`corrplot`) ] .pull-right-wide[ .center[  ] ] --- # Análisis de indicadores en baterías - Se podría asumir un concepto o .red[dimensión subyacente] a la batería de items - Para facilitar el avance en el análisis (por ejemplo, relacionar ese concepto subyacente con otras variables), muchas veces se reduce la batería a algún .red[tipo de índice (sumativo/promedio)] - ¿Podemos asegurar que los items están realmente .red[midiendo lo mismo]? --- ## ¿Miden lo mismo? .center[  ] --- # Recordando: Error total de encuesta .center[  ] (Groves et al, 2010, en RATSWD WP 245, 2015) --- class: middle .pull-left-narrow[ # Preguntas y error de medición ] .pull-right-wide[ .content-box-red[ - En este marco se asume que el **indicador es distinto del atributo**, y que la medición del atributo o variable latente conlleva error - Cuando la el atributo se mide con más de una pregunta, se puede intentar estimar la **variable latente** mediante índices o técnicas de **análisis factorial** ]] --- # Medición y error .pull-left[ .center[  ] ] .pull-right[ - antes de agrupar indicadores en un índice hay que evaluar si los indicadores se encuentran relacionados - -> si miden constructos similares - -> si la medición es .red[confiable] ] --- class: inverse center <br> .content-box-red[ ## .red[¿Cómo estimar el nivel de relación entre indicadores que miden un mismo constructo?] ] -- ### Distintas maneras, pero todas se basan en la técnica de la .red[correlación] --- # Bases correlación - varianza `$$\sigma^2 = \frac{\sum_{i=1}^{n}(x_i - \bar{x})^2} {n-1}=\frac{\sum_{i=1}^{n}(x_i - \bar{x})(x_i - \bar{x})} {n-1}$$` - covarianza `$$cov(x,y) = \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})} {n-1}$$` --- # Correlación `$$r= \frac{\sum_{i=1}^{n}(x_i - \bar{x})(y_i - \bar{y})} {(n-1)\sigma_x \sigma_y }$$` - medida estandarizada de asociación entre variables continuas - varía entre -1 y 1 - mientras más cercana a |1|, mayor es la correlación entre dos variables --- .pull-left-narrow[ <br> <br> <br> # Correlación ] .pull-right-wide[ .center[  ]] --- class: inverse bottom right ## .red[Correlaciones, baterías y dimensiones subyacentes] --- # Matriz de correlaciones (1) .center[  Matriz hipotética de indicadores que miden un mismo constructo ] --- # Ej. Matriz de correlaciones (2) .center[  Matriz hipotética de indicadores que miden constructos independientes ] --- # Ej. Matriz de correlaciones (3) .center[  Matriz hipotética de variables que miden dos constructos independientes] --- class: inverse ## .yellow[Entonces:] ### 1. analizar la .red[matriz de correlaciones] antes de generar cualquiér técnica de reducción de información (ej: crear índice) ### 2. evaluar la posibilidad de generación algún tipo de .red[índice] que resuma la información --- # Datos ejemplo - batería atribuciones de pobreza, encuesta "Desigualdad, Justicia y Participación Política" - FONDECYT Iniciación 11121203 (2013-2015) [Social justice and citizenship participation](https://jc-castillo.com/project/fondecyt-iniciacion/) .center[  ] --- ``` r load("input/data/data-proc.Rdata") descr(data) ``` .small[ | |var |label | n| NA.prc| mean| sd|range | |:--|:-------|:----------------------------------|----:|--------:|--------:|--------:|:-------| |2 |falthab |Razones pobreza falta de habilidad | 1228| 1.365462| 2.630293| 1.254220|4 (1-5) | |3 |malasue |Razones pobreza mala suerte | 1227| 1.445783| 2.019560| 1.140079|4 (1-5) | |1 |faltesf |Razones pobreza falta de esfuerzo | 1238| 0.562249| 3.155897| 1.290758|4 (1-5) | |4 |sisecon |Razones pobreza sistema económico | 1218| 2.168675| 4.036946| 1.095047|4 (1-5) | |5 |siseduc |Razones pobreza sistema educativo | 1227| 1.445783| 4.088835| 1.088767|4 (1-5) | ] --- ## Gráfico barras frecuencia porcentual ``` r plot_stackfrq(data) ``` <!-- --> --- ## Ajustando dimensiones ```` ```{r echo=TRUE, fig.height=5, fig.width=12} plot_stackfrq(data) ``` ```` .center[ <!-- --> ] --- ## Ajustes adicionales .medium[ ```` ```{r echo=TRUE, fig.height=5, fig.width=12} plot_stackfrq(data, sort.frq = "last.desc", geom.colors = "OrRd") + theme(legend.position="bottom") ``` ```` ] .center[ <!-- --> ] --- ## Matriz de correlaciones ``` r cormat <- cor(data) cormat ``` ``` ## falthab malasue faltesf sisecon siseduc ## falthab 1 NA NA NA NA ## malasue NA 1 NA NA NA ## faltesf NA NA 1 NA NA ## sisecon NA NA NA 1 NA ## siseduc NA NA NA NA 1 ``` Esta función no resulta ya que requiere que no existan casos perdidos --- ## Matriz de correlaciones Entonces: ``` r cormat <- cor(na.omit(data)) cormat ``` ``` ## falthab malasue faltesf sisecon siseduc ## falthab 1.000000000 0.31793357 0.36246039 -0.02787884 -0.005893529 ## malasue 0.317933565 1.00000000 0.16936872 0.02755708 0.013865045 ## faltesf 0.362460395 0.16936872 1.00000000 -0.06579454 -0.020114542 ## sisecon -0.027878843 0.02755708 -0.06579454 1.00000000 0.593625639 ## siseduc -0.005893529 0.01386504 -0.02011454 0.59362564 1.000000000 ``` --- ## Matriz de correlaciones (Formato publicable) .tiny[ ``` r tab_corr(data) ``` <table style="border-collapse:collapse; border:none;"> <tr> <th style="font-style:italic; font-weight:normal; border-top:double black; border-bottom:1px solid black; padding:0.2cm;"> </th> <th style="font-style:italic; font-weight:normal; border-top:double black; border-bottom:1px solid black; padding:0.2cm;">Razones pobreza falta de habilidad</th> <th style="font-style:italic; font-weight:normal; border-top:double black; border-bottom:1px solid black; padding:0.2cm;">Razones pobreza mala suerte</th> <th style="font-style:italic; font-weight:normal; border-top:double black; border-bottom:1px solid black; padding:0.2cm;">Razones pobreza falta de esfuerzo</th> <th style="font-style:italic; font-weight:normal; border-top:double black; border-bottom:1px solid black; padding:0.2cm;">Razones pobreza sistema económico</th> <th style="font-style:italic; font-weight:normal; border-top:double black; border-bottom:1px solid black; padding:0.2cm;">Razones pobreza sistema educativo</th> </tr> <tr> <td style="font-style:italic;">Razones pobreza falta de habilidad</td> <td style="padding:0.2cm; text-align:center;"> </td> <td style="padding:0.2cm; text-align:center;">0.318<span style="vertical-align:super;font-size:0.8em;">***</span></td> <td style="padding:0.2cm; text-align:center;">0.362<span style="vertical-align:super;font-size:0.8em;">***</span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">-0.028<span style="vertical-align:super;font-size:0.8em;"></span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">-0.006<span style="vertical-align:super;font-size:0.8em;"></span></td> </tr> <tr> <td style="font-style:italic;">Razones pobreza mala suerte</td> <td style="padding:0.2cm; text-align:center;">0.318<span style="vertical-align:super;font-size:0.8em;">***</span></td> <td style="padding:0.2cm; text-align:center;"> </td> <td style="padding:0.2cm; text-align:center;">0.169<span style="vertical-align:super;font-size:0.8em;">***</span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">0.028<span style="vertical-align:super;font-size:0.8em;"></span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">0.014<span style="vertical-align:super;font-size:0.8em;"></span></td> </tr> <tr> <td style="font-style:italic;">Razones pobreza falta de esfuerzo</td> <td style="padding:0.2cm; text-align:center;">0.362<span style="vertical-align:super;font-size:0.8em;">***</span></td> <td style="padding:0.2cm; text-align:center;">0.169<span style="vertical-align:super;font-size:0.8em;">***</span></td> <td style="padding:0.2cm; text-align:center;"> </td> <td style="padding:0.2cm; text-align:center;">-0.066<span style="vertical-align:super;font-size:0.8em;">*</span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">-0.020<span style="vertical-align:super;font-size:0.8em;"></span></td> </tr> <tr> <td style="font-style:italic;">Razones pobreza sistema económico</td> <td style="padding:0.2cm; text-align:center; color:#999999;">-0.028<span style="vertical-align:super;font-size:0.8em;"></span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">0.028<span style="vertical-align:super;font-size:0.8em;"></span></td> <td style="padding:0.2cm; text-align:center;">-0.066<span style="vertical-align:super;font-size:0.8em;">*</span></td> <td style="padding:0.2cm; text-align:center;"> </td> <td style="padding:0.2cm; text-align:center;">0.594<span style="vertical-align:super;font-size:0.8em;">***</span></td> </tr> <tr> <td style="font-style:italic;">Razones pobreza sistema educativo</td> <td style="padding:0.2cm; text-align:center; color:#999999;">-0.006<span style="vertical-align:super;font-size:0.8em;"></span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">0.014<span style="vertical-align:super;font-size:0.8em;"></span></td> <td style="padding:0.2cm; text-align:center; color:#999999;">-0.020<span style="vertical-align:super;font-size:0.8em;"></span></td> <td style="padding:0.2cm; text-align:center;">0.594<span style="vertical-align:super;font-size:0.8em;">***</span></td> <td style="padding:0.2cm; text-align:center;"> </td> </tr> <tr> <td colspan="6" style="border-bottom:double black; border-top:1px solid black; font-style:italic; font-size:0.9em; text-align:right;">Computed correlation used pearson-method with listwise-deletion.</td> </tr> </table> ] --- ## Matriz de correlaciones - gráfico ``` r corrplot::corrplot(cormat) ``` <!-- --> --- ## Matriz de correlaciones - gráfico ajustado .pull-left-narrow[ .small[ ``` r corrplot::corrplot(cormat, method = "color", addCoef.col = "#000390", type = "upper", tl.col = "black", col=colorRampPalette(c("white","#0068DC"))(8), bg = "white", na.label = "-") ``` ]] .pull-right-wide[ .center[ <!-- --> ] ] --- class: inverse bottom right ## .red[Hacia la construcción de un índice] --- # Alpha de Cronbach - índice de consistencia interna de una batería - varía entre 0 y 1; valores más cercanos a 1 indican mayor consistencia - en general valores sobre 0.6 se consideran aceptables - más información [aquí](https://rpubs.com/jboscomendoza/alfa_cronbach_r#:~:text=El%20Alfa%20de%20Cronbach%20nos,apuntando%E2%80%9D%20en%20la%20misma%20direcci%C3%B3n.)) --- # Alpha de Cronbach .pull-left[ - funcion alpha de la librería `psych` - se genera un objeto (lo llamaremos alpha). Contiene bastante información, por ahora nos enfocaremos solo en el valor de alpha (`raw_alpha`) ] .pull-right[ .small[ ``` r alpha <-psych::alpha(data) ``` ``` ## Some items ( falthab malasue faltesf ) were negatively correlated with the total scale and ## probably should be reversed. ## To do this, run the function again with the 'check.keys=TRUE' option ``` ``` r alpha$total$raw_alpha ``` ``` ## [1] 0.4363206 ``` ] ] --- # Alpha de Cronbach - puntaje 0.43, por lo tanto bajo los valores aceptables de consistencia interna - esto ya se podía anticipar desde la matriz de correlaciones, que aparentemente mostraba dos dimensiones subyacentes a la batería - además, se genera un mensaje de advertencia sobre posibles items codificados a la inversa (dada la correlación entre items de dimensiones distintas) --- # Opciones - construcción de índices basados en la información de la matriz de correlaciones - análisis factorial --- class: inverse bottom right # .red[Construcción de índices] --- # Índice promedio - vamos a generar 2 índices a partir de esta batería: uno para atribución interna (falthab,faltesf,malasue) y otro para externa (sisecon,siseduc) - tema valores perdidos: - para perder el mínimo de casos se recomienda realizar índice aún con casos que no hayan respondido algún item - ya que esto distorsionaría el puntaje si fuera sumado, se hace un índice promedio, especificando que se calcule aún con valores perdidos --- Indice de atribución interna (Promedio) ``` r data <- cbind(data, "interna_prom"=rowMeans(data %>% select(falthab,faltesf,malasue), na.rm=TRUE)) data <- cbind(data, "externa_prom"=rowMeans(data %>% select(sisecon,siseduc), na.rm=TRUE)) names(data) ``` ``` ## [1] "falthab" "malasue" "faltesf" "sisecon" "siseduc" ## [6] "interna_prom" "externa_prom" ``` --- class: inverse # Resumen - baterías y dimensiones subyacentes - evaluación de consistencia interna (previo a construcción de índices) - índices y .red[factores] (prox sesión) --- class: front .pull-left[ # Encuestas Sociales ## Juan Carlos Castillo ## Sociología FACSO - UChile ## 2do Sem 2022 ## [.green[encuestas-sociales.netlify.com]](https://encuestas-sociales.netlify.com) ] .pull-right[ .right[ <br> ## .yellow[Sesión 10: Baterías de indicadores múltiples: Indices y análisis factorial]  ] ]