Minimiert ein Median-unvoreingenommene-Schätzer die mittlere absolute Abweichung?


14

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 ( μ ) = 50X1,X2,...,XNLN(μ,σ2)μσβ=exp(μ)=50

Der geometrische Mittelwertschätzer ist ein median-unverzerrter Schätzer für den Populationsmedian exp(μ) .

wobeiμundσsind die log-log-Mittelwert und SD, μ und σ die MLE fürμundσ.β^GM=exp(μ^)=exp(log(Xi)N)LN(μ,σ2/N)μσμ^σ^μσ

Ein korrigierter Schätzer für den geometrischen Mittelwert ist ein Schätzer für den mittleren Bevölkerungswert.

β^CG=exp(μ^σ^2/2N)

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?(Log(50),Log(1+22))

Ü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 
#```

1
1.) "10.000" ist zu klein für Ihre Frage - versuchen Sie "250.000" (oder mehr). 2.) Wenn Sie eine Monte-Carlo-Simulation ausführen und ein merkwürdiges Ergebnis erhalten, versuchen Sie, den Startwert mit zu ändern 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.
Steve S

Antworten:


4

Wenn wir einen Schätzer wählen α+ durch das Kriterium, dass es den erwarteten absoluten Fehler vom wahren Wert minimiert α

E= <|α+-α|> =-α+(α+-α)f(α)dα+α+(α-α+)f(α)dα

wir fordern

dEdα+=-α+f(α)dα-α+f(α)dα=0

das ist äquivalent zu P(α>α+)=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


Theoretisch halte ich es für richtig. Ich bin jedoch verwirrt über die R-Simulationsergebnisse, die diese Aussage nicht wie erwartet stützen.
Zhenglei

2
Ich bin ein Data Scientist / Physiker, habe also noch nie eine Zeile von R gesehen. Wie ich in der Frage angedeutet habe, sollten Sie sie in Stack Overflow stellen, wenn es sich um ein Codeproblem handelt, und Sie werden viel mehr Aufmerksamkeit erhalten. Die obige Antwort ist jedoch richtig, es sei denn, Sie möchten näher erläutern, wie sie auf einen median-unverzerrten Schätzer verallgemeinert wird. Weitere Einzelheiten finden Sie auf Seite 172 von ET Jaynes Buch Probability theory ISBN 978-0-521-59271-0.
Keith

Vielen Dank für Ihre Antwort. Es ist kein Codierungsproblem. Ich möchte nur Simulationen durchführen, um zu zeigen, dass ein median-unverzerrter Schätzer die erwartete absolute Abweichung minimiert. Ich habe die Antwort nicht akzeptiert, da ich hauptsächlich über den Simulationsschritt verwirrt bin. Ich habe es in R implementiert, aber Simulationen konnten in Matlab oder Python oder in einer anderen Sprache durchgeführt werden.
Zhenglei

2
Ich vermute, das Problem ist, dass Sie es mit einer Näherung zu tun haben, die als N -> funktioniert Sie haben aber 10.000 und 5, was beide kleine Zahlen sind. Vielleicht ist es besser, wenn Sie drei Fragen stellen. Warum ist es in der Theorie wahr, wenn N praktisch groß genug ist und wenn etwas mit Ihrem R-Code nicht stimmt? Ich antwortete auf die erste, die zweite ist weitgehend berechnend, aber es kann eine gute Faustregel für diesen speziellen Fall geben, und die dritte gehört zum Stapelüberlauf.
Keith

@Keith Entschuldigung für meine schwache Mathematik, aber kannst du mehr Details darüber zeigen, wie du die Erwartung abgeleitet hast?
AdamO
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.