分布がポアソン分布とわずかに異なる方法は無限にあります。一連のデータがポアソン分布から引き出されていることを識別することはできません。あなたができることは、ポアソンで見るべきものとの矛盾を探すことですが、明らかな矛盾がないからといってポアソンにはなりません。
ただし、これらの3つの基準をチェックすることであなたが話しているのは、データが統計的手段(つまりデータを見る)によってポアソン分布から来ていることをチェックするのではなく、データが生成されるプロセスがポアソン過程の条件; 条件がすべて保持またはほぼ保持されている場合(およびデータ生成プロセスの考慮事項である場合)、ポアソンプロセスから、またはポアソンプロセスに非常に近いものを持つことができます。ポアソン分布。
しかし、条件はいくつかの点で成り立ちません...そして、真実であることから最も遠いのは3番です。ポアソンプロセスを主張する理由に基づいた特定の理由はありません。ポワソンから。
そこで、データ自体を調べることから生じる統計的議論に戻ります。データは、分布がそのようなものではなく、ポアソンであることをどのように示しますか?
最初に述べたように、あなたができることは、データがポアソンである基礎となる分布と明らかに矛盾していないかどうかをチェックすることですが、それはそれらがポアソンから引き出されたことを教えてくれませんない)。
このチェックは、適合度テストを介して行うことができます。
言及されたカイ二乗はそのようなものですが、私はこの状況でカイ二乗検定をお勧めしません**; 興味深い偏差に対して低いパワーを持っています。あなたの目的が良い力を持つことであるならば、あなたはそのようにそれを得ないでしょう(あなたが力を気にしないなら、なぜあなたはテストしますか?)。その主な価値はシンプルさにあり、教育的価値があります。それ以外では、適合度テストとしては競争力がありません。
**後の編集で追加:これが宿題であることは明らかであるため、データをチェックするためのカイ2乗検定を行うことが期待される可能性は、ポアソンと矛盾しません。最初のポアソンネスプロットの下で行われる、カイ二乗適合度テストの例を参照してください。
多くの場合、人々は間違った理由でこれらのテストを行います(たとえば、「したがって、データがポアソンであると仮定するデータで他の統計的なことをしても構いません」と言いたい場合)。そこにある本当の質問は、「それはどれほどひどく間違っているだろうか?」です。...そして、適合テストの良さは、その質問の助けにはなりません。多くの場合、その質問に対する答えは、せいぜいサンプルサイズに依存しない(/ほぼ独立)ものです。また、場合によっては、サンプルサイズがなくなる傾向があります。小さいサンプル(仮定の違反によるリスクが最も大きい場合が多い)。
ポアソン分布をテストする必要がある場合、いくつかの合理的な選択肢があります。1つは、AD統計に基づいてAnderson-Darling検定に似た何かをすることですが、nullの下でシミュレートされた分布を使用します(離散分布の双子の問題を考慮し、パラメーターを推定する必要があります)。
より簡単な代替手段は、適合度のスムーズテストです。これらは、nullの確率関数に関して直交する多項式のファミリを使用してデータをモデリングすることにより、個々の分布用に設計されたテストのコレクションです。低次(つまり興味深い)の代替は、ベースの多項式より上の多項式の係数がゼロと異なるかどうかをテストすることによってテストされ、これらは通常、テストから最低次の項を省略することでパラメーター推定を処理できます。ポアソンにはそのようなテストがあります。必要に応じて参照を掘り下げることができます。
n (1 − r2)ログ(xk)+ ログ(k !)k
Rで行われた計算(およびプロット)の例を次に示します。
y=rpois(100,5)
n=length(y)
(x=table(y))
y
0 1 2 3 4 5 6 7 8 9 10
1 2 7 15 19 25 14 7 5 1 4
k=as.numeric(names(x))
plot(k,log(x)+lfactorial(k))
ポアソンの適合度検定に使用できると示唆した統計は次のとおりです。
n*(1-cor(k,log(x)+lfactorial(k))^2)
[1] 1.0599
もちろん、p値を計算するには、nullの下で検定統計量の分布もシミュレートする必要があります(値の範囲内でゼロカウントをどのように扱うかについては説明していません)。これにより、かなり強力なテストが生成されます。他にも多くの代替テストがあります。
以下は、幾何分布(p = .3)からのサイズ50のサンプルでポアソンネスプロットを行う例です。
ご覧のように、非線形性を示す明確な「ねじれ」が表示されます
ポアソンネスプロットの参照は次のようになります。
デビッドC.ホアグリン(1980)、
「ポアソンネスプロット」、
アメリカ統計学者
巻。34、No。3(8月、)、pp。146-149
そして
Hoaglin、D. J.及びテューキー(1985)、
「9.離散分布の形状を確認」、
データテーブル、動向と形状探索、
(Hoaglin、Mosteller&テューキー編)、
ジョン・ウィリー&サンズ
2番目の参照には、小カウントのプロットの調整が含まれています。あなたはおそらくそれを組み込むことを望むでしょう(しかし、私は手への参照を持っていません)。
カイ二乗適合度検定の例:
カイ二乗適合度の実行は別として、通常は多くのクラスで行われると予想される方法(私が行う方法ではありません):
1:データから始めます(これを上記の 'y'でランダムに生成したデータとして、カウントのテーブルを生成します:
(x=table(y))
y
0 1 2 3 4 5 6 7 8 9 10
1 2 7 15 19 25 14 7 5 1 4
2:MLで近似されたポアソンを仮定して、各セルの期待値を計算します。
(expec=dpois(0:10,lambda=mean(y))*length(y))
[1] 0.7907054 3.8270142 9.2613743 14.9416838 18.0794374 17.5008954 14.1173890 9.7611661
[9] 5.9055055 3.1758496 1.5371112
3:終了カテゴリは小さいことに注意してください。これにより、カイ2乗分布は検定統計量の分布の近似としてあまり良くありません(一般的なルールでは、少なくとも5の期待値が必要です。ただし、多くの論文がそのルールを不必要に制限していることを示しています。近いですが、より一般的なアプローチはより厳しいルールに適合させることができます)。隣接するカテゴリを折りたたむことで、最小期待値が少なくとも5を下回らないようにします(10を超えるカテゴリのうち1に近い予想カウントダウンを持つ1つのカテゴリはそれほど悪くはなく、2つはかなり境界線です)。また、「10」を超える確率についてはまだ考慮していないため、それも組み込む必要があります。
expec[1]=sum(expec[1:2])
expec[2:8]=expec[3:9]
expec[9]=length(y)-sum(expec[1:8])
expec=expec[1:9]
expec
sum(expec) # now adds to n
4:同様に、観察対象のカテゴリを折りたたみます:
(obs=table(y))
obs[1]=sum(obs[1:2])
obs[2:8]=obs[3:9]
obs[9]=sum(obs[10:11])
obs=obs[1:9]
(O私− E私)2/ E私
print(cbind(obs,expec,PearsonRes=(obs-expec)/sqrt(expec),ContribToChisq=(obs-expec)^2/expec),d=4)
obs expec PearsonRes ContribToChisq
0 3 4.618 -0.75282 0.5667335
1 7 9.261 -0.74308 0.5521657
2 15 14.942 0.01509 0.0002276
3 19 18.079 0.21650 0.0468729
4 25 17.501 1.79258 3.2133538
5 14 14.117 -0.03124 0.0009761
6 7 9.761 -0.88377 0.7810581
7 5 5.906 -0.37262 0.1388434
8 5 5.815 -0.33791 0.1141816
バツ2= ∑私(E私− O私)2/ E私
(chisq = sum((obs-expec)^2/expec))
[1] 5.414413
(df = length(obs)-1-1) # lose an additional df for parameter estimate
[1] 7
(pvalue=pchisq(chisq,df))
[1] 0.3904736
診断とp値の両方は、ここで適合していることを示しています。実際に生成したデータはポアソンであるため、これは予想通りです。
編集:ポアソンネスプロットについて説明し、SASおよびMatlabでの実装について説明しているRick Wicklinのブログへのリンクです。
http://blogs.sas.com/content/iml/2012/04/12/the-poissonness-plot-a-goodness-of-fit-diagnostic/
編集2:私がそれを正しく持っている場合、1985年の参考文献からの修正ポアソンネスプロットは次のようになります*:
y=rpois(100,5)
n=length(y)
(x=table(y))
k=as.numeric(names(x))
x=as.vector(x)
x1 = ifelse(x==0,NA,ifelse(x>1,x-.8*x/n-.67,exp(-1)))
plot(k,log(x1)+lfactorial(k))
*実際にインターセプトも調整しますが、ここでは調整していません。プロットの外観には影響しませんが、参照とは別の方法(信頼区間など)を実装する場合は、アプローチとはまったく異なる方法で注意する必要があります。
(上記の例では、外観は最初のポアソンネスプロットからほとんど変わりません。)