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

Estadística Correlacional

Inferencia, asociación y reporte


Juan Carlos Castillo

Sociología FACSO - UChile

2do Sem 2024

correlacional.netlify.app

Sesión 11:

Asociación con variables categóricas 1

1 / 54

Correlación y categóricas

2 / 54

Correlación y categóricas

  • sentido original de correlación (Pearson): variables intervalares/razón, también se extiende a ordinal (Spearman)

  • dadas las ventajas de este coeficiente, se puede extender su uso a variables con nivel de medición nominal con algunas consideraciones

  • veamos un ejemplo:

3 / 54

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)

Donde x sería una variable nominal dicotómica con valores 1 y 0, mientras que y es una variable contínua (intervalar)

4 / 54

Cálculo del coeficiente de correlación

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

cor.test(x, y)
5 / 54

Cálculo del coeficiente de correlación

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

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

(Se puede también usar cor, pero cor.test entrega más información)

5 / 54

Del output de R tenemos que:

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

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

6 / 54

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

6 / 54

¿Qué es esta correlación?

  • no es más que una correlación de Pearson entre una variable nominal y una intervalar

  • para diferenciarla de Pearson tradicional se le denomina correlación punto biserial

  • hay que tener precauciones con su interpretación

7 / 54

Interpretación

  • pensemos que x=1 es hombre,x=2 es mujer, y que y=nivel educativo, cómo se interpreta la correlación?
8 / 54

Interpretación

  • pensemos que x=1 es hombre,x=2 es mujer, y que y=nivel educativo, cómo se interpreta la correlación?

    • inferencia: que existe (o no) una asociación entre ambas variables (según si es estadísticamente distinta de cero)
    • tamaño: que esta asociación es debil, mediana o fuerte
    • sentido: difícil de interpretar, ej: mientras "más mujer", mayor educación (?)
8 / 54

Interpretación

  • pensemos que x=1 es hombre,x=2 es mujer, y que y=nivel educativo, cómo se interpreta la correlación?

    • inferencia: que existe (o no) una asociación entre ambas variables (según si es estadísticamente distinta de cero)
    • tamaño: que esta asociación es debil, mediana o fuerte
    • sentido: difícil de interpretar, ej: mientras "más mujer", mayor educación (?)

Por lo tanto, esta correlación puede tener limitaciones en la interpretación de su sentido, sirve principalmente para inferencia y tamaño.

8 / 54

¿Qué test / cálculo podría ser más apropiado para la relación entre una variable intervalar y una dicotómica?

9 / 54
t.test(y ~ x, var.equal=TRUE)
Two Sample t-test
data: y by x
t = -0.67064, df = 9, p-value = 0.5193
alternative hypothesis: true difference in means between group 0 and group 1 is not equal to 0
95 percent confidence interval:
-8.891987 4.825320
sample estimates:
mean in group 0 mean in group 1
14.16667 16.20000
10 / 54

Por lo tanto, correlación punto-biserial

  • es equivalente a un test de diferencia de medias en términos de inferencia

  • en términos de valor es igual que una correlación de Pearson varía entre -1 y 1

  • el apellido de (punto) biserial se utiliza solo para dar cuenta que el nivel de medición de una de las variables es nominal, y se requieren consideraciones especiales en su interpretación

  • también se puede denominar biserial a una correlación entre una variable intervalar/razón y una ordinal

11 / 54

El sentido general de realizar correlaciones de Pearson con variables categóricas es el supuesto que la categórica representa distintos niveles de una variable latente continua

Ej: 0=baja educación, 1=alta educación

12 / 54

Caso especial: correlación tetracórica

  • Es una correlación entre dos variables dicotómicas (=categórica de dos niveles)

  • Se calcula en base a la frecuencias de cada combinación de valores (00,01,10,11).

  • Supone que ambas variables son continuas y normalmente distribuidas antes de la categorización.

13 / 54

Tipos de correlación según nivel de medición


Nominal Dicotómica Nominal Politómica Ordinal Intervalar/Razón
Nominal Dicotómica Tetracórica Biserial Punto Biserial
Nominal Politómica
Ordinal Biserial Spearman, Kendall Pearson/biserial, Policórica
Intervalar/Razón Punto Biserial Pearson/biserial, Policórica Pearson
14 / 54

Asociación en tablas de contingencia

15 / 54

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
16 / 54
  • 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
17 / 54

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

18 / 54
  • 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?

19 / 54

Ejemplo

Pensemos en la siguiente pregunta de investigación:

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

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

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

20 / 54

Vamos a los datos: CASEN 2022

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

21 / 54

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
22 / 54

Recodificar discriminación

pacman::p_load(sjmisc)
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>
23 / 54
  • 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))
24 / 54
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>
25 / 54

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>
26 / 54

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 · &phi=0.035 · p=0.000
27 / 54

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 · &phi=0.035 · p=0.000
28 / 54

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 · &phi=0.035 · p=0.000
29 / 54

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 · &phi=0.035 · p=0.000
30 / 54
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 · &phi=0.035 · p=0.000


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

31 / 54

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?

32 / 54


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

33 / 54

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 H0: no existe asociación entre variables

34 / 54

χ2

(chi cuadrado)

35 / 54

Prueba de χ2

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

Prueba de χ2

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

  • χ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 H0

36 / 54

Prueba de χ2

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

  • χ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 H0

  • 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

36 / 54

Pasos en el cálculo de χ2

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

Pasos en el cálculo de χ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

37 / 54

Pasos en el cálculo de χ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

37 / 54

Pasos en el cálculo de χ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

37 / 54

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
38 / 54

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

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

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

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

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

39 / 54

Sentido general de la prueba de χ2

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

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

40 / 54

fea=(a+b)(a+c)N feb=(a+b)(b+d)N fec=(a+c)(c+d)N fed=(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

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

41 / 54

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 · &phi=0.035 · p=0.000

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

42 / 54

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)
43 / 54
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
44 / 54

χ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

45 / 54

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

46 / 54

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

47 / 54

48 / 54

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

49 / 54

χ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
50 / 54

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 · &phi=0.035 · p=0.000
51 / 54

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

52 / 54

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
53 / 54

Estadística Correlacional

Inferencia, Asociación y reporte


Juan Carlos Castillo

Sociología FACSO - UChile

2do Sem 2024

correlacional.netlify.com

54 / 54

Correlación y categóricas

2 / 54
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
Esc Back to slideshow