正規分布している数のランダムなセットを考えます:
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
御時間ありがとうございます!