ログ変換後の標準エラーの計算


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を計算する方法についてのガイダンスを提供できれば、 私はそれをお願い申し上げます!
END EDIT#1

編集#2: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単位として報告しますか?
END EDIT#2

御時間ありがとうございます!


1
SEはSDをNの平方根で割ったものです。Nだけでなく
Penguin_Knight 14

3
ありがとう!私はその問題を修正しました。しかし、私が抱えている問題は残っています。
当惑

回答:


12

初期計算の主な問題は、がようになるべき理由がありません。一般的にはかなり異なります。esd(log(Y))sd(Y)

いくつかの状況では、の粗い近似計算することができるからを介して、テーラー展開を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を変換する場合、エンドポイントを変換することで機能します。

元の(ログに記録されていない)スケールの平均のポイント推定値と区間を取得するために元に戻す場合は、平均値の推定値のバイアスを解除することもできます(上記のリンクを参照):ので、平均の(非常に)大まかな大きなサンプル間隔はここで、は対数スケール間隔の上限と下限であり、は一貫した推定値です。C EXP L C EXP U L E(exp(X))exp(μX)(1+σX2/2)(c.exp(L),c.exp(U))L,Uc1+σX2/2

データが対数スケールでほぼ正常な場合、対数正規平均の間隔を生成する問題として扱うことができます。


1
ありがとう、Glen_b。統計の授業でそれを学んだことはありません。
当惑

2
コメントする評判はありませんが、ウィキペディアのテイラー拡張リンクを見て、この投稿で別の好奇心が強い場合に備えて、平均の正しい推定値はそれ以外の場合は、EXPμX»σ2XE[EXPX]
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.