Un esempio che viene in mente è uno stimatore GLS che pondera le osservazioni in modo diverso, sebbene ciò non sia necessario quando vengono soddisfatte le ipotesi di Gauss-Markov (che lo statistico potrebbe non sapere essere il caso e quindi applicare ancora applicare GLS).
Considera il caso di una regressione di yi , i=1,…,n su una costante per illustrazione (generalizza prontamente agli stimatori GLS generali). Qui, si presume che {yi} sia un campione casuale da una popolazione con media μ e varianza σ2 .
Poi, sappiamo che OLS è solo β = ˉ y , la media del campione. Sottolineare il fatto che ogni osservazione è ponderato con il peso 1 / n , scrivere questo come
β = n Σ i = 1 1β^=y¯1/nβ^=∑i=1n1nyi.
È ben noto cheVar(β^)=σ2/n.
Ora, considera un altro stimatore che può essere scritto come
β~=∑i=1nwiyi,
dove i pesi sono tali che ∑iwi=1 . Ciò garantisce che lo stimatore sia imparziale, poiché
E(∑i=1nwiyi)=∑i=1nwiE(yi)=∑i=1nwiμ=μ.
La sua varianza supererà quella di OLS a meno chewi=1/nper tuttii(nel qual caso si ridurrà ovviamente a OLS), che ad esempio può essere mostrato tramite un lagrangiano:
L=V(β~)−λ(∑iwi−1)=∑iw2iσ2−λ(∑iwi−1),
wi2σ2wi−λ=0i∂L/∂λ=0∑iwi−1=0λwi=wjwi=1/n
Ecco un'illustrazione grafica di una piccola simulazione, creata con il codice seguente:
yiIn log(s) : NaNs produced
wio= ( 1 ± ϵ ) / n
Il fatto che questi ultimi tre siano sovraperformati dalla soluzione OLS non è immediatamente sottinteso dalla proprietà BLUE (almeno non per me), poiché non è ovvio se sono stimatori lineari (né so se MLE e Huber sono imparziali).
library(MASS)
n <- 100
reps <- 1e6
epsilon <- 0.5
w <- c(rep((1+epsilon)/n,n/2),rep((1-epsilon)/n,n/2))
ols <- weightedestimator <- lad <- mle.t4 <- huberest <- rep(NA,reps)
for (i in 1:reps)
{
y <- rnorm(n)
ols[i] <- mean(y)
weightedestimator[i] <- crossprod(w,y)
lad[i] <- median(y)
mle.t4[i] <- fitdistr(y, "t", df=4)$estimate[1]
huberest[i] <- huber(y)$mu
}
plot(density(ols), col="purple", lwd=3, main="Kernel-estimate of density of OLS and other estimators",xlab="")
lines(density(weightedestimator), col="lightblue2", lwd=3)
lines(density(lad), col="salmon", lwd=3)
lines(density(mle.t4), col="green", lwd=3)
lines(density(huberest), col="#949413", lwd=3)
abline(v=0,lty=2)
legend('topright', c("OLS","weighted","median", "MLE t, 4 df", "Huber"), col=c("purple","lightblue","salmon","green", "#949413"), lwd=3)