+ - 0:00:00
Notes for current slide
Notes for next slide

Estadística Correlacional

Asociación, inferencia y reporte


Juan Carlos Castillo

Sociología FACSO - UChile

2do Sem 2023

correlacional.netlify.com

Sesión 9:

Asociación y categóricas

1 / 49

Hasta ahora

  • asociación entre variables continuas / correlación (Unidad 1)

  • inferencia para diferencias y asociaciones (Unidad 2)

3 / 49

Hoy Unidad 3:

Asociación con variables categóricas

4 / 49

Asociación en tablas de contingencia

5 / 49

Escalas de medición de variables

  • NOIR: Nominal, Ordinal, Intervalar, Razón
Tipo Características Propiedad de números Ejemplo
Nominal Uso de números en lugar de palabras Identidad Nacionalidad
Ordinal Números se usan para ordenar series + ranking Nivel educacional
Intervalar Intervalos iguales entre números + igualdad Temperatura
Razón Cero real + aditividad Distancia
6 / 49
  • Nominal: Números empleados como etiquetas (ej. sexo, raza)

    • Ordinales: Distintas categorías puede sen ordenados en serie. Posición, no distancia. (ej. cargos en una empresa)

    • Intervalares: Escalas de unidades iguales. Diferencia entre dos número consecuntivos refleja diferencia empírica. (ej. Horas del día)

    • Razón: caracterizados por la presencia de un cero absoluto. (ej. frecuencias de eventos)

Tipos de datos en relación a escalas de medición.

  • Datos categóricos:

    • pueden ser medidos sólo mediante escalas nominales, u ordinales en caso de orden de rango
  • Datos continuos:

    • Medidos en escalas intervalares o de razón
    • Pueden ser transformados a datos categóricos
7 / 49

Tablas de contingencia o tablas cruzadas

  • Son tablas que presentan la distribución conjunta de dos o más variables

  • Ej. Moore cap 9: recaidas en consumo de cocaina luego de tratar adicción con distintos tratamientos

8 / 49
  • ver temas de frecuencias absolutas, porcentuales y totales por filas o por columnas

Tablas de contingencia y asociación


¿Cómo establecer una medida de asociación de los datos en una tabla de contingencia?

¿Cómo saber si esa asociación es estadísticamente significativa?

9 / 49

Ejemplo

Pensemos en la siguiente pregunta de investigación:

¿Existe una asociación entre la percepción de ser discriminado y el nivel educacional?

HaHa: el nivel educacional se asocia a la percepción de ser discriminado

H0H0: no hay asociación entre nivel educacional y percepción de ser discriminado

10 / 49

Vamos a los datos: CASEN 2022

En CASEN existe una batería sobre percepción de discriminación:

11 / 49

Generar subset CASEN con educación y percepción de discriminación

pacman::p_load(haven, sjmisc, dplyr)
casen2022_chi <- read_dta("/home/juank/Downloads/Base de datos Casen 2022 STATA.dta")
summary(casen2022$r9)
sjmisc::find_var(data = casen2022_chi,"discriminado")
sjmisc::find_var(data = casen2022_chi,"nivel educacional")
casen2022_chi <- casen2022_chi %>%
select(r9a:r9t, e6a) # seleccionar variables
casen2022_chi <- casen2022_chi %>%
rename("educacion"=e6a) #renombrar
save(casen2022_chi,
file = "slides/data/casen2022_chi.Rdata") #guardar objeto
rm(list = c('casen2022_chi')) # quitar del environment por tamaño/memoria
12 / 49

Recodificar discriminación

load("data/casen2022_chi.Rdata")
frq(casen2022_chi$r9t)
r9t. Últ. 12 meses: No ha sido tratado injustamente o discriminado (x) <numeric>
# total N=202231 valid N=202231 mean=0.83 sd=0.37
Value | Label | N | Raw % | Valid % | Cum. %
-------------------------------------------------
0 | No | 33472 | 16.55 | 16.55 | 16.55
1 | Sí | 168759 | 83.45 | 83.45 | 100.00
<NA> | <NA> | 0 | 0.00 | <NA> | <NA>
13 / 49
  • En la lista CASEN al final hay una item de "no ha sido discriminado" (r9t), que usaremos para nuestro análisis; la renombramos "discrim"

  • Quienes responden si son quienes no se han sentido discriminados, por lo tanto mejor cambiar las etiquetas para evitar confusiones

casen2022_chi$discrim <- sjlabelled::set_labels(casen2022_chi$r9t,
labels=c( "discriminad@"=0,
"no discriminad@"=1))
14 / 49
frq(casen2022_chi$discrim)
r9t. Últ. 12 meses: No ha sido tratado injustamente o discriminado (x) <numeric>
# total N=202231 valid N=202231 mean=0.83 sd=0.37
Value | Label | N | Raw % | Valid % | Cum. %
-----------------------------------------------------------
0 | discriminad@ | 33472 | 16.55 | 16.55 | 16.55
1 | no discriminad@ | 168759 | 83.45 | 83.45 | 100.00
<NA> | <NA> | 0 | 0.00 | <NA> | <NA>
15 / 49

Ahora con la variable educación, recodificar universitario=1

casen2022_chi$educ_sup <- rec(casen2022_chi$educacion, rec = "1:12=0;13:15=1",val.labels = c("Menos que universitaria", "Universitaria o más"))
frq(casen2022_chi$educ_sup)
e6a. ¿Cuál es el nivel educacional al que asiste o el más alto al cual asistió? (x) <numeric>
# total N=202231 valid N=202231 mean=0.16 sd=0.37
Value | Label | N | Raw % | Valid % | Cum. %
-------------------------------------------------------------------
0 | Menos que universitaria | 168994 | 83.56 | 83.56 | 83.56
1 | Universitaria o más | 33237 | 16.44 | 16.44 | 100.00
<NA> | <NA> | 0 | 0.00 | <NA> | <NA>
16 / 49

Veamos ahora una tabla de frecuencias cruzadas

pacman::p_load(sjPlot)
casen2022_chi %>%
sjtab(educ_sup,
discrim)
e6a. ¿Cuál es el
nivel educacional al
que asiste o el más
alto al cual
asistió?
r9t. Últ. 12 meses:
No ha sido tratado
injustamente o
discriminado
Total
discriminad@ no discriminad@
Menos que
universitaria
26996 141998 168994
Universitaria o más 6476 26761 33237
Total 33472 168759 202231
χ2=247.461 · df=1 · φ=0.035 · p=0.000
17 / 49

Para mayor claridad generamos porcentajes por columnas de la tabla (discriminación)

casen2022_chi %>%
sjtab(educ_sup,
discrim,
show.col.prc=TRUE)
e6a. ¿Cuál es el
nivel educacional al
que asiste o el más
alto al cual
asistió?
r9t. Últ. 12 meses:
No ha sido tratado
injustamente o
discriminado
Total
discriminad@ no discriminad@
Menos que
universitaria
26996
80.7 %
141998
84.1 %
168994
83.6 %
Universitaria o más 6476
19.3 %
26761
15.9 %
33237
16.4 %
Total 33472
100 %
168759
100 %
202231
100 %
χ2=247.461 · df=1 · φ=0.035 · p=0.000
18 / 49

Y acá por filas (educación)

casen2022_chi %>%
sjtab(educ_sup,
discrim,
show.row.prc=TRUE)
e6a. ¿Cuál es el
nivel educacional al
que asiste o el más
alto al cual
asistió?
r9t. Últ. 12 meses:
No ha sido tratado
injustamente o
discriminado
Total
discriminad@ no discriminad@
Menos que
universitaria
26996
16 %
141998
84 %
168994
100 %
Universitaria o más 6476
19.5 %
26761
80.5 %
33237
100 %
Total 33472
16.6 %
168759
83.4 %
202231
100 %
χ2=247.461 · df=1 · φ=0.035 · p=0.000
19 / 49

Con ambos porcentajes:

casen2022_chi %>%
sjtab(educ_sup,
discrim,
show.row.prc=TRUE,
show.col.prc=TRUE
)
e6a. ¿Cuál es el
nivel educacional al
que asiste o el más
alto al cual
asistió?
r9t. Últ. 12 meses:
No ha sido tratado
injustamente o
discriminado
Total
discriminad@ no discriminad@
Menos que
universitaria
26996
16 %
80.7 %
141998
84 %
84.1 %
168994
100 %
83.6 %
Universitaria o más 6476
19.5 %
19.3 %
26761
80.5 %
15.9 %
33237
100 %
16.4 %
Total 33472
16.6 %
100 %
168759
83.4 %
100 %
202231
100 %
100 %
χ2=247.461 · df=1 · φ=0.035 · p=0.000
20 / 49
e6a. ¿Cuál es el
nivel educacional al
que asiste o el más
alto al cual
asistió?
r9t. Últ. 12 meses:
No ha sido tratado
injustamente o
discriminado
Total
discriminad@ no discriminad@
Menos que
universitaria
26996
16 %
80.7 %
141998
84 %
84.1 %
168994
100 %
83.6 %
Universitaria o más 6476
19.5 %
19.3 %
26761
80.5 %
15.9 %
33237
100 %
16.4 %
Total 33472
16.6 %
100 %
168759
83.4 %
100 %
202231
100 %
100 %
χ2=247.461 · df=1 · φ=0.035 · p=0.000


¿Cómo saber si existe asociación o no entre estas variables?

21 / 49

Prueba de χ2χ2

  • La prueba de χ2χ2 (chi cuadrado) se utiliza para inferencia sobre asociación de variables categóricas en una tabla de contingencia
22 / 49

Prueba de χ2χ2

  • La prueba de χ2χ2 (chi cuadrado) se utiliza para inferencia sobre asociación de variables categóricas en una tabla de contingencia

  • χ2χ2 se basa en un test de diferencia, donde se compara nuestra tabla de contingencia y una tabla donde no existe asociación entre variables, que representa la hipótesis nula H0H0

22 / 49

Prueba de χ2χ2

  • La prueba de χ2χ2 (chi cuadrado) se utiliza para inferencia sobre asociación de variables categóricas en una tabla de contingencia

  • χ2χ2 se basa en un test de diferencia, donde se compara nuestra tabla de contingencia y una tabla donde no existe asociación entre variables, que representa la hipótesis nula H0H0

  • La lógica detrás es que si nuestra tabla es significativamente distinta de una tabla sin asociación, entonces podemos rechazar la hipóteis nula

22 / 49

Para simplificar, pensemos en una muestra más pequeña de 100 casos y además balanceada.

discriminad@ no discriminad@ Total
Menos que universitaria 50
Universitaria o más 50
Total 50 50 100

¿Cómo se deberían distribuir los casos en las celdas para constatar que hay (o no) diferencias?

23 / 49


discriminad@ no discriminad@ Total
Menos que universitaria 50 0 50
Universitaria o más 0 50 50
Total 50 50 100

Esta tabla estaría expresando lo esperado por nuestra hipótesis (alternativa): existen diferencias al cruzar estas variables, y por lo tanto hay asociación entre educación y percepción de discriminación

24 / 49

Este es el otro extremo: todas las celdas tienen la misma cantidad de casos

discriminad@ no discriminad@ Total
Menos que universitaria 25 25 50
Universitaria o más 25 25 50
Total 50 50 100

Esta tabla expresa la hipótesis nula H0H0: no existe asociación entre variables

25 / 49

Pasos en el cálculo de χ2χ2

  • Generación de tabla de contingencia observada en base a nuestros datos

  • Generación de tabla de contingencia esperada al azar en base a nuestros datos

  • Establecer la diferencia entre lo observado y lo esperado al azar

  • Establecer si esta diferencia es estadísticamente significativa

26 / 49

Frecuencia esperada al azar en una tabla de contingencia


discriminad@ no discriminad@ Total
Menos que universitaria a b (a+b)
Universitaria o más c d (c+d)
Total (a+c) (b+d) N
27 / 49

Nos enfocamos en la celda a, su frecuencia esperada es:

fea=(a+b)(a+c)Nfea=(a+b)(a+c)N

En base a los datos de nuestro ejemplo de 100 casos:

fea=(50)(50)100=2500100=25fea=(50)(50)100=2500100=25

Por lo tanto, la frecuencia esperada al azar para la celda a=25

28 / 49

Sentido general de la prueba de χ2χ2

  • La lógica de la prueba de Chi 2 es la comparación de las frecuencias observadas (fo)(fo) en nuestra tabla y de las frecuencias esperadas (fe)(fe) por azar

  • Si nuestra tabla (fo)(fo) se diferencia significativamente del azar (fe)(fe), entonces podemos rechazar la hipótesis nula y tenemos evidencia de asociación entre variables

29 / 49

fea=(a+b)(a+c)Nfea=(a+b)(a+c)N feb=(a+b)(b+d)Nfeb=(a+b)(b+d)N fec=(a+c)(c+d)Nfec=(a+c)(c+d)N fed=(b+d)(c+d)Nfed=(b+d)(c+d)N

discriminad@ no discriminad@ Total
Menos que universitaria a b (a+b)
Universitaria o más c d (c+d)
Total (a+c) (b+d) N

χ2=(fofe)2feχ2=(fofe)2fe

El valor de Chi2 será mayor en la medida que lo observado sea distinto de los esperado al azar

30 / 49

Cálculo de frecuencias esperadas para ejemplo con CASEN

e6a. ¿Cuál es el
nivel educacional al
que asiste o el más
alto al cual
asistió?
r9t. Últ. 12 meses:
No ha sido tratado
injustamente o
discriminado
Total
discriminad@ no discriminad@
Menos que
universitaria
26996 141998 168994
Universitaria o más 6476 26761 33237
Total 33472 168759 202231
χ2=247.461 · df=1 · φ=0.035 · p=0.000

fea=16899433472202231=27970.8fea=16899433472202231=27970.8 feb=168994168759202231=141023.2feb=168994168759202231=141023.2 fec=3347233237202231=5501.2fec=3347233237202231=5501.2 fed=16875933237202231=27735.8fed=16875933237202231=27735.8

31 / 49

En R también es posible obtener las frecuencias esperadas por celda con la función CrossTable de la librería gmodels

gmodels::CrossTable(casen2022_chi$educ_sup,
casen2022_chi$discrim,
expected=TRUE,
prop.r = FALSE,
prop.c=FALSE,
prop.chisq = FALSE,
prop.t = FALSE)
32 / 49
Cell Contents
|-------------------------|
| N |
| Expected N |
|-------------------------|
Total Observations in Table: 202231
| casen2022_chi$discrim
casen2022_chi$educ_sup | 0 | 1 | Row Total |
-----------------------|-----------|-----------|-----------|
0 | 26996 | 141998 | 168994 |
| 27970.821 | 141023.179 | |
-----------------------|-----------|-----------|-----------|
1 | 6476 | 26761 | 33237 |
| 5501.179 | 27735.821 | |
-----------------------|-----------|-----------|-----------|
Column Total | 33472 | 168759 | 202231 |
-----------------------|-----------|-----------|-----------|
Statistics for All Table Factors
Pearson's Chi-squared test
------------------------------------------------------------
Chi^2 = 247.7146 d.f. = 1 p = 8.178928e-56
Pearson's Chi-squared test with Yates' continuity correction
------------------------------------------------------------
Chi^2 = 247.4605 d.f. = 1 p = 9.291443e-56
33 / 49

χ2=(fofe)2fe=(2699627970.8)227970.8+(141998141023.2)2141023.2+(64765501.2)25501.2+(2676127735.8)227735.8=(974.8)227970.8+(974,8)2141023.2+(974.8)25501.2+(974.8)227735.8=950235,0427970.8+950235,04141023.2+950235,045501.2+950235,0427735.8=33.97+6.74+172.7+34.3

χ2=247.46

34 / 49

Inferencia y χ2

  • Tal como en los pasos de la inferencia para pruebas anteriores (como Z y t), para realizar la prueba de hipótesis comparamos el valor observado de χ2 con un valor crítico, que proviene de la distribución χ2

  • además de especificar la probabilidad de error α, se requiere especificar los grados de libertad

35 / 49

Grados de libertad en χ2

  • Como en la distribución t, χ2 también se ajusta por los grados de libertad, que se obtienen sumando el numero de niveles/categorías -1 de cada variable

  • En nuestro ejemplo de tabla de 2x2 (dos categorías de cada variable), los grados de libertad equivalen a:

gl=(21)(21)=11=1

36 / 49

37 / 49

Comparación valor crítico y valor estimado

  • χ2 estimado: 247.46

  • χ2 crítico para un α=0.05 y 1 grado de libertad: 3.84

  • En el ejemplo: valor estimado χ2 > valor crítico χ2

  • Por lo tanto se rechaza H0, podemos decir que hay evidencia de asociación entre percepción de discriminación y nivel educacional con un 95% de confianza

38 / 49

χ2 directamente en R

La función es chisq.test()

chisq.test(table(casen2022_chi$educ_sup,
casen2022_chi$discrim))
Pearson's Chi-squared test with Yates' continuity
correction
data: table(casen2022_chi$educ_sup, casen2022_chi$discrim)
X-squared = 247.46, df = 1, p-value < 2.2e-16
39 / 49

De todas maneras, aparece directamente en varios outputs de tablas de contingencia en R, como la generada antes con sjtab, de librería sjPlot:

casen2022_chi %>%
sjtab(educ_sup,
discrim,
show.row.prc=TRUE)


e6a. ¿Cuál es el
nivel educacional al
que asiste o el más
alto al cual
asistió?
r9t. Últ. 12 meses:
No ha sido tratado
injustamente o
discriminado
Total
discriminad@ no discriminad@
Menos que
universitaria
26996
16 %
141998
84 %
168994
100 %
Universitaria o más 6476
19.5 %
26761
80.5 %
33237
100 %
Total 33472
16.6 %
168759
83.4 %
202231
100 %
χ2=247.461 · df=1 · φ=0.035 · p=0.000
40 / 49

Resumen: 5 pasos inferencia para tablas cruzadas

  1. Establecer las hipótesis

  2. Calcular frecuencias esperadas

  3. Estimar estadístico de prueba χ2

  4. Establecer valor crítico de la prueba (de acuerdo a un cierto nivel de confianza y grados de libertad)

  5. Contraste e interpretación

41 / 49

Correlación con variables categóricas

42 / 49

Correlación punto biserial

Es una correlación entre una variable categórica dicotómica y una variable continua

Toma los mismos valores que la correlación tradicional, donde

  • -1: correlación negativa perfecta
  • 0: ausencia de correlación
  • +1: correlación positiva perfecta
43 / 49

Ejemplo

Tenemos las siguientes variables:

x <- c(0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0)
y <- c(12, 14, 17, 17, 11, 22, 23, 11, 19, 8, 12)

Se utilizar la función cor.test() para calcular la correlación punto biserial entre las dos variables

cor.test(x, y)
44 / 49
cor.test(x, y)
Pearson's product-moment correlation
data: x and y
t = 0.67064, df = 9, p-value = 0.5193
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.4391885 0.7233704
sample estimates:
cor
0.2181635
45 / 49

Del output de R tenemos que:

  • la correlación punto biserial es 0.218, indicando una relación positiva moderada entre ambas variables
46 / 49

Del output de R tenemos que:

  • la correlación punto biserial es 0.218, indicando una relación positiva moderada entre ambas variables

  • el valor p correspondiente es 0.5193, que no permite rechazar la hipótesis nula con un 95% de confianza ya que el valor p no es menor a 0.05

46 / 49

Del output de R tenemos que:

  • la correlación punto biserial es 0.218, indicando una relación positiva moderada entre ambas variables

  • el valor p correspondiente es 0.5193, que no permite rechazar la hipótesis nula con un 95% de confianza ya que el valor p no es menor a 0.05

  • como complemento se entrega el intervalo de confianza [-0.4391885 0.7233704], que como vemos contiene el 0, y por lo tanto con un 95% de confianza no podemos decir que las correlación es distinta de 0

46 / 49

Resumen general asociación bivariada y niveles de medición


Intervalar Ordinal Nominal
Intervalar Pearson
Ordinal Pearson/Spearman Spearman
Nominal Punto-biserial Spearman/Punto-biserial/Chi 2 Chi 2
47 / 49

ASISTENCIA






bit.ly/correlacional-asistencia

48 / 49

Estadística Correlacional

Asociación, inferencia y reporte


Juan Carlos Castillo

Sociología FACSO - UChile

2do Sem 2023

correlacional.netlify.com

49 / 49
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
sToggle scribble toolbox
Esc Back to slideshow