Un centro de atención médica registra el tiempo de espera (en minutos) de los pacientes antes de ser atendidos. Se sabe que estos tiempos siguen una distribución Gamma con parámetros conocidos\(α=3\) (forma) y \(β=2\) (escala). El parámetro que se supone desconocido en este problema es la media poblacional \(θ=αβ\).
Sea \(X_1,X_2,…,X_n\) una muestra aleatoria de tamaño n independiente e identicamente distribuida extraída de esta población. Se proponen los siguientes estimadores para \(θ\):
1. Estimador de la media muestral:
2. Estimador basado en el rango:
Realiza las siguientes actividades:
alpha <- 3
beta <- 2
n <- 10
m <- 100
set.seed(123)
muestras <- replicate(m, rgamma(n, shape = alpha, scale = beta))
# Calcular t1 y t2
t1 <- apply(muestras, 2, mean)
fx <- function(x) { ((min(x)+max(x))/2) }
t2 <- apply(muestras, 2, fx)
# Crear un data frame con los datos
datos <- data.frame(
valor = c(t1, t2),
tipo = factor(rep(c("Estimador 1", "Estimador 2"), each = m))
)
# Definir colores manualmente
colores <- c("Estimador 1" = "#1C86EE", "Estimador 2" = "#698B69")
# Crear los histogramas con ggplot2 y colores manuales
ggplot(datos, aes(x = valor, fill = tipo)) +
geom_histogram(binwidth = 0.5, alpha = 0.6, position = "identity") +
scale_fill_manual(values = colores) + # Asignar colores manualmente
labs(
title = "Gráfica 1 - Histogramas",
x = "Valor",
y = "Frecuencia"
) +
facet_wrap(~ tipo, ncol = 1) + # Separar en dos paneles
theme(
plot.title = element_text(hjust = 0.5, size = 16, face = "bold"), # Centrar y formatear el título
)
mean_t1=mean(t1)
mean_t2=mean(t2)
Dif_mean1=mean_t1-6
Dif_mean2=mean_t2-6
data1 <- data.frame(t1,t2)
summarytools::descr(data1)
Descriptive Statistics
data1
N: 100
t1 t2
----------------- -------- --------
Mean 5.76 6.67
Std.Dev 0.95 1.52
Min 3.76 3.59
Q1 5.12 5.63
Median 5.69 6.44
Q3 6.55 7.75
Max 7.85 11.27
MAD 1.06 1.55
IQR 1.43 2.07
CV 0.17 0.23
Skewness 0.14 0.56
SE.Skewness 0.24 0.24
Kurtosis -0.71 0.09
N.Valid 100.00 100.00
Pct.Valid 100.00 100.00
N 100.00 100.00
Data <- data.frame(
valores = c(t1, t2),
Estimador = factor(rep(c("Estimador 1", "Estimador 2"), each = 100))
)
ggplot(Data, aes(x = Estimador, y = valores, fill =Estimador)) +
geom_boxplot() +
labs(title = "Gráfica 2 - Comparación estimadores",
x = "Estimador", y = "Estimaciones",
subtitle = paste("Media =", 6)
) +
scale_fill_manual(values = c("Estimador 1" = "#1C86EE", "Estimador 2" = "#698B69")) +
geom_hline(yintercept = 6, color = "red", linewidth = 1, linetype = "dashed") +
geom_hline(yintercept = mean_t1, color = "#00BFFF", linewidth = 1, linetype = "1343") +
geom_hline(yintercept = mean_t2, color = "#9BCD9B", linewidth = 1, linetype = "1343") +
theme_minimal() + # Tema minimalista
theme(
plot.title = element_text(hjust = 0.5, size = 16, face = "bold"), # Centrar y formatear el título
plot.subtitle = element_text(hjust = 0.5, size = 12), # Centrar y formatear el subtítulo
axis.title = element_text(size = 12), # Formatear los títulos de los ejes
panel.grid.major = element_line(color = "gray90"), # Líneas de la cuadrícula principales
panel.grid.minor = element_blank() # Eliminar líneas de la cuadrícula secundarias
)
cat("Las medias calculadas de los estimadores 1 y 2 son iguales a: ",mean_t1, "y",mean_t2,". Estos valores tienen una diferencia con el valor de θ=6 de: " ,Dif_mean1, "y" ,Dif_mean2," respectivamente. Teniendo en cuenta estos resultados y la gráfica 2, podemos afirmar que el estimador 1 es más insesgado que el estimador 2.")
Las medias calculadas de los estimadores 1 y 2 son iguales a: 5.761753 y 6.668812 . Estos valores tienen una diferencia con el valor de θ=6 de: -0.238247 y 0.6688117 respectivamente. Teniendo en cuenta estos resultados y la gráfica 2, podemos afirmar que el estimador 1 es más insesgado que el estimador 2.
alpha <- 3
beta <- 2
tamaños_muestra<- c(5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000)
num_simulaciones <- 100
set.seed(123)
# Inicializar lista para almacenar los coeficientes de variación
coef_variacion <- data.frame()
# Bucle para analizar cada tamaño de muestra
set.seed(123) # Para reproducibilidad
for (n in tamaños_muestra) {
# Generar una matriz donde cada columna es una muestra de tamaño n
muestras <- matrix(rgamma(n * num_simulaciones,shape=alpha, scale=beta), nrow = n, ncol = num_simulaciones)
# Aplicar las funciones de los estimadores a cada columna de la matriz
estimaciones1 <- apply(muestras, 2, mean)
estimaciones2 <- apply(muestras, 2, fx)
# Calcular los coeficientes de variación de los estimadores
cv_est1 <- sd(estimaciones1) / mean(estimaciones1)
cv_est2 <- sd(estimaciones2) / mean(estimaciones2)
# Almacenar los resultados en un data frame
coef_variacion <- rbind(coef_variacion, data.frame(n = n, Estimador = "Estimador 1", CV = cv_est1))
coef_variacion <- rbind(coef_variacion, data.frame(n = n, Estimador = "Estimador 2", CV = cv_est2))
}
# Graficar el coeficiente de variación en función del tamaño de la muestra
plot_cv <- ggplot(coef_variacion, aes(x = n, y = CV, color = Estimador)) +
geom_point(size = 3) +
geom_line() +
geom_hline(yintercept = 0, linetype = "dashed", color = "black") +
scale_x_log10() + # Escala logarítmica para mayor claridad
labs(title = "Gráfica 5 - Evaluacion de Consistencia: Coeficiente de Variacion",
x = "Tamaño de Muestra (n)",
y = "Coeficiente de Variacion") +
scale_color_manual(values = c("Estimador 1" = "#1C86EE", "Estimador 2" = "#698B69"))# Colores personalizados
#print(coef_variacion)
print(plot_cv)
cat("En la gráfica 5 se observa que CV disminuye a medida que el tamaño de las muestras aumenta; esto indica que los estimadores son consistentes. El estimador 1 es mucho más consistente por disminuir más rápido que el estimador 2.")
En la gráfica 5 se observa que CV disminuye a medida que el tamaño de las muestras aumenta; esto indica que los estimadores son consistentes. El estimador 1 es mucho más consistente por disminuir más rápido que el estimador 2.
alpha <- 3
beta <- 2
num_simulaciones <- 100
n <- 1000
muestras <- matrix(rgamma(n * num_simulaciones,shape=alpha, scale=beta), nrow = n, ncol = num_simulaciones)
# Aplicar las funciones de los estimadores a cada columna de la matriz
estimaciones1 <- apply(muestras, 2, mean)
estimaciones2 <- apply(muestras, 2, fx)
# Mostrar resultados
var_est1 <- var(estimaciones1)
var_est2 <- var(estimaciones2)
# Calcular los coeficientes de variación de los estimadores
cv_est1 <- sd(estimaciones1) / mean(estimaciones1)
cv_est2 <- sd(estimaciones2) / mean(estimaciones2)
cat("Varianza del Estimador 1:", var_est1, "\n","Varianza del Estimador 2:", var_est2, "\n","Coeficiente de Variación del Estimador 1:", cv_est1, "\n","Coeficiente de Variación del Estimador 2:", cv_est2)
Varianza del Estimador 1: 0.01103657
Varianza del Estimador 2: 2.455761
Coeficiente de Variación del Estimador 1: 0.01751446
Coeficiente de Variación del Estimador 2: 0.1295827
cat("Los cálculos muestran que el estimador 1 posee más eficiencia y es mucho más estable debido a que los valores de varianza y CV son menores a los valores del estimador 2.")
Los cálculos muestran que el estimador 1 posee más eficiencia y es mucho más estable debido a que los valores de varianza y CV son menores a los valores del estimador 2.