歪んだ分布の平均に対して信頼できるノンパラメトリックな信頼区間はありますか?


30

対数正規分布などの非常に歪んだ分布では、正確なブートストラップ信頼区間が得られません。これは、Rでどのブートストラップ方法を試しても、左右のテール領域が理想的な0.025から遠く離れていることを示す例です。

require(boot)
n    <- 25
B    <- 1000
nsim <- 1000
set.seed(1)
which <- c('basic', 'perc', 'norm', 'bca', 'stud')
mul <- 0; sdl <- 1.65   # on log scale
dist <- c('normal', 'lognormal')[2]
switch(dist, normal    = {g <- function(x) x; mu <- mul},
             lognormal = {g <- exp; mu <- exp(mul + sdl * sdl / 2)})
count <- matrix(0, nrow=length(which), ncol=2,
                dimnames=list(which, c('lower', 'upper')))
stat <- function(x, j) {
## See http://www.psychology.mcmaster.ca/bennett/boot09/percentileT.pdf
  x <- x[j]
  m <- mean(x)
  s <- sd(x)
  n <- length(x)
  sem <- s / sqrt(n)
  m.var <- sem ^ 2
  c(m, m.var)
}
for(i in 1 : nsim) {
  if(i %% 100 == 0) cat(i, '')
  x <- g(rnorm(n, mul, sdl))
  b  <- boot(x, stat, R=B)
  ci <- boot.ci(b, type=which)
  for(w in which) {
    nam <- switch(w, perc='percent', norm='normal', basic='basic',
                  stud='student', bca='bca')
    z <- rev(rev(ci[[nam]])[1:2])
    count[w, 'lower'] <- count[w, 'lower'] + (z[1] > mu)
    count[w, 'upper'] <- count[w, 'upper'] + (z[2] < mu)
  }
}
cat('\n')
count / nsim

結果は以下のとおりです。

      lower upper
basic 0.000 0.329
perc  0.003 0.257
norm  0.000 0.287
bca   0.015 0.185
stud  0.005 0.129

以下のため、単一のブートストラップは、まだ十分に正確なカバレッジを提供していません。n=400

      lower upper
basic 0.001 0.114
perc  0.005 0.093
norm  0.002 0.102
bca   0.017 0.067
stud  0.011 0.058

また、経験的尤度は、対数正規分布からサンプリングするときに正確な信頼区間を提供できません。

事前に分布を知ることに依存しない汎用的なアプローチはありますか?誰もがデータをテューキーの一般化された分布に適合させることにより、平均の信頼区間を取得しようとしましたか?CDFにKolmogorov-Smirnov信頼バンドを使用するのはどうですか?CDFの上限と下限の平均を計算することは恐ろしく保守的でしょうか?メソッドの適用範囲が広い場合は、保守主義に落ち着くでしょう。λ

目標を再度述べるために、母平均の信頼区間を取得するための一般的に適用可能なアプローチを探しています。

  1. 生データの分布が非対称の場合、間隔は非対称です
  2. 間隔は、両方のテールで正しいカバレッジを持ちます(たとえば、両方で0.025のエラー確率)
  3. この手順では、分析者が、基礎となる分布または分布を対称にするために必要な変換について何も指定する必要はありません。

ここでは中心極限定理は無関係であることに注意してください。固定された小さなサンプルサイズを使用しており、信頼区間は両方のテールで正確であるために非対称でなければなりません。、および対数正規モデルの下でのパラメトリックベースの信頼区間は、依然として悪いカバレッジです(両方とも0.025である必要がある場合、左テールエラー0.012、右0.047)。tμ=0,σ=1.65n=20000

これについて考え続けることで、私が議論したい問題を概念化する2つの広い方法があります。

  1. 平均は、少なくとも推論の正確さが要求される場合、ノンパラメトリック推論に役立つ量ではありません。サンプルの中央値は、連続分布に対して意味があり、中央値の単純な正確な信頼区間があります。正規分布からのサイズサンプルでは、中央値の信頼区間は、平均の正確なベースの信頼区間よりも長くなります(以下のコードを参照)。おそらく、この1.28の係数は、堅牢性と完全な流通の自由のために支払う妥当な価格です。n=201.28×t
  2. 単一のブートストラップが極端に歪んだ分布からのサンプルに対して十分に正確な信頼限界を与えることはありませんが、ダブルブートストラップは両方のテールの信頼カバレッジを大幅に改善できます。 Nankervisにはいくつかの素晴らしい結果があり、優れた計算アルゴリズムを提供します。しかし、私が見つけることができるソフトウェアはこれを実装していません。

上記1を示すRコード:

## Exact CI for median from DescTools package SignTest.default
## See also ttp://www.stat.umn.edu/geyer/old03/5102/notes/rank.pdf,
## http://de.scribd.com/doc/75941305/Confidence-Interval-for-Median-Based-on-Sign-Test
cimed <- function(x, alpha=0.05, na.rm=FALSE) {
  if(na.rm) x <- x[! is.na(x)]
  n <- length(x)
  k <- qbinom(p=alpha / 2, size=n, prob=0.5, lower.tail=TRUE)
  ## Actual CL: 1 - 2 * pbinom(k - 1, size=n, prob=0.5) >= 1 - alpha
  sort(x)[c(k, n - k + 1)]
}

n <- 20
m <- 20000
cil <- cilt <- 0
z <- qt(0.975, n - 1)

for(i in 1 : m) {
  x <- rnorm(n)
  cil  <- cil + diff(cimed(x))
  cilt <- cilt + 2 * z * sqrt(var(x) / n)
}
cil  <- cil / m
cilt <- cilt / m

c(cil, cilt, cilt / cil, cil / cilt)

1
これは計算量が多くなりますが、経験的累積分布関数を使用すると、ブラウン橋がランダムに生成され始めます。各ブラウン橋は、ecdfと仮想cdfの間のデルタを表します。仮想のcdfを使用して平均を計算し、KSテストで規定された係数で重み付けします。これをしばらく繰り返すと、加重平均データセットが得られ、信頼区間を計算できます。
ニルフリードマン

架空のCDFはありません。そして、KSの上下0.95の信頼領域を使用し、それらから平均を計算した場合、つまり、これは恐ろしく保守的になります。
フランクハレル

仮説的な累積分布関数は、ランダムに生成されたブラウン橋を経験的累積分布関数に追加することによって導入されます。また、信頼領域から平均を取ることを提案していません。多くの仮想分布を生成し、適切に重み付けして、信頼区間を取得することにより、多くの手段を取得することをお勧めします。それは基本的にブートストラップへの異なるアプローチです、しかし結果は異なるかもしれないと思います。
ニルフリードマン

プログラムの効率性と信頼区間カバレッジの正確さを確認するのは興味深いでしょう。提案をありがとう。ベイジアンブートストラップはそれを模倣するのだろうか。別のコンテキストでベイジアンブートストラップを試しましたが、信頼区間のカバレッジは改善されませんでした。
フランクハレル

回答:


11

少なくとも、基礎となる分布に何らかの制約を導入することなく、このようなノンパラメトリック手法については悲観的です。

nn

αααnα

したがって、適切な漸近的なカバレッジを探しているなら、もちろんこれはCLTによって達成できます。しかし、あなたの質問は、あなたが有限のカバレッジに(かなり合理的に)興味を持っていることを意味します。私の例が示すように、有限長のCIを台無しにする病理学的なケースが常にあります。

これで、分布に制約を追加することで良好な有限カバレッジを実現するノンパラメトリックCIを作成できます。たとえば、対数凹制約はノンパラメトリック制約です。ただし、log-normalはlog-concaveではないため、問題には不十分なようです。

α


2
素晴らしい考え。私はバイモーダル分布や他の複雑さを十分に頻繁に見ているので、この種の制約を必要とすることをためらいます。
フランクハレル

1
@FrankHarrell:ノンパラメトリックなログ凹コンポーネントを持つ混合モデルで行われた作業があります。ただし、現時点では、特にコンポーネントの数が事前にわからない場合は、全体の平均に対する信頼性を作成するための優れた方法があるとは想像できません。
クリフAB

2

サンプルの基本的な前提の1つは代表性です。分布の裾が長いほど、サンプルが分布を表すことができないため、CIを確実に解決するための方法にとって、小さなサンプルが十分に代表的である可能性が低くなります。

たとえば、サンプルサイズが250の指数分布で単純なperc CIを実行すると、かなり良好な結果が得られます。まだ理想的ではありませんが、サンプルが25の場合よりもはるかに優れています。

私はCliff ABに同意しますが、一般的な解決策はありませんが、極端な分布を仮定する必要はありません。小さなサンプルで広く機能するものはありません。また、場合によっては、サンプルを非常に大きくする必要があります(ただし、間違っていると便利です)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.