로그 변환 후 표준 오류 계산


19

정규 분포를 따르는 임의의 숫자 세트를 고려하십시오.

x <- rnorm(n=1000, mean=10)

우리는 평균에 대한 평균과 표준 오차를 알고 싶습니다. 그래서 우리는 다음을 수행합니다.

se <- function(x) { sd(x)/sqrt(length(x)) }
mean(x) # something near 10.0 units
se(x)   # something near 0.03 units

큰!

그러나 원래 분포가 정규 분포를 따른다는 것을 반드시 알 필요는 없다고 가정 해 봅시다. 데이터를 로그 변환하고 동일한 표준 오류 계산을 수행합니다.

z <- log(x, base=10)
mean(z) # something near 1 log units
se(z)   # something near 0.001 log units

멋지지만 이제 로그 단위가 아닌 단위로 답을 얻으려면 역변환해야합니다.

10^mean(z) # something near 10.0 units
10^se(z)   # something near 1.00 units

내 질문 : 정규 분포의 경우 분포 자체에서 계산되었는지, 변환, 계산 및 역 변환되었는지에 따라 표준 오차가 다른 이유는 무엇입니까? 참고 : 변환에 관계없이 평균이 동일하게 나왔습니다.

편집 # 1 : 궁극적으로 비정규 분산 데이터의 평균 및 신뢰 구간 계산에 관심이 있으므로 기본 단위로 역 변환하는 방법을 포함하여 변환 된 데이터에서 95 % CI를 계산하는 방법에 대한 지침을 제공 할 수 있습니다 , 감사 드리고 싶군요!
편집 편집 # 1

편집 # 2 : Quantile 함수를 사용하여 95 % 신뢰 구간을 얻으려고했습니다.

quantile(x, probs = c(0.05, 0.95))     # around [8.3, 11.6]
10^quantile(z, probs = c(0.05, 0.95))  # around [8.3, 11.6]

그래서 그것은 같은 대답으로 수렴되었습니다. 그러나이 방법을 사용한다고해서 "작은"표본 크기를 가진 비정규 데이터를 사용하는 정확한 간격을 제공하지는 않습니다.

t <- rlnorm(10)
mean(t)                            # around 1.46 units
10^mean(log(t, base=10))           # around 0.92 units
quantile(t, probs = c(0.05, 0.95))                     # around [0.211, 4.79]
10^(quantile(log(t, base=10), probs = c(0.05, 0.95)))  # around [0.209, 4.28]

"보다 정확한"방법으로 간주되는 방법 가장 보수적 인 견적을 선택한다고 가정합니까?

예를 들어, 비정규 데이터 (t)에 대한이 결과를 95 % 신뢰 구간이 [0.211, 4.79] 인 평균 0.92 단위로보고합니까?
편집 편집 # 2

시간 내 줘서 고마워!


1
SE는 SD를 N의 제곱근으로 나눈 것입니다. N뿐만 아니라
Penguin_Knight

3
감사! 나는 그 문제를 해결했다. 내가 겪고있는 문제는 여전히 남아 있습니다.
당황

답변:


12

초기 계산의 주된 문제점은 가 와 같은 이유가 없다는 것 입니다. 일반적으로 상당히 다릅니다.esd(log(Y))sd(Y)

경우에 따라 Taylor 확장을 통해 에서 대략적인 근사값을 계산할 수 있습니다 .sd(Y)sd(log(Y))

Var(g(X))(g(μX))2σX2.

를 로그 스케일에서 랜덤 변수로 간주하면Xg(X)=exp(X)

만약Var(exp(X))exp(μX)2σX2

그런 다음sd(exp(X))exp(μX)σX

이러한 개념은 샘플링 분포에 적용됩니다.

이것은 표준 편차가 평균과 비교하여 실제로 예와 같이 작 으면 합리적으로 잘 작동하는 경향이 있습니다.

> mean(y)
[1] 10
> sd(y)
[1] 0.03
> lm=mean(log(y))
> ls=sd(log(y))
> exp(lm)*ls
[1] 0.0300104 

매개 변수 의 CI를 변환하려는 경우 엔드 포인트를 변환하여 작동합니다.

원래 (로그되지 않은) 척도에서 평균에 대한 점 추정치 및 간격을 얻기 위해 다시 변환하려는 경우 평균의 추정치를 편향 해제하려는 경우도 있습니다 (위 링크 참조). 이므로 평균에 대한 ( 매우 ) 거친 큰 샘플 간격은 , 여기서 로그 스케일 간격의 상한 및 하한, 그리고 어떤 일관된 추정치 .E(exp(X))exp(μX)(1+σX2/2)(c.exp(L),c.exp(U))L,Uc1+σX2/2

로그 스케일에서 데이터가 대략 정상인 경우, 로그 정규 평균 간격을 생성하는 문제로 취급 할 수 있습니다.


1
감사합니다 Glen_b. 나는 통계 수업에서 그것을 배운 적이 없습니다.
당황

2
언급 할만한 명성은 없지만 위키피디아의 Taylor 확장 링크를보고이 게시물에서 또 다른 호기심 많은 영혼이 발생하는 경우 평균의 정확한 추정값은 여야합니다. 그렇지 않으면 처럼,exp(μx)σ2XE[exp(X)]
E[f(X)]f(μX)+f(μX)2σX2=exp(μX)(1+σX22)
exp(μx)σX2E[exp(X)]
deasmhumnha

감사합니다 @Dezmond. 예, 맞습니다. 나는 내 대답에 수정 사항을 추가 할 것이며, 끝 부분 근처의 부분은 상당히 엉망입니다.
Glen_b-복지 주 모니카

0

기하 평균과 유사하게 기하 표준 오차를 효과적으로 원하는 것처럼 들립니다 exp(mean(log(x))).

다음과 같이 계산하는 것이 합리적으로 보일 수 있습니다.

exp(sd(log(x)/sqrt(n-1)))

귀하와 다른 사람들은 이미 몇 가지 이유로 올바르지 않다고 지적했습니다. 대신 다음을 사용하십시오.

exp(mean(log(x))) * (sd(log(x))/sqrt(n-1))

기하 평균에 로그 표준 오차를 곱한 값입니다. 이것은 "자연적인"표준 오류와 거의 비슷해야합니다.

출처 : https://www.jstor.org/stable/pdf/2235723.pdf

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.