Contenido
- Ejercicio 3 (Normal): media eficiente, varianza muestral, ejemplo de estimador insesgado pero ineficiente e insuficiente.
- Ejercicio 5 (Binomial): ECM de \(T_1\) y \(T_2\), comparación gráfica y consistencia.
set.seed(123)
op <- par(no.readonly = TRUE)
on.exit(par(op))
suppressPackageStartupMessages({
library(ggplot2)
library(dplyr)
library(tidyr)
library(gridExtra)
})
theme_set(theme_minimal(base_size = 14))
Datos del enunciado (diámetros en cm):
x <- c(6.33, 6.37, 6.36, 6.32, 6.37)
n <- length(x)
x
## [1] 6.33 6.37 6.36 6.32 6.37
xbar <- mean(x)
S2 <- var(x) # divisor n-1
S <- sd(x)
data.frame(n, xbar, S2, S)
## n xbar S2 S
## 1 5 6.35 0.00055 0.02345208
Respuesta: \(\bar X = 6.35
cm\).
En Normal, \(\bar X\) alcanza la cota
de Cramér–Rao para \(\mu\) ⇒
eficiente.
# Histograma con la media
df <- data.frame(x=x)
p1 <- ggplot(df, aes(x=x)) +
geom_histogram(bins=5, fill="grey70", color="white") +
geom_vline(xintercept = xbar, linetype="dashed") +
labs(title="Diámetros observados", x="cm")
# Diagrama de caja
p2 <- ggplot(df, aes(y=x, x=factor(1))) +
geom_boxplot(width=.3, fill="grey80") +
geom_point(position=position_jitter(width=.05), alpha=.7) +
labs(title="Boxplot", x=NULL, y="cm")
grid.arrange(p1, p2, ncol=2)
En Normal con \(\mu\)
desconocida:
\((n-1)S^2/\sigma^2 \sim
\chi^2_{n-1}\),
\(\mathbb E(S^2)=\sigma^2\), \(\mathrm{Var}(S^2)=2\sigma^4/(n-1)\)
(alcanza CRLB) ⇒ sí, es eficiente.
Con los datos: \(S^2 = 5.5\times 10^{-4}\) cm\(^2\).
T_insesg_inef <- mean(x[1:2]) # usa 2 de 5 datos
T_insesg_inef
## [1] 6.35
Este estimador es insesgado para \(\mu\) pero su varianza es \(\sigma^2/2\) (mayor que \(\sigma^2/5\) de \(\bar X\)).
T_insuf <- x[1]
T_insuf
## [1] 6.33
\(T=X_1\) no es función de \((\bar X, S^2)\) ⇒ no es suficiente.
set.seed(1)
mu <- xbar; sigma <- S # aproximamos con params muestrales
R <- 20000
xbar_R <- tapply(rnorm(R*5, mu, sigma), rep(1:R, each=5), mean)
t2_R <- rowMeans(matrix(rnorm(R*2, mu, sigma), ncol=2))
data.frame(
Var_xbar = var(xbar_R),
Var_t2 = var(t2_R)
)
## Var_xbar Var_t2
## 1 0.000110105 0.0002779199
\(\mathrm{Var}(\bar X)\) < \(\mathrm{Var}(\text{promedio de 2})\) ⇒ \(\bar X\) más preciso.
\[ T_1=\frac{X}{n},\qquad T_2=\frac{X+1}{n+2}. \]
Recordatorio: \(\mathrm{ECM}(T)=\mathrm{Var}(T)+\mathrm{Bias}(T)^2\).
\[ \mathrm{ECM}(T_1)=\frac{p(1-p)}{n},\qquad \mathrm{ECM}(T_2)=\frac{n\,p(1-p)+(1-2p)^2}{(n+2)^2}. \]
Gráfico comparativo para distintos \(n\).
ECM_T1 <- function(n,p) p*(1-p)/n
ECM_T2 <- function(n,p) (n*p*(1-p) + (1-2*p)^2) / (n+2)^2
grid_p <- seq(0,1,length.out=201)
ns <- c(10, 30, 100)
plots <- lapply(ns, function(n){
df <- data.frame(
p = grid_p,
ECM_T1 = ECM_T1(n, grid_p),
ECM_T2 = ECM_T2(n, grid_p)
) |>
tidyr::pivot_longer(-p, names_to="Est", values_to="ECM")
ggplot(df, aes(p, ECM, linetype=Est)) +
geom_line() +
labs(title=paste("ECM vs p (n =", n, ")"),
y="ECM", x="p") +
scale_linetype_discrete(labels=c("T1 = X/n","T2 = (X+1)/(n+2)"))
})
gridExtra::grid.arrange(grobs=plots, ncol=3)
Lectura:
- Para \(n\) grande, \(T_1\) domina (menor ECM).
- Para \(n\) chico y \(p\) cerca de 0 o 1, \(T_2\) puede mejorar por el
suavizado (bias útil).
\[ T_1=\frac{X}{n}\xrightarrow{p}p\quad(\text{LGN}),\ \ \mathrm{Var}(T_1)=\frac{p(1-p)}{n}\to 0. \]
Simulación ilustrativa:
set.seed(2)
p_true <- 0.3
ns <- c(10, 30, 100, 300, 1000)
R <- 5000
res <- lapply(ns, function(n){
t1 <- replicate(R, rbinom(1, size=n, prob=p_true)/n)
data.frame(n=n, media=mean(t1), var=var(t1))
}) |> dplyr::bind_rows()
res
## n media var
## 1 10 0.3009000 0.0216535207
## 2 30 0.3018067 0.0069961352
## 3 100 0.3002120 0.0020846520
## 4 300 0.2999693 0.0006915551
## 5 1000 0.2998904 0.0002139488
Gráfico: \(\mathrm{Var}(T_1)\) decrece con \(n\) y la media se acerca a \(p\).
ggplot(res, aes(n, var)) + geom_line() + geom_point() +
labs(title="Varianza de T1 cae como 1/n", y="Var(T1)", x="n")