Intervalos de Confianza y Teorema del límite central
Author
Dr. Juan Fidel Osuna-Ramos
Published
December 9, 2024
Intervalos de Confianza
Introducción:
Un intervalo de confianza (IC) es un rango de valores dentro del cual podemos decir, - con cierto nivel de confianza (e.g., 95%), que se encuentra el valor verdadero - de un parámetro poblacional (como la media). Es importante recordar que un IC - NO mide la variabilidad de los datos, sino la precisión de la estimación de un parametro, por ejemplo de la media.
Ejercicio:
Explicación paso a paso
Creación de datos simulados:
Generamos un conjunto de datos ficticio representando los niveles de glucosa en 50 personas.
Cálculo de la media y el error estándar:
La media es la estimación puntual de los datos.
El error estándar mide la precisión de la media en base al tamaño de la muestra.
Cálculo del intervalo de confianza:
Usamos la distribución t de Student debido al tamaño de muestra (n<30).
Calculamos el margen de error multiplicando el error estándar por el valor crítico de t.
Resultados:
El intervalo de confianza nos da el rango dentro del cual, con un 95% de confianza, creemos que se encuentra la verdadera media poblacional.
Visualización:
Un gráfico muestra la distribución de los datos y los límites del IC para interpretar fácilmente los resultados.
Paso 1: Crear un conjunto de datos
Simularemos un conjunto de datos que represente los niveles de glucosa (mg/dL) de 50 personas.
set.seed(123) # Aseguramos reproducibilidadniveles_glucosa <-rnorm(50, mean =100, sd =15) # Media = 100, Desviación estándar = 15niveles_glucosa
media <-mean(niveles_glucosa) # Media de los datossd <-sd(niveles_glucosa) # Desviación estándarn <-length(niveles_glucosa) # Tamaño de la muestrase <- sd /sqrt(n) # Error estándar de la mediamedia
[1] 100.5161
sd
[1] 13.88805
n
[1] 50
se
[1] 1.964067
Paso 3: Calcular el intervalo de confianza del 95%
Determinamos los límites del intervalo de confianza
El cálculo de un Intervalo de Confianza (IC) del 95% implica varios pasos clave. Vamos a desglosar y entender cada uno de ellos detalladamente.
Para calcular un IC de la media poblacional (𝜇) basado en una muestra, usamos la siguiente formula:
Paso 1: Nivel de significancia (𝛼)
El nivel de confianza (1 −𝛼) indica qué tan seguro estamos de que el intervalo contiene el valor verdadero de la media poblacional:
Para un IC del 95%, el nivel de confianza es 0.95 (𝛼= 0.05).
α=1−Nivel de Confianza
Paso 2: Valor crítico (𝑡𝛼/2)
El valor crítico (𝑡𝛼/2) determina cuántos errores estándar necesitamos sumar y restar para abarcar el 95% de los datos. Se calcula utilizando la distribución 𝑡 t de Student y depende de:
Nivel de confianza (1−α): Para un IC del 95%, usamos 𝛼/2= 0.025 para calcular el límite superior e inferior.
Grados de libertad ( 𝑑 𝑓 ): Calculado como 𝑛 − 1
(donde 𝑛 n es el tamaño de la muestra).
Fórmula:
df <- n -1alpha <-0.05# Nivel de significancia (1 - 95%)t_critico <-qt(1- alpha /2, df = n -1) # Valor crítico t para el 95%margen_error <- t_critico * se # Margen de errormargen_error
[1] 3.94694
La función qt en R calcula el valor crítico basado en:
1−α/2: Área acumulada de la cola inferior.
Grados de libertad (df).
Paso 3: Margen de error
El margen de error define qué tan lejos de la media muestral (x̄) se extiende el intervalo de confianza. Se calcula multiplicando el valor crítico (𝑡𝛼/2) por el error estándar (𝑆𝐸):
S=desviación estándar de la muestra).
n= tamaño de la muestra.
margen_error <- t_critico * se # Margen de error
Finalmente, el Intervalo de Confianza se construye sumando y restando el margen de error a la media muestral:
ic_inf <- media - margen_erroric_inf
[1] 96.56911
ic_sup <- media + margen_erroric_sup
[1] 104.463
# Resultadocat("Media:", round(media, 2), "\n")
Media: 100.52
cat("Intervalo de Confianza del 95%: [", round(ic_inf, 2), ",", round(ic_sup, 2), "]\n")
Intervalo de Confianza del 95%: [ 96.57 , 104.46 ]
Podemos interpretar que con un 95% de confianza, la verdadera media de glucosa en la población se encuentra entre 96.5 mg/dL y 104.53 mg/dL
Este análisis es esencial para reportar resultados en investigaciones científicas, ya que muestra no solo la estimación puntual sino también la precisión de la misma.
Ejemplo práctico
Supongamos:
Media muestral (x̄) = 100
Desviación estándar (S) = 15
Tamaño de muestra (n) = 30
# Establecemos Parámetrosalpha <-0.05n <-15S <-30media <-100# Error estándarse <- S /sqrt(n)# Valor crítico tt_critico <-qt(1- alpha /2, df = n -1)# Margen de errormargen_error <- t_critico * se# Intervalo de confianzaic_inf <- media - margen_erroric_sup <- media + margen_errorcat("Intervalo de Confianza del 95%:", round(ic_inf, 2), "-", round(ic_sup, 2), "\n")
Intervalo de Confianza del 95%: 83.39 - 116.61
Resumen gráfico
Puedes visualizar el cálculo del IC en un gráfico para mayor claridad:
library(ggplot2)# Crear un data framedf <-data.frame(media = media,ic_inf = ic_inf,ic_sup = ic_sup)# Graficar el ICggplot(df, aes(x =1, y = media)) +geom_point(size =3, color ="red") +ylim(0,200) +geom_errorbar(aes(ymin = ic_inf, ymax = ic_sup), width =0.2, color ="blue") +labs(title ="Intervalo de Confianza del 95% para la Media",x ="Muestra",y ="Media") +theme_minimal()
t_critico <-qt(1- alpha /2, df = n -1)
Calculo en R
# Datos simuladosset.seed(123)datos <-rnorm(30, mean =100, sd =15)# Calcular estadísticasmedia <-mean(datos) # Media muestral ( <- = aparece con alt + - (gión))sd <-sd(datos) # Desviación estándar muestraln <-length(datos) # Tamaño de la muestrase <- sd /sqrt(n) # Error estándar# Nivel de significanciaalpha <-0.05# Valor crítico tt_critico <-qt(1- alpha /2, df = n -1)# Margen de errormargen_error <- t_critico * se# Intervalo de confianzaic_inf <- media - margen_erroric_sup <- media + margen_errorcat("Media:", round(media, 2), "\n")
Media: 99.29
cat("Intervalo de Confianza del 95%: [", round(ic_inf, 2), ",", round(ic_sup, 2), "]\n")
Intervalo de Confianza del 95%: [ 93.8 , 104.79 ]
Interpretación
El Intervalo de Confianza del 95% indica que estamos 95% seguros de que el verdadero valor poblacional de μ está entre [IC inf - IC sup]
Este rango refleja tanto la variabilidad en los datos como el tamaño de la muestra.
El valor tα/2 ajusta el margen de error según el tamaño de la muestra y su variabilidad.
Cuadro Resumen: Cálculo de Intervalos de Confianza para Diferentes Parámetros
A continuación, se presenta un cuadro que resume los métodos de cálculo de intervalos de confianza (IC) para los parámetros más comunes en estadística:
Diferencias entre Intervalos de Confianza y el Valor p
Intervalos de Confianza (IC):
Los IC nos dan un rango plausible para el valor verdadero de un parámetro (como la media o una diferencia entre medias).
Interpretación: Un IC del 95% indica que, si repitiéramos el estudio múltiples veces, el 95% de esos intervalos incluiría el valor verdadero del parámetro.
Valor p:
El valor p indica la probabilidad de observar un efecto tan extremo (o más) que el encontrado, bajo la hipótesis nula (H0).
Es una herramienta para tomar decisiones sobre rechazar o no H0.
Diferencia práctica:
El IC proporciona información sobre la magnitud y precisión del efecto estimado.
El valor p solo indica si un efecto es estadísticamente significativo, sin proporcionar información directa sobre su magnitud.
Uso de R: Comparación entre IC y valor p
Paso 1: Datos del Ejemplo
Simulamos datos de niveles de glucosa:
set.seed(123)niveles_glucosa <-rnorm(200, mean =100, sd =15) # Media = 100, SD = 15
Paso 2: Cálculo del IC 95%
# Calcular estadísticosmedia <-mean(niveles_glucosa) # Media muestralsd <-sd(niveles_glucosa) # Desviación estándar muestraln <-length(niveles_glucosa) # Tamaño de la muestrase <- sd /sqrt(n) # Error estándar# IC 95%alpha <-0.05t_critico <-qt(1- alpha /2, df = n -1) # Valor crítico de tmargen_error <- t_critico * se # Margen de erroric_inf <- media - margen_erroric_sup <- media + margen_errorcat("Intervalo de Confianza del 95%: [", round(ic_inf, 2), ",", round(ic_sup, 2), "]\n")
Intervalo de Confianza del 95%: [ 97.9 , 101.84 ]
Paso 3: Cálculo del Valor p
Supongamos que queremos probar si la media poblacional es igual a 95 ( H0:μ=95):
# Prueba t para media poblacional de 95t_test <-t.test(niveles_glucosa, mu =95) # Hipótesis nula: media = 95# Resultado del valor pcat("Valor p:", t_test$p.value, "\n")
Valor p: 2.2747e-06
Resultados:
IC 95%: Muestra el rango en el que creemos que está la verdadera media de los niveles de glucosa.
Ejemplo: Si el IC es [93.8,103.2], sabemos que con un 95% de confianza, la verdadera media de la población está dentro de este rango.
Valor p: Mide si los datos respaldan H0.
Ejemplo: Si el valor p es < 0.05, rechazamos H0 (es decir, creemos que la media no es 95).
Visualización: IC vs Valor p
Podemos usar un gráfico para explicar cómo el IC y el valor p se relacionan visualmente.
library(ggplot2)# Crear un data frame para el gráficodf <-data.frame(media = media,ic_inf = ic_inf,ic_sup = ic_sup)# Graficarggplot(df, aes(x =1)) +geom_errorbar(aes(ymin = ic_inf, ymax = ic_sup), width =0.2, color ="blue") +ylim(0,200)+geom_point(aes(y = media), size =4, color ="red") +geom_hline(yintercept =95, linetype ="dashed", color ="black", size =1.2) +labs(title ="Comparación entre Intervalos de Confianza e Hipótesis Nula",x ="Muestra (niveles de glucosa)",y ="Niveles de Glucosa (mg/dL)" ) +theme_minimal()
Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
ℹ Please use `linewidth` instead.
Interpretación del Gráfico
Intervalo de Confianza:
La línea azul muestra el rango plausible para la verdadera media de la población.
Si H0=95 cae fuera del intervalo (línea negra discontinua), podemos concluir que es improbable que μ=95
Valor p:
Si el valor p es menor que α=0.05, rechazamos H0, que es consistente con el hecho de que el IC no incluye 95.
Ventaja de combinar IC y valor p
IC: Proporciona una visión más rica, mostrando la magnitud del efecto y su precisión.
Valor p: Permite tomar decisiones rápidas sobre la hipótesis nula, pero no indica la magnitud del efecto.
Conclusión
En investigaciones epidemiológicas, los IC son preferibles porque no solo indican si un efecto es significativo, sino también qué tan grande o preciso es el efecto estimado.
El valor p complementa este análisis, ayudándonos a determinar si debemos rechazar una hipótesis nula específica.
Cuando comparamos dos grupos, los Intervalos de Confianza (IC) y el valor p son herramientas complementarias para interpretar las diferencias. A continuación, te presento un ejemplo detallado en R para comparar dos grupos con un enfoque en la estimación de IC y el valor p.
Comparación de Dos Grupos
Supongamos que queremos comparar los niveles de glucosa entre dos grupos: grupo control y grupo experimental.
Datos Simulados
set.seed(123) # Reproducibilidad# Simular datosgrupo_control <-rnorm(30, mean =100, sd =15) # Media = 100, SD = 15grupo_experimental <-rnorm(30, mean =110, sd =15) # Media = 110, SD = 15
Paso 1: Cálculo del Intervalo de Confianza para la Diferencia de Medias
Fórmula:
Código para IC
# Estadísticas descriptivasmedia_control <-mean(grupo_control)media_experimental <-mean(grupo_experimental)sd_control <-sd(grupo_control)sd_experimental <-sd(grupo_experimental)n_control <-length(grupo_control)n_experimental <-length(grupo_experimental)# Diferencia de mediasdiferencia <- media_experimental - media_control# Error estándar combinadose <-sqrt((sd_control^2/ n_control) + (sd_experimental^2/ n_experimental))# Valor crítico t para IC del 95%alpha <-0.05t_critico <-qt(1- alpha /2, df = n_control + n_experimental -2)# Margen de errormargen_error <- t_critico * se# Límites del ICic_inf <- diferencia - margen_erroric_sup <- diferencia + margen_errorcat("Diferencia de medias:", round(diferencia, 2), "\n")
Diferencia de medias: 13.38
cat("Intervalo de Confianza del 95%: [", round(ic_inf, 2), ",", round(ic_sup, 2), "]\n")
Intervalo de Confianza del 95%: [ 6.32 , 20.44 ]
Paso 2: Prueba de Hipótesis y Valor p
Usamos una prueba t para dos muestras independientes para determinar si la diferencia es estadísticamente significativa.
Código para Prueba t
# Prueba t para dos muestras independientest_test <-t.test(grupo_control, grupo_experimental, var.equal =TRUE)# Resultadoscat("Valor p:", t_test$p.value, "\n")
Valor p: 0.0003576581
cat("Diferencia estimada (t-test):", t_test$estimate, "\n")
Diferencia estimada (t-test): 99.29344 112.6751
Paso 3: Visualización de los Resultados
Podemos graficar las distribuciones de ambos grupos y superponer los IC para la diferencia de medias.
Código para Visualización
library(ggplot2)# Crear un data frame con los datosdf <-data.frame(grupo =rep(c("Control", "Experimental"), each =30),niveles_glucosa =c(grupo_control, grupo_experimental))# Graficar los datosggplot(df, aes(x = grupo, y = niveles_glucosa, fill = grupo)) +geom_boxplot(alpha =0.7, outlier.colour ="red") +geom_point(position =position_jitter(width =0.1), alpha =0.5) +labs(title ="Comparación de Niveles de Glucosa entre Grupos",x ="Grupo",y ="Niveles de Glucosa (mg/dL)" ) +theme_minimal() +scale_fill_manual(values =c("#00BFC4", "#F8766D"))
¿Te gustaría agregar la significancia al gráfico?
Para agregar la significancia a un gráfico de comparación entre dos grupos con ggpubr, puedes usar la función stat_compare_means() que simplifica la adición de etiquetas de significancia estadística al gráfico.
# Instalar ggpubr si no lo tienes# install.packages("ggpubr")library(ggplot2)library(ggpubr)# Crear un data frame con los datosdf <-data.frame(grupo =rep(c("Control", "Experimental"), each =30),niveles_glucosa =c(grupo_control, grupo_experimental))# Graficar los datos con significanciaggplot(df, aes(x = grupo, y = niveles_glucosa, fill = grupo)) +geom_boxplot(alpha =0.7, outlier.colour ="red") +geom_point(position =position_jitter(width =0.1), alpha =0.5) +labs(title ="Comparación de Niveles de Glucosa entre Grupos",x ="Grupo",y ="Niveles de Glucosa (mg/dL)" ) +theme_minimal() +scale_fill_manual(values =c("#00BFC4", "#F8766D")) +stat_compare_means(method ="t.test", # Realizar prueba tlabel ="p.format", # Mostrar el valor p en formato estándar o lo puedes cambiar por "p.signif" para asteriscoslabel.y =max(df$niveles_glucosa) +5# Ajustar la posición de la etiqueta ,label.x=1.5)
stat_compare_means():
Agrega la significancia estadística al gráfico.
El argumento method especifica el tipo de prueba estadística (en este caso, t.test para comparar dos medias).
label = "p.format":
Formatea el valor p que se mostrará en el gráfico.
label.y:
Ajusta la posición vertical de la etiqueta para que no interfiera con los datos.
Interpretación del Gráfico
Ahora, el gráfico incluye un indicador visual del valor p, mostrando si la diferencia entre los grupos es estadísticamente significativa.
Si el valor p es menor a 0.05, los resultados son considerados estadísticamente significativos.
Entonces:
Intervalo de Confianza (IC):
Proporciona un rango para la diferencia entre medias.
Ejemplo: Si el IC es [8.5,13.2], podemos decir con un 95% de confianza que la verdadera diferencia de medias está en este rango.
Valor p:
Determina si la diferencia entre las medias es estadísticamente significativa.
Ejemplo: Si p<0.05, rechazamos la hipótesis nula de que las medias son iguales.
Interpretación: IC vs Valor p
El IC:
Nos dice no solo si la diferencia es significativa, sino también cuán grande es la diferencia y qué tan precisa es la estimación.
El Valor p:
Solo nos dice si la diferencia es significativa a un nivel específico (α=0.05).
En este ejemplo:
El IC muestra la magnitud y precisión de la diferencia de medias.
El valor p complementa este análisis al indicar si la diferencia es estadísticamente significativa.
Este enfoque integrado es esencial para reportar resultados significativos en la investigación😊.