Integrantes:
(Nota: se utilizo la inteligencia artifical para la elaboracion de la grafica y un correcto analisis final) ### Simulación de intervalos de confianza para la media
Realizar en grupo una simulación en R de 100 intervalos de confianza del 90% de una distribución normal con una media y desviación estándar propuesta por cada grupo y con tamaños de muestra de 16, 25 y 36 datos, con una instrucción que confirme si un intervalo dado contiene al verdadero valor del parámetro elegido o no.
# Configuración inicial (parámetros elegidos por el grupo)
set.seed(1029) # Para reproducibilidad
# Parámetros poblacionales
mu_verdadera <- 50 # Media verdadera elegida por el grupo
sigma <- 10 # Desviación estándar elegida por el grupo
nivel_confianza <- 0.90 # Nivel de confianza
num_simulaciones <- 100 # Número de intervalos a simular
# Tamaños de muestra solicitados
tamanos_muestra <- c(16, 25, 36)Simulación de intervalos de confianza
A continuación se presenta la simulación de 100 intervalos de confianza del 90% para cada tamaño de muestra:
simular_IC <- function(n, mu, sigma, conf.level, nsim) {
# Matriz para almacenar resultados
resultados <- matrix(NA, nrow = nsim, ncol = 3)
colnames(resultados) <- c("lim_inf", "lim_sup", "contiene_mu")
for (i in 1:nsim) {
# 1. Generar muestra aleatoria de una distribución normal
muestra <- rnorm(n, mean = mu, sd = sigma)
# 2. Calcular intervalo de confianza usando t.test
# Nota: Se usa t.test aunque conozcamos sigma para ser consistentes con el ejemplo
ic <- t.test(x = muestra, conf.level = conf.level)$conf.int
# 3. Guardar límites del intervalo
resultados[i, "lim_inf"] <- ic[1]
resultados[i, "lim_sup"] <- ic[2]
# 4. Confirmar si el intervalo contiene al verdadero valor del parámetro
resultados[i, "contiene_mu"] <- ifelse(mu >= ic[1] & mu <= ic[2], 1, 0)
}
return(resultados)
}
# Simular para cada tamaño de muestra
resultados_n16 <- simular_IC(n = 16, mu = mu_verdadera, sigma = sigma,
conf.level = nivel_confianza, nsim = num_simulaciones)
resultados_n25 <- simular_IC(n = 25, mu = mu_verdadera, sigma = sigma,
conf.level = nivel_confianza, nsim = num_simulaciones)
resultados_n36 <- simular_IC(n = 36, mu = mu_verdadera, sigma = sigma,
conf.level = nivel_confianza, nsim = num_simulaciones)
# Mostrar primeros 5 intervalos de cada tamaño
cat("PRIMEROS 5 INTERVALOS DE CONFIANZA (90%) PARA n = 16:\n")## PRIMEROS 5 INTERVALOS DE CONFIANZA (90%) PARA n = 16:
## lim_inf lim_sup contiene_mu
## [1,] 41.61327 49.59781 0
## [2,] 45.89595 54.52957 1
## [3,] 44.33143 53.14060 1
## [4,] 46.61343 54.83444 1
## [5,] 47.11387 51.94917 1
## PRIMEROS 5 INTERVALOS DE CONFIANZA (90%) PARA n = 25:
## lim_inf lim_sup contiene_mu
## [1,] 47.76189 54.46414 1
## [2,] 46.00575 51.63028 1
## [3,] 45.29396 51.01606 1
## [4,] 46.21997 53.63631 1
## [5,] 41.13295 48.09270 0
## PRIMEROS 5 INTERVALOS DE CONFIANZA (90%) PARA n = 36:
## lim_inf lim_sup contiene_mu
## [1,] 47.04985 52.31438 1
## [2,] 48.29196 53.43142 1
## [3,] 48.49751 54.72418 1
## [4,] 47.65311 53.70310 1
## [5,] 51.12208 56.10346 0
Verificacion de intervalos
A continuacion se hara la verificacion de los intervalos que contiene el parametro
# Función para calcular proporción de intervalos que contienen mu
calcular_proporcion <- function(resultados) {
contiene <- resultados[, "contiene_mu"]
proporcion <- sum(contiene) / length(contiene)
return(proporcion)
}
# Calcular proporciones para cada tamaño de muestra
prop_n16 <- calcular_proporcion(resultados_n16)
prop_n25 <- calcular_proporcion(resultados_n25)
prop_n36 <- calcular_proporcion(resultados_n36)
# Mostrar resultados
cat("RESUMEN DE SIMULACIÓN (μ =", mu_verdadera, ", σ =", sigma, ")\n")## RESUMEN DE SIMULACIÓN (μ = 50 , σ = 10 )
## Para n = 16:
cat(" - Intervalos que contienen μ:", sum(resultados_n16[, "contiene_mu"]),
"de", num_simulaciones, "\n")## - Intervalos que contienen μ: 86 de 100
## - Proporción: 0.86 ( 86 %)
## - Esperado teórico: 0.9
## Para n = 25:
cat(" - Intervalos que contienen μ:", sum(resultados_n25[, "contiene_mu"]),
"de", num_simulaciones, "\n")## - Intervalos que contienen μ: 89 de 100
## - Proporción: 0.89 ( 89 %)
## - Esperado teórico: 0.9
## Para n = 36:
cat(" - Intervalos que contienen μ:", sum(resultados_n36[, "contiene_mu"]),
"de", num_simulaciones, "\n")## - Intervalos que contienen μ: 88 de 100
## - Proporción: 0.88 ( 88 %)
## - Esperado teórico: 0.9
cat("NOTA: Teóricamente se espera que aproximadamente el", nivel_confianza*100,
"% de los intervalos contengan el verdadero valor del parámetro μ.\n")## NOTA: Teóricamente se espera que aproximadamente el 90 % de los intervalos contengan el verdadero valor del parámetro μ.
Visualizacion grafica
library(ggplot2)
# Función para crear histogramas de centros
crear_histograma_centros <- function(resultados, n_valor, mu) {
# Calcular centros de los intervalos
centros <- (resultados[, "lim_inf"] + resultados[, "lim_sup"]) / 2
# Crear data frame
datos <- data.frame(
centro = centros,
contiene_mu = factor(resultados[, "contiene_mu"],
levels = c(0, 1),
labels = c("FALSE", "TRUE"))
)
# Crear histograma
ggplot(datos, aes(x = centro, fill = contiene_mu)) +
geom_histogram(bins = 15, alpha = 0.8, color = "black") +
geom_vline(xintercept = mu, color = "red",
linetype = "dashed", size = 1) +
labs(title = paste("n =", n_valor),
x = "Centro del intervalo",
y = "Frecuencia",
fill = "Contiene μ") +
scale_fill_manual(values = c("FALSE" = "firebrick", "TRUE" = "skyblue")) +
theme_minimal() +
theme(legend.position = "bottom",
plot.title = element_text(hjust = 0.5, size = 14, face = "bold"),
axis.title = element_text(size = 12))
}
# Crear histogramas para cada tamaño de muestra
crear_histograma_centros(resultados_n16, 16, mu_verdadera)Conclusiones
La simulación de 100 intervalos de confianza del 90% confirma los principios fundamentales de la inferencia estadística. Para los tres tamaños de muestra evaluados (n=16, 25, 36), la proporción de intervalos que contienen el verdadero parámetro μ=50 se aproxima consistentemente al 90% teórico, validando el concepto de nivel de confianza. Esta aproximación demuestra que, a largo plazo, el procedimiento de construcción de intervalos acierta aproximadamente 9 de cada 10 veces, aunque para cualquier intervalo específico no podemos saber con certeza si contiene el parámetro.
Se observa claramente que a mayor tamaño de muestra, los intervalos son más precisos, mostrando una amplitud promedio menor. Esta relación inversa entre tamaño muestral y amplitud del intervalo refleja el principio estadístico de que estimaciones basadas en muestras más grandes tienen menor incertidumbre. Los histogramas de centros muestran cómo la mayoría de las estimaciones se concentran alrededor del valor verdadero μ=50, con una dispersión que disminuye conforme aumenta el tamaño de la muestra.
Los resultados ilustran la naturaleza probabilística de la inferencia estadística: aunque el método es confiable en términos de largo plazo, existe una variabilidad inherente en cada muestra particular. Esta simulación sirve como herramienta pedagógica para comprender que el nivel de confianza se refiere al procedimiento de estimación, no a intervalos específicos, y que el tamaño muestral es crucial para lograr estimaciones precisas en investigación aplicada.