scipy.stats.bayes_mvs という関数があり、example を参考に試しに動かしてみました。
結果を記載します。
scipy.stats.bayes_mvs を実行する
Example を参考に関数を実行してみます。
3つの結果は、それぞれ平均 (mean)、分散 (var)、標準偏差 (std) になります。
data の値は 番号カードのみトランプ をイメージして設定しています。
from scipy import stats
data = [1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
mean, var, std = stats.bayes_mvs(data)
mean
Mean(statistic=5.5, minmax=(4.7250701539033066, 6.2749298460966934))
from scipy import stats
data = [1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
mean, var, std = stats.bayes_mvs(data)
var
Variance(statistic=8.9189189189189193, minmax=(6.0470318612919201, 12.842770429573273))
from scipy import stats
data = [1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
mean, var, std = stats.bayes_mvs(data)
std
Std_dev(statistic=2.9663476127494768, minmax=(2.4590713412367524, 3.5836811283334447))
alpha を指定して、scipy.stats.bayes_mvs を実行する
alphaを指定すると信頼区間が変更できます。デフォルトは0.9
になっています。
alpha に0.95
を指定して実行してみます。
from scipy import stats
data = [1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10]
mean, var, std = stats.bayes_mvs(data,alpha=0.95)
std
Std_dev(statistic=2.9663476127494768, minmax=(2.3828348539854809, 3.7350953604573713))
若干、上限と下限の範囲が広がります。
ベイズ信頼区間とは
ベイズ信頼区間で検索すると、確信区間、信用区間という用語がヒットします。
- 頻度論 vs. ベイズ統計(前半) – 医療政策学×医療経済学
- 従来の推定法とベイズ推定法の違い | Sunny side up!
- 信頼区間を正しく理解してますか?確信区間との違いって何ですか? - Qiita
- 信頼区間 - Wikipedia
信用区間の英訳は、Credible interval
で scipy のドキュメント上は、confidence intervals
と記載されていてあくまで別物かもしれません。
scipy のドキュメントには以下の論文がリンクされており、一応読んでみたものの、私には違いがよくわかりませんでした。
参考
以下、記事作成中に参考にしました。
- A/Bテストの評価をベイズ統計でやってみない? - tdualのブログ
- scipy.stats.bayes_mvs — SciPy v1.1.0 Reference Guide
- sympyで信頼区間 | 粉末@それは風のように (日記)
以上です。
コメント