Dies ist eine Folgefrage, aber auch eine andere Frage als meine vorherige .
Ich habe auf Wikipedia gelesen, dass " ein median-unverzerrter Schätzer das Risiko in Bezug auf die von Laplace beobachtete absolute Abweichungsverlustfunktion minimiert ". Meine Monte-Carlo-Simulationsergebnisse stützen dieses Argument jedoch nicht.
Ich gehe davon aus einer Probe aus einem log-normalen Bevölkerung, , wobei μ und σ der log-Mittelwert und log-sd sind, β = exp ( μ ) = 50
Der geometrische Mittelwertschätzer ist ein median-unverzerrter Schätzer für den Populationsmedian .
wobeiμundσsind die log-log-Mittelwert und SD, μ und σ die MLE fürμundσ.
Ein korrigierter Schätzer für den geometrischen Mittelwert ist ein Schätzer für den mittleren Bevölkerungswert.
Ich generiere wiederholt Samples der Größe 5 aus dem LN . Die Replikationsnummer ist 10.000. Die durchschnittlichen absoluten Abweichungen, die ich erhalten habe, sind 25,14 für den Schätzer des geometrischen Mittels und 22,92 für den korrigierten geometrischen Mittelwert. Warum?
Übrigens betragen die geschätzten absoluten Abweichungen im Median 18,18 für den geometrischen Mittelwert und 18,58 für den korrigierten geometrischen Mittelwertschätzer.
Das verwendete R-Skript ist hier:
#```{r stackexchange}
#' Calculate the geomean to estimate the lognormal median.
#'
#' This function Calculate the geomean to estimate the lognormal
#' median.
#'
#' @param x a vector.
require(plyr)
GM <- function(x){
exp(mean(log(x)))
}
#' Calculate the bias corrected geomean to estimate the lognormal
#' median.
#'
#' This function Calculate the bias corrected geomean using the
#' variance of the log of the samples, i.e., $\hat\sigma^2=1/(n-1)
# \Sigma_i(\Log(X_i)-\hat\mu)^2$
#'
#' @param x a vector.
BCGM <- function(x){
y <- log(x)
exp(mean(y)-var(y)/(2*length(y)))
}
#' Calculate the bias corrected geomean to estimate the lognormal
#' median.
#'
#' This function Calculate the bias corrected geomean using
#' $\hat\sigma^2=1/(n)\Sigma_i(\Log(X_i)-\hat\mu)^2$
#'
#' @param x a vector.
CG <- function(x){
y <- log(x)
exp(mean(y)-var(y)/(2*length(y))*(length(y)-1)/length(y))
}
############################
simln <- function(n,mu,sigma,CI=FALSE)
{
X <- rlnorm(n,mu,sigma)
Y <- 1/X
gm <- GM(X)
cg <- CG(X)
##gmk <- log(2)/GM(log(2)*Y) #the same as GM(X)
##cgk <- log(2)/CG(log(2)*Y)
cgk <- 1/CG(Y)
sm <- median(X)
if(CI==TRUE) ci <- calCI(X)
##bcgm <- BCGM(X)
##return(c(gm,cg,bcgm))
if(CI==FALSE) return(c(GM=gm,CG=cg,CGK=cgk,SM=sm)) else return(c(GM=gm,CG=cg,CGK=cgk,CI=ci[3],SM=sm))
}
cv <-2
mcN <-10000
res <- sapply(1:mcN,function(i){simln(n=5,mu=log(50),sigma=sqrt(log(1+cv^2)), CI=FALSE)})
sumres.mad <- apply(res,1,function(x) mean(abs(x-50)))
sumres.medad <- apply(res,1,function(x) median(abs(x-50)))
sumres.mse <- apply(res,1,function(x) mean((x-50)^2))
#```
#```{r eval=FALSE}
#> sumres.mad
GM CG CGK SM
#25.14202 22.91564 29.65724 31.49275
#> sumres.mse
GM CG CGK SM
#1368.209 1031.478 2051.540 2407.218
#```
set.seed
. 3.) Traue Wikipedia nicht immer - Kenntnis , wie Sie Ihren Text in Anführungszeichen (aus den „Median“ -Artikel) unterscheidet sich von diesem anderen Wikipedia - Artikel 4.) Ihr R - Code ein totales Durcheinander ist - Check - out Googles R Style Guide für einige gute stilrichtlinien.Antworten:
Wenn wir einen Schätzer wählenα+ durch das Kriterium, dass es den erwarteten absoluten Fehler vom wahren Wert minimiert α
wir fordern
das ist äquivalent zuP( α > α+) = 1 / 2 . Soα+ ist der gezeigte Median nach Laplace im Jahr 1774.
Wenn Sie Probleme mit R haben, stellen Sie es bitte in einer anderen Frage zu Stack Overflow
quelle