Đây là một câu hỏi tiếp theo nhưng cũng là một câu hỏi khác nhau của câu hỏi trước của tôi .
Tôi đọc trên Wikipedia rằng " Một người ước lượng trung bình không thiên vị giảm thiểu rủi ro đối với hàm mất độ lệch tuyệt đối, như Laplace quan sát ." Tuy nhiên, kết quả mô phỏng Monte Carlo của tôi không hỗ trợ lập luận này.
Tôi giả sử một mẫu từ dân số log-normal, , ở đâu, μ và σ là log-bình và log-sd, β = exp ( μ ) = 50
Công cụ ước tính trung bình hình học là công cụ ước tính trung bình không thiên vị cho trung bình dân số ( μ ) ,
ở đâu,μvàσlà log-bình và log-sd, μ và σ là MLEs choμvàσ.
Trong khi một công cụ ước tính trung bình hình học chính xác là một công cụ ước tính không thiên vị cho trung bình dân số.
Tôi tạo ra các mẫu kích thước 5 lần từ LN . Số lượng nhân rộng là 10.000. Độ lệch tuyệt đối trung bình tôi nhận được là 25,14 cho công cụ ước tính trung bình hình học và 22,92 cho trung bình hình học đã hiệu chỉnh. Tại sao?
BTW, độ lệch tuyệt đối trung bình ước tính là 18,18 đối với trung bình hình học và 18,58 đối với ước lượng trung bình hình học chính xác.
Kịch bản R tôi đã sử dụng ở đây:
#```{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.) Đừng luôn tin tưởng Wikipedia - lưu ý cách văn bản được trích dẫn của bạn (từ bài viết "Trung bình") khác với bài viết Wikipedia khác 4.) Mã R của bạn là một mớ hỗn độn - hãy xem Hướng dẫn về Phong cách R của Google để biết một số hướng dẫn phong cách tốt.