Fundamentos teóricos, metodología científica y aplicaciones computacionales
“La estadística es, en principio, una ciencia auxiliar. Los procedimientos estadísticos deben ayudar, por lo tanto, a encontrar, verificar y/o rechazar, si es el caso, ciertos aspectos, relaciones, reglas, propiedades, etc., que pueden ser relevantes para algún problema de interés.”
🏷️ Variables Independientes (X)
📉 Variables Dependientes (Y)
Problema Real
Identificación de variables
Modelo Probabilístico
\(f_Y(y, \theta)\)
Recolección de Datos
Muestra \(Y_1, ..., Y_n\)
Análisis Estadístico
Inferencia sobre θ
“Por lo general, no se trabaja con toda la muestra \(Y\), sino con funciones \(S(Y)\), llamadas estadísticas, que consisten en una reducción de la dimensión de la observación.”
1️⃣
2️⃣
3️⃣
\[ \text{Problema} \Rightarrow \text{Modelo} \Rightarrow \text{Datos} \Rightarrow \text{Análisis} \]
“El esquema anterior debe mantenerse en mente para estudiar y aprender los conceptos fundamentales de Estadística. El esquema no es de una sola dirección; debe volverse siempre a los pasos anteriores, comprobando, verificando, modificando y, finalmente, interpretando los resultados de los análisis en términos del problema original.”
🔄 Ciclo Iterativo
🎯 Interpretación Contextual
🎓 FILOSOFÍA DE LA ESTADÍSTICA INFERENCIAL
Ciencia auxiliar • Metodología rigurosa • Pensamiento crítico • Aplicación práctica • Herramienta para la toma de decisiones informadas
1. Problema: Un laboratorio farmacéutico quiere determinar si un nuevo medicamento para reducir la presión arterial es efectivo.
2. Modelo: La variable de interés es la reducción media
de presión (en mmHg) en pacientes. Se asume que esta reducción sigue una
distribución Normal: Y ~ N(μ, σ²), donde μ
(parámetro θ) es la reducción media poblacional real.
3. Datos: Se administra el fármaco a n=100
pacientes seleccionados aleatoriamente y se mide la reducción en cada
uno, obteniendo la muestra y = (y₁, y₂, …, y₁₀₀).
4. Análisis:
x̄ como estimador μ̂.
1. Problema: Un ingeniero de producción necesita asegurar que la proporción de piezas defectuosas en una línea de montaje no supere el 2%.
2. Modelo: La variable es si una pieza es defectuosa
(éxito=1) o no (fracaso=0). El número de defectuosas en una muestra de n
piezas sigue una distribución Binomial: X ~ Binomial(n, p),
donde p (parámetro θ) es la proporción real de defectos
en la población.
3. Datos: Se inspeccionan n=500 piezas al
azar de un día de producción. Se cuenta cuántas son defectuosas, digamos
x=8.
4. Análisis:
p̂ = 8/500 = 0.016 como estimador de p.
1. Problema: Una startup de tecnología quiere saber si el tiempo promedio de respuesta de su aplicación móvil es menor a 3 segundos tras una actualización.
2. Modelo: La variable es el tiempo de respuesta (en
segundos) para una acción específica. Por el Teorema del Límite Central,
la media muestral de estos tiempos tenderá a una distribución Normal,
incluso si los tiempos individuales no la siguen: X̄ ~ N(μ,
σ²/n), donde μ es el tiempo medio poblacional
real.
3. Datos: Se registran automáticamente los tiempos de
n=200 usuarios seleccionados aleatoriamente después de la
actualización.
4. Análisis:
x̄ = 2.8 s.
# Simulación de datos: Reducción de presión arterial en 100 pacientes
set.seed(123)
reduccion <- rnorm(100, mean = 7, sd = 2) # μ=7, σ=2
# 1. Estimación Puntual (Media muestral)
estimacion_puntual <- mean(reduccion)
cat("Estimación puntual (μ̂):", round(estimacion_puntual, 2), "mmHg\n")
# 2. Intervalo de Confianza del 95%
ic <- t.test(reduccion, conf.level = 0.95)$conf.int
cat("IC 95% para μ: [", round(ic[1],2), ", ", round(ic[2],2), "] mmHg\n")
# 3. Prueba de Hipótesis (Unilateral derecha: H1: μ > 0)
prueba <- t.test(reduccion, alternative = "greater", mu = 0)
cat("Prueba H0: μ ≤ 0 vs H1: μ > 0\n")
cat("Estadístico t:", round(prueba$statistic, 3), "\n")
cat("Valor p:", format.pval(prueba$p.value, digits=3), "\n")
if(prueba$p.value < 0.05) {
cat("Conclusión: Rechazamos H0. El fármaco es efectivo.\n")
} else {
cat("Conclusión: No hay evidencia suficiente para rechazar H0.\n")
}
import numpy as np
import statsmodels.stats.proportion as smprop
# Datos: 8 defectuosas en 500 piezas
n, x = 500, 8
p_muestral = x / n
# 1. Estimación Puntual
print(f"Estimación puntual (p̂): {p_muestral:.3%}")
# 2. Intervalo de Confianza del 99% (Método de Wilson)
ic_inf, ic_sup = smprop.proportion_confint(x, n, alpha=0.01, method='wilson')
print(f"IC 99% para p: [{ic_inf:.3%}, {ic_sup:.3%}]")
# 3. Prueba de Hipótesis (Unilateral derecha: H1: p > 0.02)
# Estadístico Z y valor p
from statsmodels.stats.proportion import proportions_ztest
z_stat, p_value = proportions_ztest(x, n, value=0.02, alternative='larger')
print(f"\nPrueba H0: p ≤ 0.02 vs H1: p > 0.02")
print(f"Estadístico Z: {z_stat:.3f}")
print(f"Valor p: {p_value:.4f}")
if p_value < 0.01: # Nivel de significancia del 1%
print("Conclusión: Rechazamos H0. Evidencia de que la tasa de defectos > 2%.")
else:
print("Conclusión: No hay evidencia suficiente para rechazar H0.")
Fundamentos teóricos, teoremas clave y aplicaciones prácticas con R y Python
Supuestos básicos: Variables \(Y_1, Y_2, ..., Y_n\) independientes e idénticamente distribuidas (i.i.d.) de una población bajo estudio.
\[ \bar{Y} = \frac{1}{n} \sum_{i=1}^n Y_i \]
Sea \(Y_1, Y_2, ..., Y_n\) una muestra aleatoria de tamaño \(n\) de una distribución normal con media \(\mu\) y varianza \(\sigma^2\). Entonces:
\[ \bar{Y} \sim N\left(\mu, \frac{\sigma^2}{n}\right) \]
Contexto: Máquina llena botellas con distribución normal, \(\sigma = 1.0\) onza. Muestra de \(n = 9\) botellas.
Calcular \(P(|\bar{Y} - \mu| \leq 0.3)\):
\[ \begin{aligned} P(|\bar{Y} - \mu| \leq 0.3) &= P\left(-\frac{0.3}{\sigma/\sqrt{n}} \leq Z \leq \frac{0.3}{\sigma/\sqrt{n}}\right) \\ &= P\left(-\frac{0.3}{1/\sqrt{9}} \leq Z \leq \frac{0.3}{1/\sqrt{9}}\right) \\ &= P(-0.9 \leq Z \leq 0.9) = 0.6318 \end{aligned} \]
Encontrar \(n\) tal que \(P(|\bar{Y} - \mu| \leq 0.3) = 0.95\):
\[ \begin{aligned} \frac{0.3}{\sigma/\sqrt{n}} &= 1.96 \quad (\text{valor crítico para } 95\%) \\ 0.3\sqrt{n} &= 1.96 \\ n &= \left(\frac{1.96}{0.3}\right)^2 = 42.68 \approx 43 \end{aligned} \]
# Parámetros sigma <- 1.0; n <- 9; delta <- 0.3 # (a) Probabilidad z_score <- delta / (sigma / sqrt(n)) prob_a <- pnorm(z_score) - pnorm(-z_score) # Resultado: 0.6318 # (b) Tamaño muestral z_alpha <- qnorm(0.975) # 1.96 para 95% n_b <- ceiling((z_alpha * sigma / delta)^2) # Resultado: 43
# Parámetros dados
sigma <- 1.0 # Desviación estándar poblacional
n <- 9 # Tamaño de la muestra
delta <- 0.3 # Margen de error (0.3 onzas)
mu <- 0 # Media real (asumimos μ = 0 para la gráfica)
# Error estándar de la media
se <- sigma / sqrt(n)
# Límites del área a sombrear
lower_limit <- mu - delta
upper_limit <- mu + delta
# Crear una secuencia de valores para la distribución normal
x <- seq(mu - 4 * se, mu + 4 * se, length.out = 1000)
# Calcular la densidad de la distribución normal
y <- dnorm(x, mean = mu, sd = se)
# Graficar la distribución normal
plot(x, y, type = "l", lwd = 2, col = "blue",
xlab = "Media muestral (Ȳ)", ylab = "Densidad",
main = "Distribución normal de la media muestral -Julio Hurtado")
# Sombrear el área entre lower_limit y upper_limit
x_shade <- seq(lower_limit, upper_limit, length.out = 1000)
y_shade <- dnorm(x_shade, mean = mu, sd = se)
polygon(c(lower_limit, x_shade, upper_limit), c(0, y_shade, 0), col = "lightblue", border = NA)
# Añadir líneas verticales para los límites
abline(v = lower_limit, col = "red", lty = 2, lwd = 2)
abline(v = upper_limit, col = "red", lty = 2, lwd = 2)
# Añadir leyenda
legend("topright", legend = c("Distribución normal", "Área sombreada (P(|Ȳ - μ| ≤ 0.3))"),
col = c("blue", "lightblue"), lwd = 2, lty = c(1, NA), fill = c(NA, "lightblue"), border = NA)
# Parámetros dados
sigma <- 1.0 # Desviación estándar poblacional
n <- 9 # Tamaño de la muestra (inciso a)
delta <- 0.3 # Margen de error (0.3 onzas)
prob <- 0.95 # Probabilidad deseada (inciso b)
# (a) Probabilidad de que la media muestral esté a lo más 0.3 onzas de μ
z_score <- delta / (sigma / sqrt(n)) # Cálculo del puntaje Z
prob_a <- pnorm(z_score) - pnorm(-z_score) # Probabilidad usando la distribución normal
# Mostrar resultado del inciso (a)
print(paste("(a) La probabilidad de que la media muestral esté a lo más 0.3 onzas de μ es:", round(prob_a, 4)))
## [1] "(a) La probabilidad de que la media muestral esté a lo más 0.3 onzas de μ es: 0.6319"
# (b) Tamaño de la muestra para que la media esté a lo más 0.3 onzas de μ con probabilidad 0.95
z_alpha <- qnorm((1 + prob) / 2) # Valor crítico de Z para una probabilidad de 0.95
n_b <- ceiling((z_alpha * sigma / delta)^2) # Cálculo del tamaño de la muestra
# Mostrar resultado del inciso (b)
print(paste("(b) El tamaño de la muestra necesario para que la media esté a lo más 0.3 onzas de μ con una probabilidad de 0.95 es:", n_b))
## [1] "(b) El tamaño de la muestra necesario para que la media esté a lo más 0.3 onzas de μ con una probabilidad de 0.95 es: 43"
Sea \(Y_1, Y_2, ..., Y_n\) una muestra aleatoria de una distribución normal con media \(\mu\) y varianza \(\sigma^2\).
\[ \sum_{i=1}^n \frac{(Y_i - \mu)^2}{\sigma^2} \sim \chi^2_{(n)} \]
Problema: \(Z_1, ..., Z_6 \sim N(0,1)\), hallar \(b\) tal que \(P(\sum Z_i^2 \leq b) = 0.95\)
\[ \sum_{i=1}^6 Z_i^2 \sim \chi^2_{(6)} \\ P(\chi^2_{(6)} \leq 12.5916) = 0.95 \\ \Rightarrow b = 12.5916 \]
Implementación R: qchisq(0.95,
df=6)
Teorema: Para muestra normal:
\[ \frac{(n-1)S^2}{\sigma^2} \sim \chi^2_{(n-1)} \]
Propiedad clave: \(\bar{Y}\) y \(S^2\) son independientes
📊 Problema
🎯 Solución
# Parámetros dados
n <- 6 # Tamaño de la muestra (grados de libertad)
prob <- 0.95 # Probabilidad deseada
# Encontrar el valor crítico b usando la distribución chi-cuadrado
b <- qchisq(prob, df = n)
# Mostrar el valor de b
print(paste("El valor de b tal que P(∑Z_i² ≤ b) = 0.95 es:", round(b, 4)))
## [1] "El valor de b tal que P(∑Z_i² ≤ b) = 0.95 es: 12.5916"
# Crear una secuencia de valores para la distribución chi-cuadrado
x <- seq(0, 20, length.out = 1000)
# Calcular la densidad de la distribución chi-cuadrado
y <- dchisq(x, df = n)
# Graficar la distribución chi-cuadrado
plot(x, y, type = "l", lwd = 2, col = "blue",
xlab = "Valores de ∑Z_i²", ylab = "Densidad",
main = "Distribución chi-cuadrado con 6 grados de libertad")
# Sombrear el área correspondiente a P(∑Z_i² ≤ b)
x_shade <- seq(0, b, length.out = 1000)
y_shade <- dchisq(x_shade, df = n)
polygon(c(0, x_shade, b), c(0, y_shade, 0), col = "lightblue", border = NA)
# Añadir una línea vertical en el valor crítico b
abline(v = b, col = "red", lty = 2, lwd = 2)
# Añadir leyenda
legend("topright", legend = c("Distribución chi-cuadrado", "Área sombreada (P(∑Zi²≤ b) = 0.95)"),
col = c("blue", "lightblue"), lwd = 2, lty = c(1, NA), fill = c(NA, "lightblue"), border = NA)
# Parámetros dados
n <- 10 # Tamaño de la muestra
sigma <- 1.0 # Desviación estándar poblacional
alpha <- 0.10 # Nivel de significancia (1 - 0.90)
# Grados de libertad
df <- n - 1
# Encontrar los valores críticos de la distribución chi-cuadrado
b1 <- qchisq(alpha / 2, df) * sigma^2 / df
b2 <- qchisq(1 - alpha / 2, df) * sigma^2 / df
# Mostrar los resultados
print(paste("El valor de b1 es:", round(b1, 4)))
## [1] "El valor de b1 es: 0.3695"
print(paste("El valor de b2 es:", round(b2, 4)))
## [1] "El valor de b2 es: 1.8799"
# Crear una secuencia de valores para la distribución chi-cuadrado
x <- seq(0, 30, length.out = 1000)
# Calcular la densidad de la distribución chi-cuadrado
y <- dchisq(x, df = df)
# Graficar la distribución chi-cuadrado
plot(x, y, type = "l", lwd = 2, col = "blue",
xlab = "Varianza muestral (S²)", ylab = "Densidad",
main = "Distribución chi-cuadrado con 9 grados de libertad")
# Sombrear el área correspondiente a P(b1 ≤ S² ≤ b2)
x_shade <- seq(b1, b2, length.out = 1000)
y_shade <- dchisq(x_shade, df = df)
polygon(c(b1, x_shade, b2), c(0, y_shade, 0), col = "lightblue", border = NA)
# Añadir líneas verticales para los límites
abline(v = b1, col = "red", lty = 2, lwd = 2)
abline(v = b2, col = "red", lty = 2, lwd = 2)
# Añadir leyenda
legend("topright", legend = c("Distribución chi-cuadrado", "Área sombreada (P(b1 ≤ S² ≤ b2) = 0.90)"),
col = c("blue", "lightblue"), lwd = 2, lty = c(1, NA), fill = c(NA, "lightblue"), border = NA)
Sea \(Z \sim N(0,1)\) y \(\chi^2_\nu \sim \chi^2(\nu)\) independientes. Entonces:
\[ T = \frac{Z}{\sqrt{\chi^2_\nu / \nu}} \sim t_{(\nu)} \]
Contexto: Resistencia a tensión ∼ \(N(\mu, \sigma^2)\), \(n=6\) segmentos
\[ \frac{\bar{Y} - \mu}{S/\sqrt{n}} \sim t_{(5)} \\ P(|\bar{Y} - \mu| \leq 2S/\sqrt{n}) = P(-2 \leq t_{(5)} \leq 2) = 0.8980 \]
Comparación con σ conocida: \(P(-2 \leq Z \leq 2) = 0.9544\)
# Parámetros n <- 6; k <- 2; df <- n-1 # Probabilidad usando t-Student prob_t <- pt(k, df) - pt(-k, df) # 0.8980 # Comparación con normal (σ conocida) prob_z <- pnorm(k) - pnorm(-k) # 0.9544 # Gráfico distribución t x <- seq(-4, 4, length=1000) y <- dt(x, df) plot(x, y, type="l", main="Distribución t(5)")
# Parámetros dados
n <- 6 # Tamaño de la muestra
k <- 2 # Factor de escala (2 en este caso)
# Grados de libertad
df <- n - 1
# Calcular la probabilidad usando la distribución t de Student
prob <- pt(k, df = df) - pt(-k, df = df)
# Mostrar la probabilidad
print(paste("La probabilidad de que Ȳ esté a lo más a 2S/√n de μ es:", round(prob, 4)))
## [1] "La probabilidad de que Ȳ esté a lo más a 2S/√n de μ es: 0.8981"
# Crear una secuencia de valores para la distribución t de Student
x <- seq(-4, 4, length.out = 1000)
# Calcular la densidad de la distribución t de Student
y <- dt(x, df = df)
# Graficar la distribución t de Student
plot(x, y, type = "l", lwd = 2, col = "blue",
xlab = "Valores de t", ylab = "Densidad",
main = "Distribución t de Student con 5 grados de libertad")
# Sombrear el área correspondiente a P(-2 ≤ t ≤ 2)
x_shade <- seq(-k, k, length.out = 1000)
y_shade <- dt(x_shade, df = df)
polygon(c(-k, x_shade, k), c(0, y_shade, 0), col = "lightblue", border = NA)
# Añadir líneas verticales para los límites
abline(v = -k, col = "red", lty = 2, lwd = 2)
abline(v = k, col = "red", lty = 2, lwd = 2)
# Añadir leyenda
legend("topright", legend = c("Distribución t de Student", "Área sombreada (P(-2 ≤ t ≤ 2))"),
col = c("blue", "lightblue"), lwd = 2, lty = c(1, NA), fill = c(NA, "lightblue"), border = NA)
Sean \(\chi^2_{\nu_1}\) y \(\chi^2_{\nu_2}\) independientes con \(\nu_1\) y \(\nu_2\) grados de libertad.
\[ F = \frac{\chi^2_{\nu_1} / \nu_1}{\chi^2_{\nu_2} / \nu_2} \sim F_{(\nu_1, \nu_2)} \]
Problema: \(n_1=6\), \(n_2=10\), poblaciones normales con igual varianza
\[ \frac{S_1^2}{S_2^2} \sim F_{(5,9)} \\ P\left(\frac{S_1^2}{S_2^2} \leq b\right) = 0.95 \\ \Rightarrow b = F_{0.95}(5,9) = 3.48 \]
Aplicación: Pruebas de homogeneidad de varianzas
# Distribución F en R
n1 <- 6; n2 <- 10; df1 <- n1-1; df2 <- n2-1
# Valor crítico b
b <- qf(0.95, df1, df2) # 3.48
# Gráfico distribución F
x <- seq(0, 5, length=1000)
y <- df(x, df1, df2)
plot(x, y, type="l", main="F(5,9)")
# Sombrear área P(F ≤ b)
polygon(c(0,seq(0,b,length=100),b),
c(0,df(seq(0,b,length=100),df1,df2),0),
col="lightblue")
📊 Normal
\(\bar{Y} \sim N(\mu, \frac{\sigma^2}{n})\)
📐 Chi-cuadrada
\(\frac{(n-1)S^2}{\sigma^2} \sim \chi^2_{(n-1)}\)
📈 t-Student
\(\frac{\bar{Y}-\mu}{S/\sqrt{n}} \sim t_{(n-1)}\)
📊 F
\(\frac{S_1^2}{S_2^2} \sim F_{(n_1-1,n_2-1)}\)
# Parámetros dados
n1 <- 6 # Tamaño de la primera muestra
n2 <- 10 # Tamaño de la segunda muestra
prob <- 0.95 # Probabilidad deseada
# Grados de libertad
df1 <- n1 - 1 # Grados de libertad para S1²
df2 <- n2 - 1 # Grados de libertad para S2²
# Encontrar el valor crítico b usando la distribución F
b <- qf(prob, df1 = df1, df2 = df2)
# Mostrar el valor de b
print(paste("El valor de b tal que P(S1²/S2² ≤ b) = 0.95 es:", round(b, 4)))
## [1] "El valor de b tal que P(S1²/S2² ≤ b) = 0.95 es: 3.4817"
# Crear una secuencia de valores para la distribución F
x <- seq(0, 5, length.out = 1000)
# Calcular la densidad de la distribución F
y <- df(x, df1 = df1, df2 = df2)
# Graficar la distribución F
plot(x, y, type = "l", lwd = 2, col = "blue",
xlab = "Valores de F = S1²/S2²", ylab = "Densidad",
main = "Distribución F con (5, 9) grados de libertad")
# Sombrear el área correspondiente a P(F ≤ b)
x_shade <- seq(0, b, length.out = 1000)
y_shade <- df(x_shade, df1 = df1, df2 = df2)
polygon(c(0, x_shade, b), c(0, y_shade, 0), col = "lightblue", border = NA)
# Añadir una línea vertical en el valor crítico b
abline(v = b, col = "red", lty = 2, lwd = 2)
# Añadir leyenda
legend("topright", legend = c("Distribución F", "Área sombreada (P(F ≤ b) = 0.95)"),
col = c("blue", "lightblue"), lwd = 2, lty = c(1, NA), fill = c(NA, "lightblue"), border = NA)
# Parámetros dados
n1 <- 6 # Tamaño de la primera muestra
n2 <- 10 # Tamaño de la segunda muestra
prob <- 0.95 # Probabilidad deseada
# Grados de libertad
df1 <- n1 - 1 # Grados de libertad para S1²
df2 <- n2 - 1 # Grados de libertad para S2²
# Encontrar el valor crítico b usando la distribución F
b <- qf(prob, df1 = df1, df2 = df2)
# Mostrar el valor de b
print(paste("El valor de b tal que P(S1²/S2² ≤ b) = 0.95 es:", round(b, 4)))
## [1] "El valor de b tal que P(S1²/S2² ≤ b) = 0.95 es: 3.4817"
# Crear una secuencia de valores para la distribución F
x <- seq(0, 5, length.out = 1000)
# Calcular la densidad de la distribución F
y <- df(x, df1 = df1, df2 = df2)
# Graficar la distribución F
plot(x, y, type = "l", lwd = 2, col = "blue",
xlab = "Valores de F = S1²/S2²", ylab = "Densidad",
main = "Distribución F con (5, 9) grados de libertad")
# Sombrear el área correspondiente a P(F ≤ b)
x_shade <- seq(0, b, length.out = 1000)
y_shade <- df(x_shade, df1 = df1, df2 = df2)
polygon(c(0, x_shade, b), c(0, y_shade, 0), col = "lightblue", border = NA)
# Añadir una línea vertical en el valor crítico b
abline(v = b, col = "red", lty = 2, lwd = 2)
# Añadir leyenda
legend("topright", legend = c("Distribución F", "Área sombreada (P(F ≤ b) = 0.95)"),
col = c("blue", "lightblue"), lwd = 2, lty = c(1, NA), fill = c(NA, "lightblue"), border = NA)
🎓 DISTRIBUCIONES MUESTRALES COMPLETAS
Teoremas fundamentales • Aplicaciones prácticas • Implementación en R • Bases para inferencia estadística
El pilar fundamental de la inferencia estadística moderna y sus aplicaciones en contextos reales
“El Teorema del Límite Central (TLC) es uno de los resultados más importantes en estadística y probabilidad. Establece que, bajo ciertas condiciones, la distribución de la media muestral de una muestra aleatoria se aproxima a una distribución normal, independientemente de la forma de la distribución de la población original, siempre que el tamaño de la muestra sea suficientemente grande.”
Sean \(Y_1, Y_2, \dots, Y_n\) variables aleatorias i.i.d. con:
\[ U_n = \frac{\bar{Y} - \mu}{\sigma / \sqrt{n}} \xrightarrow{d} N(0, 1) \]
Convergencia en distribución: \(U_n \xrightarrow{d} N(0, 1)\) cuando \(n \to \infty\)
Objetivo: Mostrar cómo la distribución de medias muestrales de una población exponencial (no normal) converge a normalidad conforme aumenta \(n\).
📊
📈
📐
# Parámetros de simulación
set.seed(123)
mu <- 1 # Media exponencial
n_sim <- 1000 # Número de simulaciones
sample_sizes <- c(5, 30, 100)
# Función de simulación
simulate_sample_means <- function(n) {
sapply(1:n_sim, function(i) mean(rexp(n, rate = 1/mu)))
}
# Gráficos comparativos
par(mfrow = c(1, 3))
for (n in sample_sizes) {
sample_means <- simulate_sample_means(n)
hist(sample_means, breaks = 30, freq = FALSE,
main = paste("n =", n), xlab = "Media muestral",
col = "lightblue", border = "white")
# Curva normal teórica
curve(dnorm(x, mean = mu, sd = mu/sqrt(n)),
add = TRUE, col = "red", lwd = 2)
}
# Parámetros
set.seed(123) # Para reproducibilidad
mu <- 1 # Media de la distribución exponencial
n_sim <- 1000 # Número de simulaciones
sample_sizes <- c(5, 30, 100) # Tamaños de muestra
# Función para simular medias muestrales
simulate_sample_means <- function(n) {
sapply(1:n_sim, function(i) mean(rexp(n, rate = 1/mu)))
}
# Crear gráficos
par(mfrow = c(1, 3)) # 1 fila, 3 columnas
for (n in sample_sizes) {
sample_means <- simulate_sample_means(n)
hist(sample_means, breaks = 30, freq = FALSE, main = paste("n =", n),
xlab = "Media muestral", col = "lightblue", border = "white")
curve(dnorm(x, mean = mu, sd = mu/sqrt(n)), add = TRUE, col = "red", lwd = 2)
}
Contexto: Candidato A necesita al menos 55% de votos en el Distrito I para ganar. Encuestas muestran que aproximadamente 50% de votantes le favorecen. Con \(n = 100\) votantes esperados en el distrito, ¿cuál es la probabilidad de que gane?
\[ \begin{aligned} P\left(\frac{Y}{100} \geq 0.55\right) &= P\left(\frac{\bar{X} - p}{\sqrt{p(1-p)/n}} \geq \frac{0.55 - 0.5}{\sqrt{0.25/100}}\right) \\ &= P\left(Z \geq \frac{0.05}{0.05}\right) = P(Z \geq 1) \\ &= 1 - P(Z \leq 1) = 1 - 0.8413 = 0.1587 \end{aligned} \]
Interpretación: Solo 15.87% de probabilidad de ganar
📉 Riesgo Alto
🎯 Decisiones de Campaña
Contexto: Pruebas estatales tienen media 60, varianza 64. Una preparatoria con \(n = 100\) estudiantes obtiene media 58. ¿Es esta institución inferior al promedio estatal?
\[ \begin{aligned} \text{Parámetros: } &\mu = 60, \sigma^2 = 64, n = 100 \\ \text{Error estándar: } &SE = \frac{\sigma}{\sqrt{n}} = \frac{8}{10} = 0.8 \\ \text{Estadístico Z: } &Z = \frac{58 - 60}{0.8} = -2.5 \\ \text{Valor p: } &P(Z \leq -2.5) = 0.0062 \end{aligned} \]
Significancia: \(p = 0.0062 < 0.05\) → Evidencia estadística fuerte
# Análisis de desempeño escolar
mu_poblacion <- 60
var_poblacion <- 64
n <- 100
media_muestral <- 58
# Cálculos
se <- sqrt(var_poblacion / n) # 0.8
z <- (media_muestral - mu_poblacion) / se # -2.5
p_valor <- pnorm(z) # 0.0062
# Conclusión estadística
alpha <- 0.05
if (p_valor < alpha) {
print("Rechazar H₀: La escuela es inferior")
} else {
print("No rechazar H₀: Sin evidencia de inferioridad")
}
📉 Hallazgos Estadísticos
🏫 Acciones Recomendadas
# Parámetros dados
mu_poblacion <- 60 # Media poblacional
var_poblacion <- 64 # Varianza poblacional
n <- 100 # Tamaño de la muestra
media_muestral <- 58 # Media muestral
# Error estándar de la media
se <- sqrt(var_poblacion / n)
# Estadístico de prueba Z
z <- (media_muestral - mu_poblacion) / se
# Valor p (prueba de una cola, cola inferior)
p_valor <- pnorm(z)
# Mostrar resultados
print(paste("Estadístico de prueba Z:", round(z, 4)))
## [1] "Estadístico de prueba Z: -2.5"
print(paste("Valor p:", round(p_valor, 4)))
## [1] "Valor p: 0.0062"
# Conclusión
alpha <- 0.05 # Nivel de significancia
if (p_valor < alpha) {
print("Rechazamos la hipótesis nula: La preparatoria es inferior.")
} else {
print("No rechazamos la hipótesis nula: No hay evidencia suficiente para afirmar que la preparatoria es inferior.")
}
## [1] "Rechazamos la hipótesis nula: La preparatoria es inferior."
# Gráfica de la distribución normal estándar
x <- seq(-4, 4, length.out = 1000) # Rango de valores para Z
y <- dnorm(x) # Densidad de la distribución normal estándar
# Crear la gráfica
plot(x, y, type = "l", lwd = 2, col = "blue", xlab = "Z", ylab = "Densidad",
main = "Distribución normal estándar y región de rechazo")
# Sombrear la región correspondiente al valor p (cola inferior)
x_shade <- seq(-4, z, length.out = 1000)
y_shade <- dnorm(x_shade)
polygon(c(-4, x_shade, z), c(0, y_shade, 0), col = "lightblue", border = NA)
# Añadir una línea vertical en el estadístico de prueba Z
abline(v = z, col = "red", lty = 2, lwd = 2)
# Añadir leyenda
legend("topright", legend = c("Distribución normal", "Región de rechazo (Valor p)", "Estadístico Z"),
col = c("blue", "lightblue", "red"), lwd = 2, lty = c(1, NA, 2), fill = c(NA, "lightblue", NA))
# Cargar librería para gráficos
#install.packages("ggplot2")
library(ggplot2)
# Parámetros
media_poblacion <- 60
desviacion_estandar <- 8 / sqrt(100) # Error estándar
nivel_significancia <- 0.05
valor_critico <- qnorm(nivel_significancia) # Valor crítico Z
# Crear un rango de valores para la distribución
x <- seq(media_poblacion - 4 * desviacion_estandar,
media_poblacion + 4 * desviacion_estandar,
length.out = 1000)
y <- dnorm(x, mean = media_poblacion, sd = desviacion_estandar)
# Crear un data frame para ggplot
datos <- data.frame(x = x, y = y)
# Gráfico
ggplot(datos, aes(x = x, y = y)) +
geom_line(color = "blue", size = 1) + # Curva de la distribución
geom_area(data = subset(datos, x <= media_poblacion + valor_critico * desviacion_estandar),
aes(x = x, y = y),
fill = "red", alpha = 0.5) + # Región de rechazo
geom_vline(xintercept = media_poblacion + valor_critico * desviacion_estandar,
color = "black", linetype = "dashed", size = 1) + # Línea del valor crítico
annotate("text", x = media_poblacion + valor_critico * desviacion_estandar,
y = 0.1, label = "Z crítico = -1.645",
hjust = 1.2, color = "black") + # Etiqueta del valor crítico
labs(title = "Región de rechazo para prueba de una cola (cola izquierda)",
x = "Media muestral",
y = "Densidad") +
theme_minimal()
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Contexto: Tienda minorista con tiempos de espera promedio 1.5 minutos, varianza 1.0. ¿Cuál es la probabilidad de atender 100 clientes en menos de 2 horas (120 minutos)?
\[ \begin{aligned} \text{Datos: } &\mu = 1.5 \text{ min}, \sigma^2 = 1.0, n = 100 \\ \text{Tiempo total: } &T = \sum_{i=1}^{100} Y_i \\ \text{Objetivo: } &P(T \leq 120) = P\left(\frac{T}{100} \leq 1.2\right) \\ &= P(\bar{Y} \leq 1.2) \end{aligned} \]
Aplicación TLC: \(\bar{Y} \approx N(1.5, 0.01)\)
\[ \begin{aligned} P(\bar{Y} \leq 1.2) &= P\left(Z \leq \frac{1.2 - 1.5}{1/\sqrt{100}}\right) \\ &= P\left(Z \leq \frac{-0.3}{0.1}\right) \\ &= P(Z \leq -3.0) = 0.0013 \end{aligned} \]
Interpretación: Solo 0.13% de probabilidad de éxito
📉 Análisis de Riesgo
🔄 Estrategias de Mejora
🎓 TEOREMA DEL LÍMITE CENTRAL: APLICACIONES EN CONTEXTOS REALES
Elecciones políticas • Evaluación educativa • Gestión de servicios • Toma de decisiones basada en evidencia estadística
Teoría de estimación puntual, propiedades de estimadores y aplicaciones en inferencia estadística
“El objetivo de la estadística es obtener una inferencia con respecto a la población basándose en la información contenida en una muestra. Como las poblaciones se describen mediante medidas numéricas denominadas parámetros, la mayoría de las investigaciones se conducen en deducir inferencias acerca de ellos. Los procedimientos de la inferencia estadística involucran ya sea la estimación o la Prueba de Hipótesis, las cuales tienen muchas aplicaciones prácticas.”
“Para que un estimador sea bueno, se desea que la varianza del estimador sea lo más pequeña posible, mientras que la distribución de muestreo debe concentrarse alrededor del valor del parámetro.”
Dualidad: Precisión (varianza baja) + Exactitud (centrado en θ)
Se dice que la estadística \(\hat{\theta} = H(X_1, X_2, \dots, X_n)\) es un estimador insesgado del parámetro \(\theta\) si:
\[ E(\hat{\theta}) = \theta \]
Interpretación: En promedio, a largo plazo, el estimador da el valor correcto
\[ \text{Sea } Y_1, Y_2, \dots, Y_n \sim \text{i.i.d. con } E(Y_i) = \mu \\ \text{Estimador: } \bar{Y} = \frac{1}{n} \sum_{i=1}^n Y_i \\ E(\bar{Y}) = E\left(\frac{1}{n} \sum_{i=1}^n Y_i\right) = \frac{1}{n} \sum_{i=1}^n E(Y_i) = \frac{1}{n} \cdot n\mu = \mu \]
Conclusión: Ȳ es estimador insesgado de μ
✅ Estimador Insesgado
❌ Estimador Sesgado
| Parámetro θ | Estimador θ̂ | \(E(θ̂)\) | \(V(θ̂)\) |
|---|---|---|---|
| Media μ | \(\bar{Y}\) | μ | \(\frac{σ²}{n}\) |
| Proporción p | \(\hat{p} = Y/n\) | p | \(\frac{pq}{n}\) |
| Diferencia μ₁-μ₂ | \(\bar{Y}_1 - \bar{Y}_2\) | μ₁-μ₂ | \(\frac{σ₁²}{n₁} + \frac{σ₂²}{n₂}\) |
| Diferencia p₁-p₂ | \(\hat{p}_1 - \hat{p}_2\) | p₁-p₂ | \(\frac{p₁q₁}{n₁} + \frac{p₂q₂}{n₂}\) |
Contexto: ¿Por qué usamos \((n-1)\) en lugar de \(n\) en el denominador de la varianza muestral? Esta demostración explica una de las decisiones más importantes en estadística inferencial.
\[ S^{*2} = \frac{1}{n} \sum_{i=1}^n (Y_i - \bar{Y})^2 \\ E(S^{*2}) = \frac{(n-1)\sigma^2}{n} \]
Propiedades:
\[ S^{2} = \frac{1}{n-1} \sum_{i=1}^n (Y_i - \bar{Y})^2 \\ E(S^{2}) = \sigma^2 \]
Propiedades:
🎯 Por Qué Ocurre el Sesgo
📊 Implicaciones Prácticas
Sea \(Y_1, Y_2, \dots, Y_n\) una muestra aleatoria con \(E(Y_i) = \mu\) y \(V(Y_i) = \sigma^2\). Demuestre que:
Solución:
Paso 1: Expresamos \((Y_i - \bar{Y})^2\) como: \[ (Y_i - \bar{Y})^2 = Y_i^2 - 2Y_i \bar{Y} + \bar{Y}^2 \]
Paso 2: Sumamos sobre todas las observaciones: \[ \sum_{i=1}^n (Y_i - \bar{Y})^2 = \sum_{i=1}^n Y_i^2 - 2n \bar{Y}^2 + n \bar{Y}^2 = \sum_{i=1}^n Y_i^2 - n \bar{Y}^2 \]
Paso 3: Calculamos la esperanza: \[ E\left( \sum_{i=1}^n (Y_i - \bar{Y})^2 \right) = E\left( \sum_{i=1}^n Y_i^2 - n \bar{Y}^2 \right) = \sum_{i=1}^n E(Y_i^2) - n E(\bar{Y}^2) \]
Paso 4: Recordamos que: \[ E(Y_i^2) = \sigma^2 + \mu^2 \quad \text{y} \quad E(\bar{Y}^2) = \frac{\sigma^2}{n} + \mu^2 \]
Paso 5: Sustituimos: \[ E\left( \sum_{i=1}^n (Y_i - \bar{Y})^2 \right) = n(\sigma^2 + \mu^2) - n\left( \frac{\sigma^2}{n} + \mu^2 \right) = (n-1)\sigma^2 \]
Paso 6: Por tanto: \[ E(S^{*2}) = \frac{1}{n} E\left( \sum_{i=1}^n (Y_i - \bar{Y})^2 \right) = \frac{(n-1)\sigma^2}{n} \] Esto muestra que \(S^{*2}\) es sesgado.
Paso 7: Para \(S^2\): \[ E(S^2) = \frac{1}{n-1} E\left( \sum_{i=1}^n (Y_i - \bar{Y})^2 \right) = \sigma^2 \] Por tanto, \(S^2\) es insesgado.
“Es razonable esperar que un buen estimador de un parámetro θ sea cada vez mejor conforme crece el tamaño de la muestra y la información se vuelve más completa. La distribución de muestreo de un buen estimador se encuentra cada vez más concentrada alrededor del parámetro θ.”
\[ \lim_{n \to \infty} \hat{\theta} = \theta \quad \text{o equivalentemente} \quad \lim_{n \to \infty} V(\hat{\theta}) = 0 \]
\[ \text{Para } \bar{Y} \text{ como estimador de } \mu: \\ V(\bar{Y}) = \frac{\sigma^2}{n} \\ \lim_{n \to \infty} V(\bar{Y}) = \lim_{n \to \infty} \frac{\sigma^2}{n} = 0 \]
Interpretación: A mayor n, menor varianza → mayor precisión
Sean \(\hat{\theta}_1\) y \(\hat{\theta}_2\) dos estimadores insesgados de θ. Se dice que \(\hat{\theta}_1\) es más eficiente que \(\hat{\theta}_2\) si:
\[ V(\hat{\theta}_1) \leq V(\hat{\theta}_2) \quad \text{y} \quad e = \frac{V(\hat{\theta}_1)}{V(\hat{\theta}_2)} \]
Donde \(e\) es la eficiencia relativa (0 ≤ e ≤ 1). Valores cercanos a 0 indican mayor eficiencia.
Para población normal:
Conclusión: La media es ~64% más eficiente que la mediana para distribuciones normales
Contexto: Encuesta de n = 1000 votantes muestra 560 a favor del candidato Gómez. Estimar la proporción poblacional p con límite de error.
\[ \text{Datos: } n = 1000, \quad Y = 560 \\ \hat{p} = \frac{Y}{n} = \frac{560}{1000} = 0.56 \\ E(\hat{p}) = p \quad (\text{insesgado}) \\ V(\hat{p}) = \frac{pq}{n} \]
Interpretación: Estimamos que 56% de votantes favorece a Gómez
\[ \text{Error: } b = 2\sigma_{\hat{p}} = 2\sqrt{\frac{pq}{n}} \\ \text{Usando } \hat{p} \approx p: \\ b \approx 2\sqrt{\frac{(0.56)(0.44)}{1000}} = 2\sqrt{0.0002464} \\ = 2 \times 0.0157 = 0.0314 \approx 0.03 \]
Interpretación: Error máximo ≈ ±3% con 95% confianza