# Limpiamos ambiente
rm(list = ls())
# Activamos paquetes
library(tidyverse)
library(kableExtra)
# Creacion de objetos con los valores del ejemplo
<- 84
xbarra <- 9.1
sigma <- 10 tamanioMuestra
Intervalos de confianza
Ejemplos en base a la clase de Econometria I de la Dr. Marisol Luna Contreras
Introducción
En la entrega anterior de Tidyverso demostramos la insesgadez de la media muestral, concluimos que esta propiedad en los estimadores es necesaria para poder hacer inferencia estadística, que no es otra cosa que la búsqueda de parámetros poblacionales a partir de la información muestral a la que tenemos acceso.
Entre las herramientas más utilizadas en la estadística inferencial, están los intervalos de confianza, cuyo aporte está en garantizar la presencia del valor paramétrico entre dos límites con un nivel de confianza pre-especificado de (1 - \alpha).
A continuación, abordaremos brevemente el concepto teórico de intervalo de confianza y mostraremos la manera de obtenerlo a partir de un ejemplo, nos centraremos en los intervalos de confianza para la media, buscando ser enfáticos en su sensibilidad respecto al tamaño de la muestra (n) y respecto al nivel de significancia (\alpha).
Teoría
Definición de intervalo de confianza
Encontrar intervalos de confianza, consiste en establecer un límite inferior y un límite superior en torno al estadístico puntual que obtuvimos (de una muestra), donde podemos justificar se encuentra el parámetro poblacional.
En otras palabras, asumiendo que tenemos una media muestral \bar{X}, el intervalo de confianza consiste en construir el límite inferior (L_{i}) y el límite superior (L_{s}) entre los que se encuentra el parámetro poblacional \mu.
El intervalo de confianza garantiza formalmente que:
P(L_{i} \leq \mu \leq L_{s}) \geq (1 - \alpha) Lo cual se lee como:
Siendo \mu el parámetro poblacional, la probabilidad de que este se encuentre entre el límite inferior (L_{i}) y el límite superior (L_{s}) es mayor o igual al nivel de confianza (1-\alpha).
Establecimiento de límites
Matemáticamente lo que debemos hacer es bastante simple, tomar \bar{X} y restarle un valor para el L_{i} y luego tomar \bar{X} y sumarle un valor para el L_{s}. Además, el valor que sumamos es igual al valor que restamos.
¿Que valor sumar y restar?
Este valor depende fundamentalmente de tres cosas:
- El tamaño de la muestra n.
- El que la varianza poblacional sea conocida o no.
- El nivel de significancia \alpha.
llamaremos a ese valor Margen y se obtiene de la siguiente manera1:
Con varianza poblacional conocida (\sigma^2)
- Se utiliza la distribución normal estándar.
- Margen = Z_{\frac{\alpha}{2}}\cdot\frac{\sigma}{\sqrt{n}}
- Sintaxis R: abs(qnorm(p = 0.025))*(desvío/(n)^(1/2))
Con varianza poblacional desconocida (S^2)
- Se utiliza la distribución t-Student.
- Margen = t_{(\frac{\alpha}{2}, n-1)}\cdot\frac{S}{\sqrt{n}}
- Sintaxis R: abs(qt(p = 0.025, df = (n-1)))*(desvío/(n)^(1/2))
- Se utiliza la distribución t-Student.
Lo relativo a la sensibilidad del intervalo de confianza respecto al tamaño de la muestra n y al nivel de significancia \alpha se abordará desde los ejemplos, pues a través de estos y de manera gráfica será mucho más evidente.
Ejemplo 1.
La distribución de la presión arterial diastólica para la población de mujeres diabéticas entre las edades de 30 y 34 años tiene una media desconocida \mu y una desviación estándar \sigma = 9.1 mm Hg. Se elige una muestra de diez mujeres diabéticas (n = 10), cuya presión arterial diastólica media es de \bar{X} = 84 mm Hg. Con esta información obtén los intervalos de confianza para niveles de confianza de 90%, 95%, 97.5%, y 99%.
- Compara los intervalos de confianza a través de un gráfico.
- Supón que la muestra es de n = 100, compara con los resultados iniciales.
Respuesta
1.
El ejemplo propuesto requiere calcular el margen en casos con varianza conocida, por lo tanto utilizaremos la distribución de probabilidad normal estándar, a continuación veremos el Script a través del cual generaremos una tabla con los intervalos de confianza para los distintos niveles de significatividad.
Ahora generamos los valores de Z_{\frac{\alpha}{2}} para distintos valores de \alpha.
.90 <- abs(qnorm(p = 0.05))
qnorm.95 <- abs(qnorm(p = 0.025))
qnorm.975 <- abs(qnorm(p = 0.0125))
qnorm.99 <- abs(qnorm(p = 0.005)) qnorm
Creamos una tabla de nombre “intervalos” para proceder a obtener los intervalos de confianza de manera más ordenada y haciendo uso de los verbos de tidyverse.
<- tibble(IC = c("IC.90", "IC.95", "IC.975", "IC.99"),
intervalos quantiles = c(qnorm.90, qnorm.95, qnorm.975, qnorm.99),
media = xbarra,
desvio = sigma,
n = tamanioMuestra)
intervalos
# A tibble: 4 × 5
IC quantiles media desvio n
<chr> <dbl> <dbl> <dbl> <dbl>
1 IC.90 1.64 84 9.1 10
2 IC.95 1.96 84 9.1 10
3 IC.975 2.24 84 9.1 10
4 IC.99 2.58 84 9.1 10
Note que la única diferencia en los insumos para obtener los intervalos de confianza es el valor de Z_{\frac{\alpha}{2}} que corresponde a la variable quantiles.
Ahora creamos las variables límite inferior (Li) y límite superior (Ls), si bien se pueden obtener de manera directa, primero crearemos una variable que se llame Margen y después haremos la operación comentada de: (\bar{X}\pm Margen) = (L_{i}, L_{s})
<- intervalos %>%
intervalos mutate(margen = quantiles*(desvio/(n)^(1/2)),
Li = media-margen,
Ls = media+margen)
%>%
intervalos kbl(caption = "Intervalos para distinto nivel de confianza") %>%
kable_minimal(latex_options = "HOLD_position")
IC | quantiles | media | desvio | n | margen | Li | Ls |
---|---|---|---|---|---|---|---|
IC.90 | 1.644854 | 84 | 9.1 | 10 | 4.733350 | 79.26665 | 88.73335 |
IC.95 | 1.959964 | 84 | 9.1 | 10 | 5.640135 | 78.35987 | 89.64013 |
IC.975 | 2.241403 | 84 | 9.1 | 10 | 6.450023 | 77.54998 | 90.45002 |
IC.99 | 2.575829 | 84 | 9.1 | 10 | 7.412394 | 76.58761 | 91.41239 |
Note que entre menor es el nivel de confianza, menor es el margen y por lo tanto menor la amplitud de los intervalos, a continuación se muestra la amplitud de los intervalos de manera numérica, pero dicha relación entre la amplitud del intervalo y el nivel de confianza quedará más clara de manera gráfica.
Amplitud numérica
<- intervalos %>%
amplitudIntervalos transmute(IC = IC,
Margen = margen,
Amplitud = Ls - Li,
Quantiles = quantiles)
%>%
amplitudIntervalos kbl(caption = "Margen y amplitud de intervalos para distinto nivel de confianza") %>%
kable_minimal(latex_options = "HOLD_position")
IC | Margen | Amplitud | Quantiles |
---|---|---|---|
IC.90 | 4.733350 | 9.466701 | 1.644854 |
IC.95 | 5.640135 | 11.280270 | 1.959964 |
IC.975 | 6.450023 | 12.900047 | 2.241403 |
IC.99 | 7.412394 | 14.824787 | 2.575829 |
Los cambios en los valores de Margen y Amplitud se deben en su totalidad al valor de Z_{\frac{\alpha}{2}} de la columna Quantiles y nos permiten formalizar verbalmente la relación entre nivel de confianza y amplitud del intervalo.
A mayor nivel de confianza, mayor amplitud del intervalo
o de manera análoga,
A menor nivel de significancia (\alpha), mayor amplitud del intervalo
La implicancia de esta relación es que al pretender tener mayor seguridad sobre el rango de valores entre los que se encuentra el parámetro, pierdo precisión, pues dicho rango se hace más grande.
Amplitud gráfica
<- position_dodge(0.1)
pd
%>% ggplot(mapping = aes(x = IC, y = media)) +
intervalos geom_errorbar(mapping = aes(ymin = Li, ymax = Ls)) +
geom_point(position = pd, size = 3, shape = 21, fill = "white") +
labs(title = "Amplitud de los intervalos según nivel de confianza",
x = "Nivel de confianza",
y = "Presión arterial diastólica") +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5)) +
scale_y_continuous(n.breaks = 20)
Con este gráfico es mucho más evidente que a mayor nivel de confianza mayor amplitud en los intervalos y por lo tanto menor precisión sobre el valor paramétrico.
2.
Los pasos requeridos para hacer el cálculo de los intervalos a partir de una tamaño de muestra de n = 100 son exactamente iguales a lo que hicimos anteriormente pero modificando el valor de n. Por lo tanto y con fines comparativos, mostraremos la diferencia gráfica entre los intervalos con n = 10 y con n = 100 y omitiremos la parte matemática en la tabla de datos2, esto va a ser mucho más útil para entender cuál es la relación entre el tamaño de la muestra y la amplitud de los intervalos.
%>% ggplot(mapping = aes(x = IC, y = media)) +
intervalos geom_errorbar(mapping = aes(ymin = Li, ymax = Ls)) +
geom_errorbar(mapping = aes(ymin = Li100, ymax = Ls100), color = "blue") +
geom_point(position = pd, size = 3, shape = 21, fill = "white") +
labs(title = "Amplitud de los intervalos según nivel de confianza y tamaño de muestra",
x = "Nivel de confianza",
y = "Presión arterial diastólica") +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5)) +
scale_y_continuous(n.breaks = 20)
Los intervalos en azul corresponden a los intervalos de confianza para un n = 100, es evidente que entre más grande sea la muestra mayor precisión podemos tener respecto al valor paramétrico, puesto que acotamos significativamente la amplitud del intervalo. Por lo tanto es válido afirmar que:
Suponiendo muestreos que cumplen con la condición de aleatoriedad, a los fines de inferir el valor del parámetro siempre será preferible tener un tamaño de muestra más grande.
Ejemplo 2.
- En la siguiente tabla se resume la información de 60 personas entrevistadas, las cuales habían mencionado previamente haber trabajo durante el mes anterior, las variables media y desvío corresponden al ingreso mensual.
genero | tamanio | Media | Desvio |
---|---|---|---|
Hombre | 39 | 5149.88 | 5309.54 |
Mujer | 21 | 3688.69 | 3486.60 |
Total | 60 | 4642.06 | 4789.72 |
- Estima mediante un intervalo de 95% de confianza el ingreso promedio mensual de los trabajadores mexicanos.
Respuesta
Dado que la varianza poblacional es desconocida, debemos hacer el cálculo del margen a través de la distribución t-Student, el resto de operaciones son exactamente iguales a las del ejemplo anterior.
En cuanto al Script lo novedoso es la agrupación con la función group_by() por género, teniendo en cuenta que nos piden calcular el intervalo de confianza para cada grupo poblacional (esto solo es necesario porque los tamaños de muestra de cada grupo poblacional son diferentes) y la utilización de la función qt() en lugar de qnorm() debido a la necesidad de utilizar la distribución t-Student en lugar de la Normal Estándar.
<- ingresos %>%
ingresos group_by(genero) %>%
mutate(quantil = abs(qt(p = 0.025, df = tamanio-1)),
margen = (Desvio/(tamanio)^(1/2))*quantil,
li = Media - margen,
ls = Media + margen)
%>%
ingresoskbl(caption = "Intervalos al 95% de confianza") %>%
kable_minimal(latex_options = "HOLD_position")
genero | tamanio | Media | Desvio | quantil | margen | li | ls |
---|---|---|---|---|---|---|---|
Hombre | 39 | 5149.88 | 5309.54 | 2.024394 | 1721.154 | 3428.726 | 6871.034 |
Mujer | 21 | 3688.69 | 3486.60 | 2.085963 | 1587.081 | 2101.609 | 5275.771 |
Total | 60 | 4642.06 | 4789.72 | 2.000995 | 1237.316 | 3404.744 | 5879.376 |
Gráfica con la comparación de los intervalos
%>% ggplot(mapping = aes(x = genero, y = Media, color = genero)) +
ingresos scale_color_manual(values = c("#BB261A","#1ABB1F", "#1A3ABB")) +
geom_errorbar(mapping = aes(ymin = li, ymax = ls), show.legend = F) +
geom_point(position = pd, size = 3, shape = 21, fill = "white", show.legend = F) +
labs(title = "Intervalos de confianza de ingresos según género y total",
x = "Género",
y = "Pesos MEX") +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5)) +
scale_y_continuous(n.breaks = 20)
Las conclusiones anteriores a partir de la distribución normal estándar relativas a tamaño de la muestra n y nivel de significancia \alpha, son también válidos para los intervalos de confianza calculados a través de la distribución t-Student.