Un Intervalo de Confianza (IC) es un rango de valores, calculado a partir de los datos de una muestra, que se utiliza para estimar un parámetro desconocido de toda la población (por ejemplo, la altura promedio real de todos los habitantes de un país).
En lugar de darnos una única estimación (como la media de la muestra), el IC nos proporciona un "rango plausible" para el verdadero valor.
Imagina que el verdadero valor del parámetro poblacional (que no conocemos) es un poste fijo en el suelo.
Interpretación Correcta: "Tenemos un 95% de confianza en que el método que usamos para generar este intervalo da como resultado un rango que contiene el verdadero parámetro poblacional."
Error Común: Es incorrecto decir: "Hay un 95% de probabilidad de que el verdadero valor esté dentro de este intervalo específico que acabo de calcular". Una vez que el intervalo está calculado (ej., [1.70m, 1.75m]), el verdadero valor o está dentro o no lo está. La probabilidad es 1 o 0. La confianza del 95% se refiere a la fiabilidad del proceso a largo plazo, no a un único intervalo.
Los intervalos de confianza son más informativos que un simple p-value, ya que no solo sugieren si un efecto es significativo, sino que también proporcionan una estimación de la magnitud y la precisión de ese efecto.
Cuando nuestro objetivo es estimar el promedio de una población (como el salario medio, la altura media, etc.), construimos un intervalo de confianza para la media. La estructura de este intervalo es siempre la misma:
Intervalo de Confianza = Estimación Puntual ± Margen de Error
El margen de error se compone de dos piezas clave:
Margen de Error = (Valor Crítico) × (Error Estándar)
s / √n
.
s
es la desviación estándar de nuestra muestra.n
es el tamaño de la muestra. ¡Nota cómo al aumentar n
, el error estándar disminuye, dándonos más precisión!Juntando todo, la fórmula más común para el intervalo de confianza de una media es:
IC = x̄ ± t* * (s / √n)
Esta fórmula nos da un rango que, con un cierto nivel de confianza, probablemente contiene la verdadera media de la población.
A menudo, no queremos estimar un promedio, sino un porcentaje o proporción en una población. Por ejemplo, ¿qué porcentaje de la población apoya a un candidato? ¿Qué proporción de productos de una fábrica son defectuosos?
La lógica es idéntica a la de las medias:
Intervalo de Confianza = Proporción Muestral (p̂) ± Margen de Error
(Valor Crítico) × (Error Estándar)
.
La fórmula para el intervalo de confianza de una proporción es:
IC = p̂ ± Z* * √[ (p̂ * (1 - p̂)) / n ]
Donde:
p̂
(p-gorro) es la proporción observada en nuestra muestra.Z*
es el valor crítico de la distribución normal para el nivel de confianza deseado.n
es el tamaño de la muestra.Nota: Esta fórmula funciona bien cuando la muestra es lo suficientemente grande. Las librerías de Python a menudo usan métodos más robustos (como el método de Wilson, visto en el código más abajo) que funcionan bien incluso con muestras más pequeñas.
Aunque es crucial entender la teoría, en la práctica siempre usaremos software estadístico para calcular los intervalos de confianza. Python, con sus librerías scipy
y statsmodels
, hace este proceso directo y preciso.
A continuación, se muestra cómo calcular los intervalos de confianza para los dos casos que hemos discutido.
import numpy as np
from scipy import stats
# Se importa la función específica para el IC de proporción para corregir el error
from statsmodels.stats.proportion import proportion_confint
# --- Ejemplo 1: Intervalo de Confianza para la Media (Distribución t) ---
print("--- IC para la Media ---")
# Datos de ejemplo (ej., tiempos de respuesta en segundos)
data_media = np.array([12.1, 15.3, 11.8, 18.0, 14.5, 13.2, 16.7, 10.9, 17.5, 12.9])
# Nivel de confianza deseado (ej., 95%)
confidence_level = 0.95
# Usando scipy.stats.t.interval
# df = grados de libertad (n-1)
# loc = media de la muestra
# scale = error estándar de la media
interval_scipy_mean = stats.t.interval(confidence_level,
len(data_media)-1,
loc=np.mean(data_media),
scale=stats.sem(data_media))
print(f"Datos: {data_media}")
print(f"Media muestral: {np.mean(data_media):.2f}")
print(f"IC del {confidence_level*100:.0f}% para la media (scipy): ({interval_scipy_mean[0]:.2f}, {interval_scipy_mean[1]:.2f})")
# --- Ejemplo 2: Intervalo de Confianza para la Proporción ---
print("\n--- IC para la Proporción ---")
# Supongamos que en una muestra de 500 personas, 280 prefieren el producto A
n_total = 500
x_exitos = 280
# Proporción muestral
prop_muestral = x_exitos / n_total
# Usando la función importada directamente
# method='wilson' es un método robusto para IC de proporciones
lower, upper = proportion_confint(x_exitos, n_total, alpha=(1-confidence_level), method='wilson')
print(f"Total de la muestra: {n_total}")
print(f"Número de éxitos: {x_exitos}")
print(f"Proporción muestral: {prop_muestral:.3f}")
print(f"IC del {confidence_level*100:.0f}% para la proporción (statsmodels): ({lower:.3f}, {upper:.3f})")
(12.49, 16.09)
. Esto significa que, con un 95% de confianza, estimamos que el verdadero tiempo de respuesta promedio de la población se encuentra entre 12.49 y 16.09 segundos.
(0.516, 0.603)
. Nuestra conclusión es que, con un 95% de confianza, la verdadera proporción de personas en la población que prefieren el producto A está entre el 51.6% y el 60.3%. Como este intervalo no contiene el 50% (0.50), también nos da evidencia para creer que el producto A es preferido por una mayoría.