poisson_conf_interval¶
- astropy.stats.poisson_conf_interval(n, interval='root-n', sigma=1, background=0, confidence_level=None)[ソース]¶
観測カウントを与えるポアソンパラメータ信頼区間
- パラメータ
- nIntまたはnumpy.ndarray
カウント数(0<=
n
)。- interval{‘root-n’,‘root-n-0’,‘Pearson’,‘sherpagehrels’,‘Frequency entist-Confidence’,‘kraft-burrow-nousek’},オプションである.
信頼区間に用いる式.詳細は備考を参照されたい。デフォルト値は
'root-n'
それがそうです。- sigma浮動、オプション
信頼区間のシグマ数,“頻度-信頼度”パターンのみをサポートする.
- background浮動、オプション
バックグラウンドからのカウント数が予想され、‘kraft-burrow-nousek’モードのみがサポートされる。この数字は大きな領域から決定されていると仮定するので,その値の不確実性は無視できる.
- confidence_level浮動、オプション
信頼度は0と1の間であり,‘Kraft-Burrow-Nousek’パターンのみをサポートする.
- 返品
- conf_intervalNdarray
conf_interval[0]
そしてconf_interval[1]
各要素の下限と上限はそれぞれ対応しているn
それがそうです。
注意事項
ポアソンデータの“正しい”信頼区間は論争のある問題である.CDFワーキンググループ recommends Root-nを最初から最後まで使用するのは,主に理解を容易にするためであるが,他の可能性も検討した.ATLASグループはまだ discusses いくつかの可能性があるが,すべての場合に単一の表現が適用されていないと結論した.この提案もずっと floated 誤差ストリップは、観測データではなく理論予測に付加されるべきであり、これはこの関数に役に立たない(しかし、これは容易である;であれば、あなたは本当に理論予測の平方根を使用すべきである)。
ここで実施される間隔は以下のとおりである.
1. 'root-n' これは非常に広く使用されている標準規則であり、ポアソン過程平均値の最尤推定器から導出される。小さいnに対して疑わしい結果が生じ,n=0に対して完全に誤った結果が生じているが,これらの信頼できない値を解釈するのに十分な基準である.間隔時間は
\[CI=(n-\sqrt{n},n+\sqrt{n})\]2. 'root-n-0' これは,nがゼロのときに戻る間隔が(0,1)であることを除いて上記と同様である.
3.“ピアソン” これはピアソンの方法に基づいた少し複雑な法則にすぎません explained CDFワーキンググループが提供する).それはもう一つの良い特徴がありますもしあなたの理論曲線が区間の端点に触れたら、あなたのデータ点は確かにシグマ差です。間隔時間は
\[CI=(n+0.5-\sqrt{n+0.25},n+0.5+\sqrt{n+0.25})\]4.“sherpagehrels” デフォルトの場合,このルールは部品パッケージ‘sherpa’で使用される.♪the documentation 主張しているのは Gehrels (1986) しかし実際にはそこには現れませんでしたこれは対称であり,上限は“周波数信頼度”が与える上限の1%以内であるが,下限は深刻な誤りである可能性がある.間隔時間は
\[CI=(n-1-\sqrt{n+0.75},n+1+\sqrt{n+0.75})\]5. 'frequentist-confidence' 以下によく現れる中心信頼区間を示す.
\[CI=(0.5 F_{\chi^2}^{−1}(\α;2 n)、 0.5 F_{\chi^2}^{−1}(1-\alpha;2(n+1))\]どこだ? \(F_{{\chi^2}}^{{-1}}\) 指定された自由度を持つカイ二乗分布の分位数である. \(\alpha\) 正規分布の片尾確率である(パラメータ‘sigma’で定点を与える).参照してください Maxwell (2011) もっと細かいことを知っています。
6. 'kraft-burrows-nousek' これは既知の背景の存在を許すベイズ手法である \(B\) ソース信号では \(N\) それがそうです。与えられた信頼度レベル \(CL\) 信頼区間. \([S_\mathrm{{min}}, S_\mathrm{{max}}]\) 以下の者が提供します。
\[CL=\int^{S_\mathm{max}_{S_\mathm{min}}f_{N,B}(S)ds\]その中の関数 \(f_{{N,B}}\) はい:
\[F_{N,B}(S)=C\frac{e^{−(S+B)}(S+B)^N}{N!}\]正規化定数と \(C\) :
\[C = \left[ \int_0^\infty \frac{e^{-(S+B)}(S+B)^N}{N!} dS \right] ^{-1} = \left( \sum^N_{n=0} \frac{e^{-B}B^n}{n!} \right)^{-1}\]見 Kraft, Burrows, and Nousek (1991) もっと細かいことを知っています。
これらの公式は正で統一された優先順位を実現する。 Kraft, Burrows, and Nousek (1991) この選択をより詳細に議論し、この問題が優先選択に相対的に敏感でないことを示す。
この関数にはオプションの依存項があります Scipy あるいは…。 mpmath 利用可能である必要がある(ScipyはN<100にのみ適用).このコードは数値的に非常に密集しており,これは他の方法よりもはるかに遅く,特に大きなカウント(1000以上の場合でも同様である.
mpmath
)である。幸いにも、他のいくつかの方法やガウス近似は一般的にこのような状況でよく働いている。実例.
>>> poisson_conf_interval(np.arange(10), interval='root-n').T array([[ 0. , 0. ], [ 0. , 2. ], [ 0.58578644, 3.41421356], [ 1.26794919, 4.73205081], [ 2. , 6. ], [ 2.76393202, 7.23606798], [ 3.55051026, 8.44948974], [ 4.35424869, 9.64575131], [ 5.17157288, 10.82842712], [ 6. , 12. ]])
>>> poisson_conf_interval(np.arange(10), interval='root-n-0').T array([[ 0. , 1. ], [ 0. , 2. ], [ 0.58578644, 3.41421356], [ 1.26794919, 4.73205081], [ 2. , 6. ], [ 2.76393202, 7.23606798], [ 3.55051026, 8.44948974], [ 4.35424869, 9.64575131], [ 5.17157288, 10.82842712], [ 6. , 12. ]])
>>> poisson_conf_interval(np.arange(10), interval='pearson').T array([[ 0. , 1. ], [ 0.38196601, 2.61803399], [ 1. , 4. ], [ 1.69722436, 5.30277564], [ 2.43844719, 6.56155281], [ 3.20871215, 7.79128785], [ 4. , 9. ], [ 4.8074176 , 10.1925824 ], [ 5.62771868, 11.37228132], [ 6.45861873, 12.54138127]])
>>> poisson_conf_interval( ... np.arange(10), interval='frequentist-confidence').T array([[ 0. , 1.84102165], [ 0.17275378, 3.29952656], [ 0.70818544, 4.63785962], [ 1.36729531, 5.91818583], [ 2.08566081, 7.16275317], [ 2.84030886, 8.38247265], [ 3.62006862, 9.58364155], [ 4.41852954, 10.77028072], [ 5.23161394, 11.94514152], [ 6.05653896, 13.11020414]])
>>> poisson_conf_interval( ... 7, interval='frequentist-confidence').T array([ 4.41852954, 10.77028072])
>>> poisson_conf_interval( ... 10, background=1.5, confidence_level=0.95, ... interval='kraft-burrows-nousek').T array([[ 3.47894005, 16.113329533]])