평균 편향 추정기가 평균 절대 편차를 최소화합니까?


14

이것은 후속 조치이지만 이전 질문과 다른 질문입니다 .

나는 Wikipedia에서 " 중간 편향 추정기가 Laplace가 관찰 한 절대 편차 손실 함수와 관련한 위험을 최소화 한다"고 읽었습니다 . 그러나 내 Monte Carlo 시뮬레이션 결과는이 주장을 지원하지 않습니다.

나는 로그 정규 모집단 에서 나온 샘플을 가정합니다 . . . , X N ~ LN ( μ , σ 2 ) , 여기서 μ 및 는 로그 평균 및 log-sd,엑스1,엑스2,...,엑스LN(μ,σ2)μβ = exp ( μ ) = 50σβ=특급(μ)=50

기하 평균이 추정기 인구 중앙값 메디아 바이어스 추정량 ,특급(μ)

β^GM=특급(μ^)=특급(로그(엑스나는))LN(μ,σ2/) 여기서 및 는 로그 평균 및 log-sd이고, 및 는 및 대한 MLE입니다 .μμ σ μ σσμ^σ^μσ

보정 된 기하 평균 추정기는 모집단 중앙값에 대한 평균 편향 추정량이지만,

β^CG=특급(μ^σ^2/2)

LN 에서 크기 5의 샘플을 반복적으로 생성합니다 . 복제 번호는 10,000입니다. 내가 얻은 평균 절대 편차는 기하 평균 추정기의 경우 25.14이고 보정 기하 평균의 경우 22.92입니다. 왜?(로그(50),로그(1+22))

BTW에서 추정 된 평균 절대 편차는 기하 평균의 경우 18.18이고 수정 된 기하 평균 추정기의 경우 18.58입니다.

내가 사용한 R 스크립트는 다음과 같습니다.

#```{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"은 질문에 비해 너무 작습니다. "250,000"이상을 시도하십시오. 2.) Monte Carlo 시뮬레이션을 실행하고 이상하게 보이는 결과를 얻으면로 시드를 변경해보십시오 set.seed. 3.) 항상 위키 백과를 신뢰하지 마십시오 -이에서 "중간"기사) 다릅니다에서 인용 된 텍스트 (방법 참고 다른 위키 피 디아 기사 4) 귀하의 R의 코드는 총 엉망입니다 - 체크 아웃 구글의 R 스타일 가이드 일부 좋은 스타일 지침.
Steve S

답변:


4

α+α

이자형= <|α+α|> =α+(α+α)에프(α)α+α+(αα+)에프(α)α

우린 원한다

이자형α+=α+에프(α)αα+에프(α)α=0

(α>α+)=1/2α+

R에 문제가있는 경우 Stack Overflow에 대해 다른 질문을하십시오.


이론적으로는 맞습니다. 그러나 R 시뮬레이션 결과에 혼동되어 예상 대로이 진술을 뒷받침하지 않습니다.
Zhenglei

2
저는 데이터 과학자 / 물리학 자이므로 R 라인을 본 적이 없습니다. 질문에서 제안했듯이 코드 문제인 경우 스택 오버플로에서 요청하면 훨씬 더 많은 관심을 얻을 수 있습니다. 그러나 위의 대답은 편향되지 않은 중앙 추정기로 일반화하는 방법을 자세히 설명하지 않는 한 정확합니다. 자세한 내용은 ET Jaynes 저서 확률 이론 ISBN 978-0-521-59271-0의 172 페이지를 참조하십시오.
Keith

답변 주셔서 감사합니다. 코딩 문제가 아닙니다. 중간 편향 추정기가 예상 절대 편차를 최소화한다는 것을 보여주기 위해 시뮬레이션을하고 싶습니다. 시뮬레이션 단계에 대해 주로 혼란스러워서 대답을 받아들이지 않았습니다. R로 구현했지만 Matlab 또는 Python 또는 다른 언어로 시뮬레이션을 수행 할 수 있습니다.
Zhenglei

2

@Keith 나의 약한 수학에 대해 유감스럽게 생각하지만 기대치를 어떻게 도출했는지 더 자세히 보여줄 수 있습니까?
AdamO
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.