かなり歪んだ確率変数の尖度のサンプルを調べていますが、結果に一貫性がないようです。問題を簡単に説明するために、対数正規RVのサンプル尖度を調べました。R(私はゆっくりと学習しています):
library(moments);
samp_size = 2048;
n_trial = 4096;
kvals <- rep(NA,1,n_trial); #preallocate
for (iii in 1:n_trial) {
kvals[iii] <- kurtosis(exp(rnorm(samp_size)));
}
print(summary(kvals));
私が得る要約は
Min. 1st Qu. Median Mean 3rd Qu. Max.
11.87 28.66 39.32 59.17 61.70 1302.00
Wikipediaによると、この対数正規RVの尖度は約114であるはずです。明らかに、サンプルの尖度は偏っています。
いくつかの調査を行ったところ、サンプルの尖度はサンプルサイズが小さいと偏っていることがわかりました。e1071
CRAN のパッケージで提供される「G2」推定量を使用して、このサンプルサイズで非常に類似した結果を得ました。
質問:次のどれが起こっているのかを特徴づけます:
- サンプルの尖度の標準誤差は、このRVの場合は非常に大きくなります(標準的な誤差の一般的な推定値は)。または、この研究では使用したサンプルが少なすぎます(2048)。
- サンプルの尖度のこれらの実装は、たとえば Terriberryの方法(Welfordの方法がサンプルの分散の単純な方法よりも優れた結果を与えるのとほぼ同じ方法)によって修正される可能性がある数値の問題に悩まされています。
- 人口尖度を誤って計算しました。(痛い)
- サンプルの尖度は本質的にバイアスされており、このような小さなサンプルサイズでは修正できません。
;
は、ステートメントの終わりに必要はありません。あなたは事前に割り当てることは右なかった、しかしで埋めるために必要NA
、kvals <- numeric(length = n_trial)
足りているだろう。を使用するとrep
、呼び出しからの引数1と3のみが必要になります(例:)rep(NA, 10)
。ではfor
ループセットアップ、1:n_trial
プログラミングあれば危険なことができます。優れているseq_along(kvals)
か、seq_len(n_trial)
この場合には 最後に、印刷を強制する必要がない場合は、print()
ラウンドをドロップしsummary()
ます。R。HTHと対話的に作業していない場合にのみ、ラウンドを必要とします。
print
。への議論rep
は確かに誤りでした。