# Nueva base con variables de volatilidad nuevas.
# leer base panel
<- read_excel("C:/Users/diego/Documents/FLACSO/Tesis Maestría/Jalisco municipios V.xlsx",4)
base names(base)
# factor
$alt <- as.factor(base$alt)
baselevels(base$alt) <- c("No", "Sí")
$urbano <- as.factor(base$urbano)
baselevels(base$urbano) <- c("Interior", "Metropolitano")
$altac <- as.factor(base$altac) base
Taller R para Ciencias Sociales - Sesión 3
Flacso - México
Sesión 3 - Comparaciones cuantitativas entre categías (Chi^2, T-test, ANOVA)
En esta sesión se introducirá el siguiente contenido:
- Estadístico de prueba .
- Estadístico de prueba .
- Análisis de Varianza ().
Cargamos la base de volatilidad electoral en las elecciones de Jalisco para el periodo entre 2006 y 2018 y se realizan las transformaciones necesarias a las variables de tipo categóricas -de numeric
a factor
-.
Prueba de independencia Chi-cuadrada
La prueba de independencia chi-cuadrada sirve para probar independencia de la distribución de observaciones para una característica A en categorías por una carecterística B. De manera paralela a la prueba de proporción de éxitos, establece una hipótesis nula sobre una tasa de éxito de (A) repartida de manera aleatoria entre las categorías (B). Sin embargo, a diferencia de la prueba Z que compara una dstribución de probabilidad bajo la hipótesis nula frente a una distribución probable de la estimación dada su media y su desviación, la prueba del estadísitco toma los valores acumulados de éxitos en los grupos y los contrasta con los valors esperados dada .
El cálculo del estadístico requiere de un cálculo de valores esperados de éxitos por categoría:
donde:
es el número total de filas.
es el número total de columnas.
es el número total de celdas en la tabla de contingencia.
A partir del Valor Esperado obtenido con las caracterísiticas de la tabla de contingencia se hace el cálculo referido de la contrastación entre valores esperados en las celdas con los valores realmente observados. Esto tiene forma en el cálculo del Residuo de Pearson (R), que mide el grado en que los recuentos difieren entre sí.
El valor del estadístico se compone de la agregación de los residuos de Pearson. La fórmula de la prueba es la siguiente:
La distribución del estadístico de prueba Chi^2 esta cargada hacia la izquierda, además de que la comparación de nuestro valor obtenido frente a un valor teórico depende de los grados de libertad. Entre mayor sea el valor del estadístico obtenido, mayor será la probabilidad de rechazar la hipótesis nula. A continuación se presenta una gráfica de una distribución con , con la respectiva prueba del estadístico donde
A continuación se ponen a prueba las hipótesis de independencia entre la condición rural/urbano de los municipios y la prescencia de alternancia en las elecciones municipales, tomando el argumento de que la urbanización de los municipios es un catalizador para la alternancia. Las hipótesis son las siguientes:
H0 = La prescencia de alternancia en las elecciones locales es independiente de la condición de urbanización de los municipios.
H1 = La prescencia de alternancia en las elecciones locales no es independiente de la condición de urbanización de los municipios.
De esta forma, se crea una tabla de contingencia con ambas variables y se procede a ser una prueba de con su respectiva coprobación de .
Interior Metropolitano Sum
No 208 13 221
Sí 272 7 279
Sum 480 20 500
# A tibble: 4 × 5
# Groups: urbano [2]
alt urbano n total prop
<fct> <fct> <int> <int> <dbl>
1 No Interior 208 480 0.433
2 No Metropolitano 13 20 0.65
3 Sí Interior 272 480 0.567
4 Sí Metropolitano 7 20 0.35
#prueba de chi^2
chisq.test(table(base$alt,base$urbano))
Pearson's Chi-squared test with Yates' continuity correction
data: table(base$alt, base$urbano)
X-squared = 2.8288, df = 1, p-value = 0.09259
#comprobamos el p-valor
pchisq(q = 2.8288, df = 1)*(-1))+1 (
[1] 0.09258752
La prueba obtuvo un valor de 2.8, que en términos de probabilidad acumulada corresponde a un de .09 bajo una distribución con , por lo que rechazamos la hipótesis nula de independencia entre la característica rural/urbano de los municipios y la prescencia de alternancia política.
Boxplot y eveluación de valores continuos dentro de categorías
Para comparar la distribución de una variable numérica entre categorías se puede recurrir a un Gráfico de Cajas. El gráfico de cajas -y bigotes- permite observar la distribución de la variable continua a partir de su mediana y de sus cuartiles. En este sentido, las líneas de las cajas representan la mediana (Q2) y los cuartiles más cercanos al centro (Q1 y Q3). Los bigotes representan alguna relación del rango intercuartílico. Adicionalmente, es posible observar observaciones individuales que salen de la distribución central de los datos como puntos fuera de las cajas y bigotes.
A manera de ejemplo, se realiza un gráfico de cajas con la Volatilidad Electoral observada en los municipios de Jalisco de acuerdo a si hubo o no Alternancia como resultado de la elección. A continuación se presentan dos maneras alternativas de construir gráficos de cajas a partir de la librería car
y tidiverse
.
[1] "86.1919517760775" "84.0130651545614" "76.1958592225511" "67.6281741475885"
[5] "66.0463231860036"
Del gráfico anterior es posible concluir que la volatilidad electoral medida entre ambos grupos no es muy distinta entre sí. Destacan los en el grupo de los municipios donde se hubo alternancia, que registran los valores más altos de volatilidad electoral.
Prueba de diferencia de medias
Para darle certeza estadística a la comparación de valores entre grupos, se utiliza una prueba de Diferencia de Medias o prueba de estadístico t. La función de este test es comparar la distribución de una variable continua en dos categorías asumiendo una distribución normal. El fundamento de esta prueba es comparar la distribución posible de la estimación de la diferencia crea un gráfico que representa la comparación entre una distribución bajo hipótesis nula (en azul) y una distribución de una diferecnia significativa hipotética (rojo).
La fórmula para la prueba del estadístico t se compone de la razón entre la estimación de la diferecnia de las medias entre los grupos sobre la varianza de dentro de los mismos. La fórmula es la siguiente:
donde el error estándar es:
El resultado es un valor de prueba t que se compara con un valor crítico de la distribución probable de la diferencia dada la hipótesis nula (diferencia entre grupos igual a cero). A continuación se presenta una prueba de diferencia de medias para los valores de l volatilidad electoral observada en los municipios de Jalisco categorizados por si tuvieron o no alternancia como resultado de la elección. Las hipótesis son las siguientes:
H0 (una cola) = El nivel de volatilidad electoral observado es igual o menor en las elecciones locales que tuvieron la prescencia de alternancia al de los municipios sin alternancia.
H0 (dos cola) = El nivel de volatilidad electoral observado es igual en las elecciones locales que tuvieron la prescencia de alternancia al de los municipios sin alternancia.
H1 = El nivel de volatilidad electoral observado es mayor en las elecciones locales que tuvieron la prescencia de alternancia.
#Test de diferencia de medias con t.test() de variables de salida continuas en dos categorias
#por defecto toma la diferencia Control (1) - Tratamiento (0)
#(ver el singo del estádistico de prueba)
#Entonces, Ha: Tratamiento > Control se convierte en Control - Tratamiento < 0
## lo que nos coloca en la cola izquierda de la distribución
#con datos de la misma base
t.test(vt ~ alt, data = base, alternative = "less") # una cola
Welch Two Sample t-test
data: vt by alt
t = -2.7257, df = 497.99, p-value = 0.003322
alternative hypothesis: true difference in means between group No and group Sí is less than 0
95 percent confidence interval:
-Inf -1.233449
sample estimates:
mean in group No mean in group Sí
24.21349 27.33295
t.test(vt ~ alt, data = base) # dos colas
Welch Two Sample t-test
data: vt by alt
t = -2.7257, df = 497.99, p-value = 0.006643
alternative hypothesis: true difference in means between group No and group Sí is not equal to 0
95 percent confidence interval:
-5.3680547 -0.8708556
sample estimates:
mean in group No mean in group Sí
24.21349 27.33295
De ambas pruebas (una y dos colas) se concluye que la diferencia entre los grupos es significativa. El estadístico de prueba t es idéntico en ambas pruebas, sin embargo el es distitno dado el valor de prueba definido de manera distinta para cada una de las pruebas. Bajo esta lógica, la estimación de las medias de cada grupo es la misma, y la estimación de los intervalos de confianza difiere en el mismo sentido.
Comparación de una variable continua en varias categorías
Un gráfico de violín sigue el mismo principio de un gráfico de cajas pero nos ofrece información adicional: la forma de la distribución a partir de un gráfico de densidad sobrepuesto a la distribución representada en las cajas. A continuación se realiza un gráfico de cajas y violines con la librería tidyverse
.
La prueba ANOVA o Análisis de Varianza (Analysis of Variance) permite probar la existencia de diferencias significativas de una variable continua en grupos distintos bajo el supuesto de una distribución normal de la variable. Existen dos maneras de realizar una prueba ANOVA. La primera es a partir de una prueba de independencia por permutaciones, y la segunda a través de una prueba por estadístico -F test-.
La prueba por permutaciones realiza una serie de asignaciones aleatorias de la variable continua entre los grupos un número determinado de veces. Posterior al proceso de remuestreo, se toma la varianza de entre las medias de los grupos creados y se contrasta la probabilidad de observar un valor igual o mayor a la varianza registrada en los grupos originales. Esta probabilidad es registrada como el de la prueba.
A continuación se realiza una prueba ANOVA por permutaciones para probar diferencias significativas entre la volatilidad electoral observada en las elecciones municipales y los grupos de municipios categorizados por su distinta cantidad de alternancias acumuladas en el periodo. Las hipótesis son las siguientes:
H0 = No existe diferencia entre el nivel de volatilidad electoral observado en las elecciones locales entre los grupos de municipios clasificados por la cantidad de alternancias acumuladas registradas en el periodo.
H1 = Existe diferencia entre el nivel de volatilidad electoral observado en las elecciones locales entre los grupos de municipios clasificados por la cantidad de alternancias acumuladas registradas en el periodo.
#Permutaciones(ANOVA)
#ANOVA por permutaciones (lmPerm) para descartar independencia
<- aovp(vt ~ altac, data = base) anovai
[1] "Settings: unique SS "
anovai
Call:
aovp(formula = vt ~ altac, data = base)
Terms:
altac Residuals
Sum of Squares 7409.67 78711.51
Deg. of Freedom 4 495
Residual standard error: 12.61004
Estimated effects may be unbalanced
summary(anovai)
Component 1 :
Df R Sum Sq R Mean Sq Iter Pr(Prob)
altac 4 7410 1852.42 5000 < 2.2e-16 ***
Residuals 495 78712 159.01
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
De la prueba de 5000 iteraciones de la asignación aleatoria a grupos y su posterior comparación de varianza, se estima que la probabilidad de observar en las permutaciones una varianza entre grupos igual o superior a la varianza observada en la realidad es de , lo que permite descartar la hipótesis nula de que la distribución de la variable continua es invariable a la categorización de los datos.
Prueba F (F-test)
La segunda forma de realizar una prueba ANOVA es a partir de un F-test. La ecuación que fundamenta al Análisis de Varianza se compone de la varianza obtenida a partir de la regresión de la variable numérica entre las categorías en términos de la razón entre la suma de cuadrados. La lógica fundamental de la prueba F es la razón de la varianza media entre los grupos sobre la varianza media dentro de los grupos. La suma de ambas varianzas es equivalente a la varianza total. Lo anterior se expresa de la siguiente manera:
donde: es el valor de cada observación. es la media de los valores de las observaciones. es la estimación para cada observación.
Cada término puede entenderse por separado como:
La suma total de cuadrados -Total Sum of Squares-:
La varianza entre los grupos -Between Sum of Squares- (suma de cuadrados de la regresión):
La varianza dentro de los grupos -Within Sum of Squares- (suma del cuadrado de los residuales):
En este sentido, la prueba del estadístico F es la razón de la media de la variación entre los grupos sobre la media de la variación dentro de los grupos:
donde: es el número de grupos menos 1 es el número de observaciones menos el número de grupos
El estadístico de prueba F obtenido de esta razón entre las medias de las varianzas se contrasta con un valor de una distribución F bajo hipótesis nula (donde la varianza entre los grupos es menor en relación a la varianza dentro de los mismos). De esta distribución F nula se toma la probabilidad de rechazar que la verdadera dsitribución del estadítico de prueba tenga la misma forma que la distribución bajo hipótesis nula. A continuación se presenta una gráfica para ejemplificar una prueba de estadístico F suponiendo y donde se rechaza la hipótesis nula.
A continuación se genera una simulación de una distribución de una variable continua entre grupos, donde sólo uno de los grupos presenta una distribución distinta. Se presenta también un gráfico de cajas para ilustrar las distribuciones de los datos simulados en las categorías y se realiza una prueba ANOVA sobre los resultados de un modelo de regresión simple para analizar la estimación de la diferencia entre los grupos.
#simulación
<- tibble(categorica = c(rep("01", 40),
simulacion rep("02", 40),
rep("03", 40),
rep("04", 40)),
continua = c(rnorm(n = 40, mean = 15, sd = 3),
rnorm(n = 40, mean = 15, sd = 3),
rnorm(n = 40, mean = 15, sd = 3),
rnorm(n = 40, mean = 25, sd = 5)))
%>%
simulacion ggplot(mapping = aes(categorica, continua)) +
geom_boxplot()
<- lm(simulacion$continua ~ simulacion$categorica)
modeloSimul
summary(modeloSimul)
Call:
lm(formula = simulacion$continua ~ simulacion$categorica)
Residuals:
Min 1Q Median 3Q Max
-22.3723 -2.2214 -0.1074 2.2470 8.4544
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 14.5587 0.6196 23.498 <2e-16 ***
simulacion$categorica02 0.7843 0.8762 0.895 0.372
simulacion$categorica03 1.3196 0.8762 1.506 0.134
simulacion$categorica04 11.5990 0.8762 13.237 <2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 3.919 on 156 degrees of freedom
Multiple R-squared: 0.6003, Adjusted R-squared: 0.5926
F-statistic: 78.11 on 3 and 156 DF, p-value: < 2.2e-16
anova(modeloSimul)
Analysis of Variance Table
Response: simulacion$continua
Df Sum Sq Mean Sq F value Pr(>F)
simulacion$categorica 3 3598.0 1199.34 78.106 < 2.2e-16 ***
Residuals 156 2395.4 15.36
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
De la simulación puede observarse como únicamente el grupo cuatro tiene una media distinta al resto de los grupos. Esto se ve reflejado en el resultado de la regresión, donde se estima una diferencia cercana al valor real de la diferencia entre las medias de los grupos. Esta diferencia es solo significativa para el grupo cuatro. A pesar de esto, la prueba ANOVA también permite rechazar la hipótesis nula, pero no da infoirmación respecto de la cuáles grupos son distintos de otros.
A continuación se presenta la prueba ANOVA con su respectivo modelo de regresión con la función anova()
para la prueba de diferencia de valores de volatilidad electoral observada entre municipios con distintas cantidades de alternancias acumuladas en el periodo. Las hipótesis son las mismas que en el modelo de ANOVA por permutaciones:
H0 = No existe diferencia entre el nivel de volatilidad electoral observado en las elecciones locales entre los grupos de municipios clasificados por la cantidad de alternancias acumuladas registradas en el periodo.
H1 = Existe diferencia entre el nivel de volatilidad electoral observado en las elecciones locales entre los grupos de municipios clasificados por la cantidad de alternancias acumuladas registradas en el periodo.
#ANOVA por estadístico F para estimar valores
#ANOVA F-statistic
#Prueba de diferencia de medias de una variable continua en más de dos categorías
#F statistic es la razón entre la variación de la diferencia de medias entre grupos y la variación del error residual.
# Análisis de varianza (H0 = las diferencias entre grupos se deben a un reparto aleatorio de datos con una distribución normal entre las categorías)
<- lm(base$vt ~ base$altac)
modelo summary(modelo)
Call:
lm(formula = base$vt ~ base$altac)
Residuals:
Min 1Q Median 3Q Max
-26.302 -8.917 -1.339 6.777 55.696
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 23.3994 1.2486 18.741 < 2e-16 ***
base$altac1 -0.5095 1.5450 -0.330 0.74174
base$altac2 4.9178 1.6416 2.996 0.00287 **
base$altac3 10.7789 2.0516 5.254 2.22e-07 ***
base$altac4 6.6621 5.2973 1.258 0.20911
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 12.61 on 495 degrees of freedom
Multiple R-squared: 0.08604, Adjusted R-squared: 0.07865
F-statistic: 11.65 on 4 and 495 DF, p-value: 4.764e-09
anova(modelo)
Analysis of Variance Table
Response: base$vt
Df Sum Sq Mean Sq F value Pr(>F)
base$altac 4 7410 1852.42 11.649 4.764e-09 ***
Residuals 495 78712 159.01
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Una forma alternartiva de realizar la prueba ANOVA es con el comando aov()
.
#Prueba de análisis de varianza (ANOVA) (comparación de más de dos muestras)
<- aov(vt ~ altac, data = base)
anova1 anova1
Call:
aov(formula = vt ~ altac, data = base)
Terms:
altac Residuals
Sum of Squares 7409.67 78711.51
Deg. of Freedom 4 495
Residual standard error: 12.61004
Estimated effects may be unbalanced
summary(anova1)
Df Sum Sq Mean Sq F value Pr(>F)
altac 4 7410 1852 11.65 4.76e-09 ***
Residuals 495 78712 159
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Esta forma alternativa no permite analizar las diferencias entre las estimaciones de cada una de las categorías para analizar cuáles son los grupos que presentan diferedncias significativas entre sí porque no parte de un modelo de regresión.