EdgellとNoonの論文はそれを間違っていました。
バックグラウンド
このペーパーでは、正規分布、指数分布、均一分布、およびコーシー分布から描画された独立した座標を使用してシミュレートされたデータセット結果について説明します。(それはコーシーの二つの「形」を報告しているが、それらは唯一の値は無関係伸延されており、生成されたどのように異なっていた。)データセットのサイズ(「サンプルサイズ」)の範囲であったに。各データセットについて、ピアソンサンプル相関係数が計算され、統計に変換されました。(バツ私、y私)ん5100rt
t = rn − 21 −r2−−−−−−√、
(方程式(1)を参照)、そして両側計算を使用して自由度がスチューデント分布を参照しました。 著者らは、これらの分布の組と各サンプルサイズのそれぞれについて独立したシミュレーションを実行し、それぞれに統計を作成しました。最後に、彼らはレベルで有意であると思われる統計の比率を表にしました。つまり、スチューデント分布の外側のテールの統計です。tn − 210 、0001010 、000 ttα = 0.05tα / 2 = 0.025t
討論
先に進む前に、この調査では、ゼロ相関のテストが非正規性に対してどれほど堅牢であるかにのみ注目していることに注意してください。これはエラーではありませんが、覚えておくべき重要な制限です。
この調査には重要な戦略的誤りと明白な技術的誤りがあります。
戦略的エラーは、これらの分布がそれほど通常ではないことです。 正規分布も均一分布も、相関係数に問題を引き起こすことはありません。前者は設計によるもので、後者は外れ値を生成できないためです(ピアソン相関の原因ではありません)。堅牢であるために)。(ただし、すべてが正常に機能していることを確認するために、標準を参照として含める必要がありました。)これらの4つの分布は、場所が異なる分布からの値によってデータが「汚染」される可能性がある一般的な状況に適したモデルではありません。全体として(被験者が実際には異なる集団から来ており、実験者には不明な場合など)最も厳しいテストはコーシーからのものですが、対称であるため、片側外れ値に対する相関係数の最も可能性の高い感度を調査しません。
技術的なエラーは、研究がp値の実際の分布を調査しなかったことである:それは見えたのみのため、両面レートでα = 0.05。
(コンピューティングテクノロジーの制限により32年前に起こった多くのことを許すことはできますが、人々は汚染された分布、スラッシュ分布、対数正規分布、および他のより深刻な非正規性の形を定期的に調べていました。調査を1つのサイズに限定するのではなく、より広い範囲のテストサイズを検討します。
エラーの修正
以下に、この調査R
を完全に再現するコードを提供します(1分未満の計算)。しかし、それはもっと何かをします:それはp値の標本分布を表示します。 これは非常にわかりやすいので、これらのヒストグラムを見てみましょう。
最初に、私が調べた3つの分布からの大きなサンプルのヒストグラムを示します。これにより、それらがどのように非正規であるかを理解できます。
指数関数は歪んでいます(ひどくはそうではありません)。コーシーには長い尾があります(実際には、何千もの値のうちいくつかはこのプロットから除外されているため、その中心を確認できます)。汚染されたものは標準の標準であり、標準の標準の5%混合が10。それらは、データで頻繁に発生する非正規性の形式を表します。
EdgellとNoonは、サンプルサイズの分布と列のペアに対応する行に結果を表にしたため、同じようにしました。彼らが使用したサンプルサイズの全範囲を調べる必要はありません。5)、最大(100)、1つの中間値(20)はうまくいきます。しかし、テールの頻度を表にする代わりに、p値の分布をプロットしました。
理想的には、p値は均一な分布になります。棒はすべて一定の高さに近いはずです。1、各プロットで灰色の破線で示されています。これらのプロットには、一定の間隔で40本の棒があります。0.025 の研究 α = 0.05左端と右端のバー(「極端なバー」)の平均の高さに焦点を当てます。EdgellとNoonはこれらの平均を理想的な頻度と比較しました0.05。
均一性からの逸脱が目立つため、あまり解説は必要ありませんが、いくつか説明する前に、残りの結果を確認してください。 タイトルのサンプルサイズを確認できます。これらはすべて実行されます。5 − 20 − 100 各行全体で、各グラフィックの下にある字幕の分布のペアを読むことができます。
最も印象に残っているのは、極端なバーが他の分布とどのように異なるかです。 の研究α = 0.05ある非常に特別な!テストが他のサイズをどれだけうまく実行できるかは、実際にはわかりません。実際、の結果0.05彼らはこのテストの特徴に関して私たちを欺くほど特別です。
次に、汚染された分布が関係している場合(高い外れ値のみが生成される傾向がある場合)、p値の分布が非対称になることに注意してください。1つのバー(正の相関のテストに使用される)は非常に高く、もう一方のバー(負の相関のテストに使用される)は非常に低いです。ただし、平均すると、ほぼバランスが取れています。2つの大きなエラーがキャンセルされます。
サンプルサイズが大きくなると問題が悪化する傾向があることは特に憂慮すべきことです。
また、結果の正確さについても懸念があります。ここからの要約です100 、000 EdgellとNoonの10倍の反復:
5 20 100
Exponential-Exponential 0.05398 0.05048 0.04742
Exponential-Cauchy 0.05864 0.05780 0.05331
Exponential-Contaminated 0.05462 0.05213 0.04758
Cauchy-Cauchy 0.07256 0.06876 0.04515
Cauchy-Contaminated 0.06207 0.06366 0.06045
Contaminated-Contaminated 0.05637 0.06010 0.05460
これらのうち3つ(汚染された分布を含まないもの)は、論文の表の一部を再現しています。それらは質的に同じ(悪い)結論につながります(つまり、これらの周波数は0.05)それらは、私のコードまたは論文の結果のいずれかを疑問視するほど十分に異なります。(紙の精度は約になりますα (1 - α )/ N−−−−−−−−−√≈ 0.0022、しかし、これらの結果のいくつかはその論文とは何倍も異なります。)
結論
EdgellとNoonは、相関係数の問題を引き起こす可能性が高い非正規分布を含めず、シミュレーションを詳細に調べなかったため、ロバスト性の明確な欠如を特定できず、その性質を特徴付ける機会を逃しました。での両面テストの堅牢性を発見したα = 0.05レベルはほぼ純粋に事故であり、他のレベルのテストでは共有されない異常です。
Rコード
#
# Create one row (or cell) of the paper's table.
#
simulate <- function(F1, F2, sample.size, n.iter=1e4, alpha=0.05, ...) {
p <- rep(NA, length(sample.size))
i <- 0
for (n in sample.size) {
#
# Create the data.
#
x <- array(cbind(matrix(F1(n*n.iter), nrow=n),
matrix(F2(n*n.iter), nrow=n)), dim=c(n, n.iter, 2))
#
# Compute the p-values.
#
r.hat <- apply(x, 2, cor)[2, ]
t.stat <- r.hat * sqrt((n-2) / (1 - r.hat^2))
p.values <- pt(t.stat, n-2)
#
# Plot the p-values.
#
hist(p.values, breaks=seq(0, 1, 1/40), freq=FALSE,
xlab="p-values",
main=paste("Sample size", n), ...)
abline(h=1, lty=3, col="#a0a0a0")
#
# Store the frequency of p-values less than `alpha` (two-sided).
#
i <- i+1
p[i] <- mean(1 - abs(1 - 2*p.values) <= alpha)
}
return(p)
}
#
# The paper's distributions.
#
distributions <- list(N=rnorm,
U=runif,
E=rexp,
C=function(n) rt(n, 1)
)
#
# A slightly better set of distributions.
#
# distributions <- list(Exponential=rexp,
# Cauchy=function(n) rt(n, 1),
# Contaminated=function(n) rnorm(n, rbinom(n, 1, 0.05)*10))
#
# Depict the distributions.
#
par(mfrow=c(1, length(distributions)))
for (s in names(distributions)) {
x <- distributions[[s]](1e5)
x <- x[abs(x) < 20]
hist(x, breaks=seq(min(x), max(x), length.out=60),main=s, xlab="Value")
}
#
# Conduct the study.
#
set.seed(17)
sample.sizes <- c(5, 10, 15, 20, 30, 50, 100)
#sample.sizes <- c(5, 20, 100)
results <- matrix(numeric(0), nrow=0, ncol=length(sample.sizes))
colnames(results) <- sample.sizes
par(mfrow=c(2, length(sample.sizes)))
s <- names(distributions)
for (i1 in 1:length(distributions)) {
s1 <- s[i1]
F1 <- distributions[[s1]]
for (i2 in i1:length(distributions)) {
s2 <- s[i2]
F2 <- distributions[[s2]]
title <- paste(s1, s2, sep="-")
p <- simulate(F1, F2, sample.sizes, sub=title)
p <- matrix(p, nrow=1)
rownames(p) <- title
results <- rbind(results, p)
}
}
#
# Display the table.
#
print(results)
参照
スティーブンE.エッデルとシーラM.ヌーン、正規性違反の影響t相関係数のテスト。Psychological Bulletin 1984、Vol。、95、No. 3、576-583。