Estimation

為什麼算術平均值小於對數正態分佈中的分佈平均值?

  • June 30, 2016

所以,我有一個隨機過程生成對數正態分佈的隨機變量. 這是相應的概率密度函數:

表示對數正態概率密度函數的圖

我想估計原始分佈的幾個矩的分佈,比如說第一個矩:算術平均值。為此,我繪製了 100 個隨機變量 10000 次,以便計算算術平均值的 10000 個估計值。

估計該平均值有兩種不同的方法(至少,這是我的理解:我可能是錯的):

  1. 通過以通常的方式簡單地計算算術平均值:
  2. 或通過首先估計和從基礎正態分佈:然後平均值為

問題在於,與這些估計值對應的分佈在系統上是不同的:

如圖所示,這兩個估計器給出了不同的分佈。

“普通”平均值(表示為紅色虛線)提供的值通常低於從指數形式(綠色普通線)得出的值。儘管這兩種方法都是在完全相同的數據集上計算的。請注意,這種差異是系統性的。

為什麼這些分佈不相等?

您要比較的兩個估計器是矩估計器 (1.) 和 MLE (2.) 的方法,請參見此處。兩者都是一致的(所以對於大, 它們在某種意義上很可能接近真實值).

對於 MM 估計器,這是大數定律的直接結果,它表示 . 對於 MLE,連續映射定理意味著

作為和. 然而,MLE 並非沒有偏見。

事實上,Jensen 不等式告訴我們,對於小,預計 MLE 會向上偏置(另請參見下面的模擬):和是(在後一種情況下,幾乎,但對, 因為無偏估計量除以) 眾所周知是正態分佈參數的無偏估計量和(我用帽子來表示估計者)。

因此,. 由於指數是一個凸函數,這意味著

嘗試增加到更大的數字,這應該使兩個分佈都圍繞真實值。

請參閱此蒙特卡洛插圖在 R 中:

在此處輸入圖像描述

創建於:

N <- 1000
reps <- 10000

mu <- 3
sigma <- 1.5
mm <- mle <- rep(NA,reps)

for (i in 1:reps){
 X <- rlnorm(N, meanlog = mu, sdlog = sigma)
 mm[i] <- mean(X)

 normmean <- mean(log(X))
 normvar <- (N-1)/N*var(log(X))
 mle[i] <- exp(normmean+normvar/2)
}
plot(density(mm),col="green",lwd=2)
truemean <- exp(mu+1/2*sigma^2)
abline(v=truemean,lty=2)
lines(density(mle),col="red",lwd=2,lty=2)

> truemean
[1] 61.86781

> mean(mm)
[1] 61.97504

> mean(mle)
[1] 61.98256

我們注意到,雖然兩種分佈現在(或多或少)都以真實值為中心,通常情況下,MLE 效率更高。

通過比較漸近方差,我們確實可以明確地表明必須如此。這個非常好的 CV 答案告訴我們 MLE 的漸近方差是

而 MM 估計量,通過將 CLT 直接應用於樣本平均值,是對數正態分佈的方差,

第二個比第一個大,因為

作為和. 看到 MLE 確實偏向於小,我重複模擬N <- c(50,100,200,500,1000,2000,3000,5000)和 50,000 次重複,並獲得如下模擬偏差:

在此處輸入圖像描述

我們看到 MLE 確實嚴重偏向於小. 我對 MM 估計器的偏差作為. 小的模擬偏差for MM 可能是由異常值引起的,這些異常值對未記錄的 MM 估計量的影響比對 MLE 的影響更大。在一次模擬運行中,最大的估計結果是

> tail(sort(mm))
[1] 336.7619 356.6176 369.3869 385.8879 413.1249 784.6867
> tail(sort(mle))
[1] 187.7215 205.1379 216.0167 222.8078 229.6142 259.8727 

引用自:https://stats.stackexchange.com/questions/221465

comments powered by Disqus