El estadístico t-student es una de las herramientas inferenciales más usadas debido a su alcance, ya que es útil para tamaños de muestras pequeñas y que no se requiere conocer la desviación estándar, gracias a este recurso podemos deducir el promedio de una muestra poblacional a partir de muestras “pequeñas” (menores o iguales a 30), aunque también son muy útiles cuando se cuenta con una gran cantidad de observaciones. Una segunda utilidad y no menos importante es comparar los promedios que provienen de distintas muestras y afirmar si son o no, significativamente relevantes o si la diferencia de estos son producto de la casualidad o circunstancias.
Los requisitos para utilizar el estadístico t-student son:
1 Independencia entre variables: Esto se logra procurando la recolección de datos lo más aleatoria posible, para eliminar sesgos. Al mismo tiempo el total de las muestras no deben superar el 10% de la población total a estudiar.
2 Las muestras deben venir de una distribución normal o cuasi-normal. Esta condición se verifica dibujando distintas gráficas (análisis gráfico) o/y haciendo análisis numéricos que consta de la prueba Shapiro-Wilk para cuando tenemos muestras pequeñas alrededor de 30 o menos. Para muestras grandes n > 30 se usará el test Smodoroff-Smirnoff. Podemos relajar esta condición cuando las muestras son pequeñas.
En esta presentación se harán 2 ejercicios pedagógicos usando la base de datos que proporciona la ciudad de México de forma libre, respecto a Interrupcion Legal del Embarazo en la Ciudad de México ILECDMX. Dicha base de datos corresponde desde diciembre del año 2015 a 2021. Este es un enfoque estrictamente descriptivo y no se pretende inferir causalidades o posicionarse en alguna postura a favor o en contra de dicha práctica; pues mantenerse agnóstico y distante es una de las cualidades que el científico de datos debe siempre procurar.
Acotar la naturaleza del espacio que estudiamos y enfatizar que no se trata de todas las interrupciones de embarazo existentes en CDMX, es un paso muy importante ya que puede haber situaciones no contempladas que por alguna u otra razón no están registradas en la base de datos proporcionada. Sin embargo podemos pensar que los resultados que obtendremos describen con coeherente precisión la totalidad de las interrupciones de embarazos sea legales o no, estén registradas o no.
Con fines pedagógicos supondremos que contamos únicamente con 27 mujeres encuestadas de forma aleatoria de aquellas que asistieron a una clínica a practicarse el tratamiento en cuestión, las cuales conformarán una encuesta, y solo con estas inferimos el promedio de la población de ILE CDMX. Dichas muestras de 27 individuos representan una encuesta, de las cuales se harán dos; Encuesta1 y Encuesta2. A pesar de que estas son ficticias, los datos que usaremos son reales y extraídos del total de la población. En este caso es posible conocer con exactitud el promedio poblacional \(\mu\).
Después de colectar la base de datos, y definir que nos interesa conocer la edad promedio de las mujeres que se someten a una interrupción de embarazo en clínicas de la CDMX con tan solo 27 muestras seleccionadas aleatoriamente. Para lo cual necesitamos recolectar de forma aleatoria y sin reemplazo extrayendo de la misma base de datos usando la función sample() en R.
Vamos a suponer un escenario donde NO conocemos la media poblacional \(\mu\) la cual es:
muEdAb<-mean(abor$edad,na.rm = TRUE)
muEdAb
## [1] 25.81807
Conocer dicho promedio \(\mu=25.81807\) otorga certeza al resultado de la inferencia que obtendremos. Sin embargo, es necesario señalar que este solo es un ejercicio pedagógico y cuando solemos hacer inferencia rara vez contamos con datos de toda una población; pues determinar el promedio poblacional suele ser el objetivo a cumplir.
Analizando las ilecdmx por edad
str(abor$edad)
## int [1:91698] 24 30 38 23 18 18 19 24 25 27 ...
summary(abor$edad)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 11.00 21.00 25.00 25.82 30.00 56.00 20
Podemos ver que tenemos 20 NA’s. Por ende tendremos que limpiarlos.
abor<-abor[!is.na(abor$edad),] #Eliminamos las NA's de las filas
Extrayendo las muestras.
set.seed(67) #incorporar antes de un muestreo aleatorio para que pueda obtener los mismos valores y ser reproducible
Encuesta1<-sample(abor$edad,27,replace = FALSE)
Encuesta1
## [1] 23 29 19 33 23 21 23 34 21 21 26 29 34 19 22 29 23 31 34 31 25 31 20 24 14
## [26] 19 28
set.seed(78)
Encuesta2<-sample(abor$edad,27,replace = FALSE)
Encuesta2
## [1] 24 22 26 20 24 28 36 29 24 23 23 22 24 43 24 27 20 18 41 29 27 30 23 23 18
## [26] 25 26
max(Encuesta1) # valor máximo de la encuesta 1
## [1] 34
min(Encuesta1) # valor mínimo de la encuesta 1
## [1] 14
mean(Encuesta2) # promedio encuesta 1
## [1] 25.88889
max(Encuesta2) # valor máximo de la encuesta 2
## [1] 43
min(Encuesta2) # valor mínimo de la encuesta 2
## [1] 18
mean(Encuesta2) # promedio encuesta 2
## [1] 25.88889
Uno de los requisitos para el empleo del estadístico t-student, es comprobar que la muestra describe una distribución normal. Para comprobar que es así, usaremos tres tipos de gráficas que nos ayudan a comprobar visualmente; histo, desity, qqnorm.
hist(Encuesta1,
main = "ILE CDMX Edades Encuesta I",
xlab="Rango De Edades",
ylab="Frecuencia",
col="deeppink3")
Podemos ver que la distribución no es perfectamente normal, sin embargo su cuasi-normalidad sigue siendo útil ya que se permite un un margen de tolerancia en las condiciones debido a que no existe base de datos perfecta ni fenómeno social insesgado teniendo en cuenta además que la muestra que analizamos es solo de 27 individuos y con base al Teorema del Límite Central, esperaríamos que a mayor número de muestras, la distribución se espera dibujaría de forma normal. Es decir, un número creciente de grados de libertad normalizará la distribución. Lo importante que debemos observar, más allá de que sea una distribución normal, es que no exista un enorme sesgo en el comportamiento de las muestras.
qqnorm(Encuesta1)
qqline(Encuesta1,col="red")
Respaldamos el histograma anterior con una gráfica que analiza la normalidad cuantil por Cuantil. Comparando los cuantiles obtenidos de la muestra contra cuantiles teóricos y vemos que se ajusta a la recta roja de forma considerable, mas no perfecta. .
hist(Encuesta2,
main = "ILE CDMX Edades Encuesta II",
xlab = "Rango De Edades",
prob=TRUE, #Esta vez usaremos una función de probabilidad convirtiendo una gráfica de densidad
col = "deeppink4")
lines(density(Encuesta2),col="pink")# Para poder dibujar una linea de densidad color Rosa
qqnorm(Encuesta2,
xlab="Quantiles Teoricos",
ylab="Quantiles De La Muestra")
qqline(Encuesta2,col="red")
Para eliminar la ambigüedad de la apreciación visual, usaremos una prueba de normalidad que nos exprese con valores numéricos si es que se cumple la condición de normalidad. Debido a que tenemos muestras \(\bar{x} < 30\); n=27 aplicaremos la prueba Shapiro-Wilk. Para n>30 aplicamos Kolmogorov-Smirnov
Ho: La muestra SI sigue una distribución normal
Ha: La muestra NO sigue una distribución normal
shapiro.test(Encuesta1)
##
## Shapiro-Wilk normality test
##
## data: Encuesta1
## W = 0.94514, p-value = 0.1631
Para la Encuesta1 el p-valor = 0.1631 y es mayor que el nivel de significancia, el cual es 0.05.Esto implica que no podemos rechazar la hipótesis nula. Por lo tanto podemos afirmar bajo la prueba Shapiro-Wilk que efectivamente la muestra si sigue una distribución normal.
shapiro.test(Encuesta2)
##
## Shapiro-Wilk normality test
##
## data: Encuesta2
## W = 0.85058, p-value = 0.001183
Para la Encuesta 2 como el p-valor =0.001183 y es menor que el nivel de significancia, el cual es 0.05, implica que podemos rechazar la hipótesis nula. Por lo tanto podemos afirmar bajo la prueba Shapiro-Wilk que la muestra no sigue una distribución normal.
Los resultados arrojados nos dicen que solo la Encuesta 1 cumple con la condición de normalidad requerida para hacer inferencia con el estadístico t-student. Pero ¿porque se cumple para la primera muestra la condición pero no para la segunda a pesar de que provienen de la misma base de datos?. Eso es debido a que estas fueron construidas recabando de forma aleatoria y la escasez de valores tiende a producir distribuciones sesgadas, como se observa en la gráfica de densidad para la Encuesta 2 no existen valores de edades de 30 a 35, dicho fenómeno es cotidiano en el ejercicio de campo de la recolección de datos a través de encuestas. Tenga en cuenta que la condición de normalidad fue rechazada por muy poco y queda a criterio y juicio del científico de datos si se procede con la prueba t-student para determinar el promedio poblacional o no.
Ahora formulamos nuestras respectivas pruebas de hipótesis para conducir la lógica de nuestra prueba t-student. Hemos decidido plantear Ho:\(\mu= 25\) debido a que el promedio de la muestra ronda alrededor de dicho valor. Usando la intuición y conocimiento cotidiano yo sospecho que las mujeres que se someten al tratamiento mencionado suelen ser menores o mayores de 25 años, debido a que esta edad representa el umbral de realización económico e intelectual para gran parte de la población en la actualidad; sin embargo, nosotros podemos plantear como Ha cualquier valor que creamos bajo cierta lógica, rumor, creencia a priori o declaración sustentada en un artículo científico. Recuerde que la prueba de hipótesis Nula Ho: refleja la configuración que se esperaría sea el valor del parámetro poblacional enunciado en una igualdad “el status quo” en este caso \(\mu=25\). Mientras que la hipótesis alternativa Ha: refleja una desigualdad distinta a la Ho: .
Prueba de Hipótesis redactada en forma explícita
Ho: La población de ILE de CDMX es igual a 25
Ha: La poblacion de ILE de CDMX es distinta a 25
Prueba de Hipótesis:
Ho: \(\mu=25\)
Ha: \(\mu\neq25\)
Las pruebas de Hipótesis siguen la misma lógica del principio de presunción de inocencia internacional “todo mundo es inocente hasta que se demuestre lo contrario”, mientras que Ho: afirma que el acusado es “inocente”, Ha: afirma que no lo es .Es obligación del fiscal y/o el científico de datos probar la “nulidad” de la hipótesis nula (el status quo) y por ende confirmar la hipótesis alternativa. La dinámica de las pruebas de hipótesis suele ser sumamente engorrosa y llenas de enunciados que parecieran ser sacados de una película de Cantinflas, dominar la lógica de las pruebas de hipótesis es a base de mucha práctica.
La configuración del comando t.test() sigue una situación estándar donde por default Ha: corresponde a una desigualdad, es decir; la prueba t-student resuelve una probabilidad de dos colas, con desigualdad a cero, a menos que se le indique alguna otra configuración. Para conocer con más detalle la naturaleza de la prueba t-student es muy recomendable que antes se ejecute el comando help(“t.test”) para que nos muestre la naturaleza y configuración en R.
t.test(Encuesta1,mu=25)
##
## One Sample t-test
##
## data: Encuesta1
## t = 0.38247, df = 26, p-value = 0.7052
## alternative hypothesis: true mean is not equal to 25
## 95 percent confidence interval:
## 23.21787 27.59695
## sample estimates:
## mean of x
## 25.40741
Para la primera encuesta la prueba con el estadístico t-student nos arroja una media de 25.40741 y un p-valor = 0.7052 el cual es mayor al nivel de significancia 0.05. Lo que implica que no podemos rechazar la hipótesis nula Ho: que afirma que la media poblacional es igual a 25 \(\mu =25\). Por lo tanto podemos afirmar que la media poblacional que deducimos en la Encuesta 1 es igual a 25 años con un Intervalo de confianza de 23.21787 a 27.59695 a un 95% de nivel de significancia.
En ocasiones nos enfrentamos al problema de comparar los promedios de muestras que difieren en número de observaciones y afirmar o negar si la diferencia que observamos es significativa o no. Así que una segunda utilidad del recurso t-student, es la de comparar la media de dos muestras independientes entre sí, y discernir con criterios inferenciales si los promedios son significativamente equivalentes o no, si la diferencia aparente que podríamos observar es circunstancial o es real y no depende de “la suerte”. Es decir permite contestar preguntas como ¿las encuestas uno y dos, reflejan conclusiones realmente distintas o no? pese a mostrar resultados diferentes al promediarse cada uno.
Recuerde que el objetivo es estimar los valores para las poblaciones \(\mu\) a partir de las muestras \(\bar{x}\).
Podemos declarar que si NO existe diferencia entre promedios de las diferencias, implica que la resta debe ser igual a cero. Esto enunciado en forma de pruebas de hipótesis se expresa:
Ho: \(\mu_{diff}=0\)
Ha: \(\mu_{diff} \neq0\)
library(ggplot2)
ggplot(data=abor,aes(abor$año))+geom_bar(fill="deeppink2",col="cyan")+labs(title = "Análisis de interrupción legal del embarazo por año CDMX.
",subtitle="2016-201",y="Cantidad de ILE CDMX",x="Año")
Al graficar la cantidad de ILECDMX por año se puede ver una aparente disminución por año a excepción del 2021 donde hay una ligera alza en comparación al año anterior. Vale la pena detenerse a indagar un poco de manera individual el fenómeno que estamos observando y las posibles causas y preguntarnos, ¿Qué tiene que ver la irrupción del COVID-19 y la disminución de embarazos no deseados?, ¿acaso el obligado encierro producto de la pandemia se volvió el método anticonceptivo preponderante?. Aunque como se ha dicho anteriormente las causalidades no nos competen en esta actividad, el ejercicio podría cimentar las respuestas para dichas preguntas, o algunas tales como. ¿Quienes se sometieron a una intervención legal de embarazo en plena pandemia?. ¿El encierro obligatorio genero estrés sexual en la población de la Ciudad de México?. Las anteriores preguntas escritas solo pretenden causar controversia y se salen de la discusión pero siguen siendo igualmente interesantes.
De vuelta al tópico inferencial, esta vez compararemos si el promedio de edad significativo de mujeres que se sometieron al tratamiento en dos diferentes años, 2020 y 2021. Al obtener cada uno de los promedios de los mencionados años nos encontramos que:
nrow(abor) # cantidad de TOTAL de ilecdmx
## [1] 91678
Acontando el número de ILECDMX por año.
ab20<-abor[abor$año=="2020",] #Solo ilecdmx año 2020
ab21<-abor[abor$año=="2021",] #Solo ilecdmx año 2021
nrow(ab20) #cantidad de ilecdmx año 2020
## [1] 11269
nrow(ab21) #cantidad de ilecdmx año 2021
## [1] 12295
El número de ILECDMX difiere del año 2020 y 2021 en:
nrow(ab21)-nrow(ab20)
## [1] 1026
mean(ab20$edad) # Promedio de edad ilecdmx 2020
## [1] 26.02769
mean(ab21$edad) # Promedio de edad ilecdmx 2021
## [1] 26.21708
El promedio de ILECDMX difiere del año 2020 y 2021 en:
mean(ab21$edad)-mean(ab20$edad)
## [1] 0.1893935
La diferencia entre las edades promedio existe \(26.21708-26.02769 = 0.18939\), pero ¿es acaso significativa esa diferencia? es decir, es ¿la edad promedio de las mujeres que se someten a ILE realmente la misma?.
Ho: \(\mu_{2021}-\mu_{2020} =0\) ; Ho: \(\mu_{diff}=0\)
Ha: \(\mu_{2021}-\mu_{2020} \neq 0\) ; Ha: \(\mu_{diff}\neq0\)
Sometiendo entonces el promedio de edad de ambos años podemos determinar si la diferencia es significativa.
t.test(ab21$edad,ab20$edad)
##
## Welch Two Sample t-test
##
## data: ab21$edad and ab20$edad
## t = 2.3562, df = 23356, p-value = 0.01847
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 0.03184478 0.34694230
## sample estimates:
## mean of x mean of y
## 26.21708 26.02769
Con base al resultado al p-valor = 0.01847 siendo que este es menor que el nivel de significancia de 0.05 implica que tenemos evidencia “suficiente” para rechazar Ho: en favor a la alternativa Ha:. Por lo tanto decimos que El promedio de edad de mujeres que se sometieron a ILECDMX es distinto para el año 2020 que para el 2021, con un nivel de significancia del 95%.
Cabe señalar que el umbral de rechazo se rebasó por muy poco 0.04, en algunas ocasiones el científico de datos podría preferir ampliar el tamaño de la muestra para discernir con menos incertidumbre. Podríamos esperar que a mayor tamaño de muestra se obtendrán resultados distintos basados en el Teorema del Límite Central.
Supondremos dos nuevas distintas encuestas con un tamaño n=50. ¿Que esperaríamos obtener si la sometemos las dos nuevas encuestas al t.test()?
set.seed(89)
Encuesta3<-sample(abor$edad,50,replace = FALSE)
Encuesta3
## [1] 32 29 32 32 30 18 22 22 21 21 26 28 21 26 28 20 22 19 29 15 31 21 24 26 23
## [26] 42 26 39 14 26 19 31 29 27 22 27 21 26 25 35 30 34 40 19 31 38 32 27 17 26
set.seed(78)
Encuesta4<-sample(abor$edad,50,replace = FALSE)
Encuesta4
## [1] 24 22 26 20 24 28 36 29 24 23 23 22 24 43 24 27 20 18 41 29 27 30 23 23 18
## [26] 25 26 44 29 22 23 32 22 31 16 14 26 25 33 27 19 26 21 18 26 40 24 23 31 21
t.test(Encuesta3,Encuesta4)
##
## Welch Two Sample t-test
##
## data: Encuesta3 and Encuesta4
## t = 0.45084, df = 97.959, p-value = 0.6531
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.973014 3.133014
## sample estimates:
## mean of x mean of y
## 26.42 25.84
En esta ocasión el p-valor producto de aplicarlo a la Encuesta3 y Encuesta4 nos arrojó un valor de p-valor=0.6531 siendo este mayor que el nivel de significancia utilizado 0.05 no tenemos evidencia suficiente para rechazar la hipótesis nula H0: en favor de la alternativa. Por lo tanto podemos afirmar las edades promedios de mujeres que se sometieron a ILECDMX son iguales para los años 2020 y 2021. Es decir \(\mu_{2020}=\mu_{2021}\)
Por último cabe señalar que siempre es necesario usar el criterio personal para leer las cifras, construir conclusiones o métodos; pues pese a lo avanzado de los recursos digitales, las computadoras no entienden de contextos.