2 0 ユまえがき 66 冊目の同人誌となります、後藤和智です。今回は、べイズ統計学の解説書を書いてみました。 弊サークルは評論や東方 Project 分野でいろいろな統計学の解説書や統計学を用いた同人誌を書いてきましたが、 べイズ統計学を取り扱うことはあまりありませんでした。せいぜい 2013 年に出した「改定増補版紅魔館の統計学な ティータイムー - ーー市民のための統計学 Specia12 」 ( コミックマーケット 85 ) で少しだけ触れた程度ですが、統計学を取 り扱っている以上、べイズ統計学を避けて通ることはできないのではないかと思い、書いた次第であります。 べイズ統計学は、意思決定によく用いられると言われます。べイズ統計学では、事前に想定した分布を、情報を用い てどんどん更新していくものですが、それが近年ではいろいろな意思決定に応用されているようです。また、最近はと んと聞かれなくなりましたが、ビッグデータの活用にもべイズ統計学、べイズ推計が使われているようです。 またべイズ統計学を用いると、データ間の因果関係を描くことも不可能ではありません。そしてデータの間の関係を 調べるためには、べイズ統計の知識はこれからどんどん必要になっていくでしよう。 べイズ統計学を用いた解説書はここ数年でかなり増えてきており、統計学を学びたい人には必ず読んで欲しい本であ る「完全独習統計学入門』 ( ダイヤモンド社、 2006 年 ) の著者・小島寛之氏も、 2015 年にはべイズ統計学の解説書を 刊行されました ( 「完全独習べイズ統計学入門」ダイヤモンド社、 2015 年 ) 。べイズ統計学の需要は、ピジネスでも学 術でも高まってきています。 本書は、今までの統計学の解説書と同様に、自分の手で動かして理解することを目的にしています。そしてそれに最 適なソフトが、フリーの統計ソフト「 R 」だと思っています。 R は最近では、最早 SPSS に取って代わるような統計ソ フトとして認知されており、ほとんど無料で手に入ることから、市民が分析したり学習したりするのにも最適です。 R にはべイズ統計解析を学んだり行ったりするパッケージもいろいろありますので、是非とも学んでいただければと思い ます。 2017 年 7 月仙台市内にて後藤和智 Bayes Analysis Maniax フリ ーソフトで始めるべイズ統計解析
5 基 の = = ロ イ べ 章糸 第理 1 ュはじめに 本書では、フリーの統計ソフト「 R 」を中心としたフリーソフトを用いたべイズ統計解析の手法について解説します。 そもそも統計学の考え方として大きく 2 つわけて「頻度主義」と「べイズ主義」と呼ばれるものがあり、一般的な統計 学で使われる「頻度主義」とは、母集団のパラメータが決まっているものであり、それを標本を用いて推定するという ものです。 これに対して、べイズ主義に基づく統計学とは、母集団のパラメータも含め、あらゆるパラメータが確率的であると いう考え方に立ちます。このような考え方は、頻度主義に基づく統計学に比べて、人間の思考法に近く、統計学の実用 性をさらに高めるものと評価されています。 べイズ主義に基づく統計学においては、母集団のパラメータの確率分布について考えます ( 事前分布 ) 。そして最尤 法などによる推定によりその事前分布の確からしさを調べて、より母集団の確率分布に近い分布に更新していくという 方法をとることができます。頻度主義に基づく統計学は、母集団のパラメータが確率分布ではなく、あらかじめ決まっ ているものなのでこういう操作をすることはできません。 このような手法は、例えば迷惑メールの対策に役に立っています。迷惑メール対策では、特定の単語などを含むもの を迷惑メールとして処理しますが、たまにそれが誤っている場合が、あります。べイズ統計学に基づく判別では、その 誤りを学習させることにより、より制度を高めることができます。メールソフトでは、例えば「 Mozilla Thunderbird 」 や「 Shuriken 」 ( ジャストシステム ) などがべイズ統計学に基づく迷惑メールフィルタ ( べイジアンフィルタ ) を用い ているようです。 また、べイズ統計学に基づくと、回帰分析の制度を高めることができます。べイズ主義に基づく回帰分析では、主観 的な確率分布を分析に入れることができます。頻度主義に基づいた統計学にはできないような分析を、べイズ主義の統 計解析は実現してくれるのです。 1.2 べイズの定理 そもそもべイズ統計学で前提とするべイズの定理とは、次のようなものです ( なおこの定理は頻度主義でもべイズ主 義でも成り立っ ) 。 べイズの定理 事象と B の起こる確率について、次の関係が成り立つ。 い襾 P ( B ) P(BIA) = P(A)
Ca11 : lm(formula = Y Min Residua1s : 20 ー 1 . 61 0 . 00 0 . 01 0 . 13 0 . 18 0 . 21 0 . 42 0 . 05 1 . 32 10.92 15.97 0 .417 seconds (Tota1) 0.185 seconds (Samp1ing) E1apsed Time : 0 . 232 seconds (Warm—up) lteration: 2000 / 2000 [ 100 % ] (Samp1ing) 第 3 章 RStan によるべイズ統計解析 と、このようにべイズ推計のための MCMC ( マルコフ過程モンテカルロ法 ) が行われました ( 実際にはもっと多く の分析が行われている ) 。これによる結果を、通常の回帰分析の結果と比較してみましよう。 > summary(test—lm) data = dataset) IQ Median 0 .04038 3Q 0 . 17107 Max 0 .26980 ー 0 . 91160 ー 0 .08164 Coefficients : Est imat e (lntercept) ー 1 .87193 0 . 15368 Signif . codes: Std . 0 . 001 14 .83 0.01036 ー 15 .08 0 . 12411 Error t value Pr ( > は l) 1 . 18e ー 11 1 .55e ー 11 0 . 05 freedom 1 Residua1 standard error: 0.2672 on 18 degrees Of Mu1tip1e R—squared: 0 .9244 , Adjusted R—squared: F—statistic: 220 0 Ⅱ 1 and 18 DF, p—value : 1 .553e > dataset_fit lnference for Stan model : stan_testl . 4 chains , each with iter=2000; warmup=lOOO; thin=l ; post—warmup draws per mean S e _mean Chain sd 2 . 5 % 0 .9202 ー 11 dra s = 4000. 97 . 5 % n—eff Rhat = 1000 , total post—warmup 25 % 50 % 75 % b ー 1 .87 0 . 15 sigma 0 . 29 14 .46 lp— 0 . 00 0 .04 0 . 00 0 . 13 ー 2 . 15 ー 1 .96 ー 1 .87 ー 1 .79 0 . 15 0 . 25 13.86 0 . 15 0 . 28 14.82 0 . 16 0 . 32 15.41 1664 1600 1537 1209 1 1 1 1 Samp1es were drawn using NUTS(diag-e) at Tue Jul 25 20 : 57 : 42 2017. FO て each parameter, 取 eff crude measure Of effective sample Size , and Rhat is the potential scale reduction factor 0 Ⅱ split chains (at convergence , Rhat=1) . また、 Stan では、 MCMC がちゃんと収束したかを調べることもできます。パッケージ g cmc を使って、次のよう 率は 2.5 % 、という具合に ) 。 モデリングでは、パラメータは平均値及び実際のパラメータがある確率が示されます ( 例えば値が 2.15 以下になる確 通常の回帰分析では、各パラメータの値と標準偏差くらいしか分からないのに対して、 RStan を使ったべイズ推計の に行います。 Bayes Analysis Maniax フリ ーソフトで始めるべイズ統計解析
15 RStan によるべイズ統計解析 注意 第 3 章 c :\Rt001s\bin ころでチェックを入れ、さらに次のページでパスを編集する必要があります。このとき、次のパスを入れます。 が動きませんでした ) 。また、正常に作動させるためには、インストール時のウイザードで「追加タスクの選択」のと RtooIs は C ドライプ直下 (c : \Rt001s) に保存する必要があるようです ( 別のフォルダに保存したことがあります https : //cran. r—project ・ org/bin/windows/Rt001s/ 各バージョンに対応したものがありますが、 R ともども最新のものを使うようにしましよう。 RtooIs は R の大本である cran からインストールすることができます。下記のサイトにあります。 Rtools には R の https ://github.com/stan-dev/rstan/wiki/RStan—Getting-Started- (Japanese) に RStan の導入法については下記のページに書いてありますので、これを要約して解説することにします。 にすることが必要になります。そのために、まずは Rtools と呼ばれるプログラムをインストールします。 Rtools 並び RStan は C 十十言語を使っており、そのため RStan を動かすためには R で C 十十言語のプログラムを動かせるよう 3.2 ユ Rtoo をインストールする 3.2 RSta n のインストール 能になります。 す。その他、べイズ統計学を用いれば、頻度主義の統計学では難しかった、正規分布以外の分布に基づく回帰分析も可 分析とは、データセットの中に質的なデータを含む場合、その質的なデータの違いによる分析を行うことも可能なので そればかりでなく、べイズ統計を使えば、階層的なモデルを用いた回帰分析も可能です。階層的モデルに基づく回帰 義に基づく統計学の回帰分析よりも、各種パラメータの存在範囲を明確に示すことができます。 は回帰分析です。通常の頻度主義に基づく統計学でも回帰分析は可能ですが、べイズ統計に基づく回帰分析は、頻度主 本章では、 R のパッケージである「 RStan 」を使ってべイズ統計解析を行う方法を解説します。本書で取り扱う分析 3.1 はじめに http://www.masaki.j.u-tokyo.ac.jp/utas/utasindex.html ください。 属します。また本書は同データの使用ガイドラインに基づいて書かれております。詳しくは下記のサイトをご覧 下、「東大・朝日調査」 ) の有権者調査のデータを使用しております。同データの権利は東京大学谷口将紀研究室に 本書第 3 , 4 章では、実験用のデータとして、 2014 年に行われた「東京大学谷口研究室・朝日新聞社共同調査」 ( 以
参考文献 5. 松浦健太郎「 stan と R でべイズ統計モデリング (Wonderful R ・ 2 ) 』共立出版、 2016 年 ン、 2012 年 4. J. アルバート : 著、石田基広、石田和枝 : 訳「 R で学ぶべイズ統計学入門」丸善出版 / シュプリンガー 3. 松原望「入門べイズ統言 t ーー意思決定の理論と発展」東京図書、 2008 年 2. 涌井良幸、涌井貞美「 Excel でスッキリわかるべイズ統計入門』日本実業出版社、 2010 年 1. 小島寛之「完全独習べイズ統計学入門』ダイヤモンド社、 2015 年 53 シャノヾ 6. 樋口耕一「社会調査のための計量テキスト分析ーー内容分析の継承と発展をめざして」ナカニシャ出版、 2014 年 7. 「散布図行列を描くには」 http://statmodeling.hatenablog.com/entry/scatter-plot-matrix 8. 「 Rstan でべイズ分析を行うための環境を作る方法メモ」 http://hikaru1122.hatenadiary・jP/entrY/2015/08/04/230000 9. 「 RStan をはじめよう」 https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started-(Japanese) 10. 「 R でべイジアンネットワークメモ」 https.//rpubs.C0m/h0X0ーm/21327 11. 今井俊輔、岡本一志「 R によるべイジアンネットワーク入門」 https : / /www.slideshare.net/0kamot0-laboratory/r-70898327 12. 里洋平「ネットワーク分析 - べイジアン・ネットワーク」 http : / / d. hate Ⅱ a. ne. jp / yokkuns / 20110928 / 1317164851 13. 後藤和智「改訂増補版紅魔館の統計学なティータイム OffLine 、 2013 年 ( コミックマーケット 85 ) 市民のための統計学 Specia12 』後藤和智事務所
第 1 章 理論編 : べイズ統計学の基礎 8 3 一 8 1 1 1 1 1 1 ( 赤赤い ) = P ( 赤赤霞 ) = P ( 赤赤 ) = 16 2 2 4 これに、当初の事前分布である「 A と B が選ばれる確率は等しい」を使うと、次のようになります。 P ( 赤赤い ) P い ) 1 9 1 x 1 x 64 2 1 は赤赤 ) = P ( 赤赤 ) 2 ・ 64 16 x 2 x 9 16 9 と、先ほどの値と一致することが分かります。べイズ統計は、情報を取得することによってより正確さを増していく 解析手法であると言うことができます。 9 ( 1 ・ 12 ) 64 ( 1 ・ 13 ) Bayes Analysis Maniax フリ ーソフトで始めるべイズ統計解析
3 目次 まえがき 第 1 章 理論編 . べイズ統計学の基礎 はじめに 1.2 べイズの定理 . 1.3 事前確率の設定と理由不十分の原則 1.4 確率の更新 R によるべイズ統計解析の基本 第 2 章 はじめに 2.2 離散的な事前分布を用いる方法 2.3 べータ分布を用いる方法 . ヒストグラム事前分布を用いる方法 . 2.4 第 3 章 RStan によるべイズ統計解析 はじめに 3.2 RStan のインストール . 3.2.1 RtooIs をインストールする 3.3 RStan の基本と単回帰分析 3.4 重回帰分析 . ロジスティック回帰分析 . 3.5 3.6 階層モデル 付録 : RStan で使える分布 ( 抄 ) 第 4 章 ヘイジアンネットワーク はじめに 4.1 4.2 下準備 4.3 全ての組み合わせを描画する 4.4 描画に制限を加える 4.5 数字で示されるパラメータがある場合 . 付録 : 各モデルの中身 4.6 4.6.1 全ての組み合わせを描画したもの 4.6.2 描画に制限を加えたもの 4.6.3 数値データを加えたもの KH Coder でのべイズ統計 第 5 章 はじめに 2 0.1 1 ・亠ィー亠 L.n - り′り - りイ 1 4 ・ 1 亠 1 1 上 11 1 亠 1 亠っ 1 っ 1 っ 4 つ っっ 0 つけ -4 ( ー - い】 11 っ 4 っリ 47 47
9 第 2 章 R によるべイズ統計解析の基本 2.1 はじめに こでは、べイズ統計学の考え方を、 R の簡単な操作によって学んでいきます。前章でも示したとおり、べイズ統計 学は、最初に事前分布を設定し、それを観測された実態に応じて更新していくというものです。そのような考え方を R で追体験できる方法を、 こで実際に操作しながら学んでいきましよう。 2.2 離散的な事前分布を用いる方法 次のような問題で考えます。 例題 あるべルヌーイ試行 ( 成功するか失敗するかの試行 ) において、その成功率の確度が次の割合であるとする。 成功率 0.25 0.5 0.75 0 1 成功率が上記のものである確度 15 15 15 15 真の成功率を確かめるためこの試行を 30 回行ったところ、 12 回成功して 18 回失敗した。このとき、先の確度の 分布を事前分布として設定し、事後分布を求めよ。 まず、事前分布として用いる成功率の確度の分布を R に入力し ます。成功率を p に、確度の分布を prior に代入します。 > p く一 c ( 0 , 0.25 , 0.5 , 0 .75 , 1 ) > prior く一 c ( 1 / 15 , 4 / 15 , 7 / 15 , 2 / 15 , 1 / 15 ) まず確度の分布を図で見るために、 pl 。 t コマンドを使って中身 を見てみましよう。 > plot(p,prior,type="h") これを見ると、成功率がやや低い方に偏っているかもしれない 試行であると考えることができます。さて、 R におけるべイズ統 計の学習用パッケージに、 LearnBayes があります。この中に収録 されているプログラムを使って、べイズ統計を学んでみましよう。 まずはパッケージを読み込ませます。 15 」 0 こ d 0 第 0-6 02 00
第 1 章理論編 : べイズ統計学の基礎 P い田 ) のような表記法について、慣れない方もいるかもしれません。そもそも P い田 ) というのは、事象 B が起 こっている前提で事象が起こる確率のことを言います ( 場合によっては PB い ) のような表記をすることもありま す ) 。条件付き確率は、事象と B が同時に起こる確率 P い nB ) を用いて、次のように表されます。 条件付き確率 6 P(A 「 1 B) P(B) ( 1.2 ) P い田 ) = 例を示してみます。 例 赤い玉が 1 個、白い玉が 3 個入っている箱 A と、赤い玉が 2 個、白い玉が 2 個入っている箱 B があるとする。 のとき、箱 A を選んだという前提で赤い玉を引く確率と、箱 B を選んだという前提で赤い玉を引く確率は次のよ うに示される。 1 十 2 十 ( 1 ・ 3 ) P( 赤い ) = P( 赤田 ) = ( 14 ) べイズ統計学は、次のような問題の解決に役立ちます。 例題 赤い玉が 1 個、白い玉が 3 個入っている箱 A と、赤い玉が 2 個、白い玉が 2 個入っている箱 B があるとする。 のとき、赤い玉を引いたとき、その玉が箱 A のものである確率を求めよ。ただし、どちらの箱を選ぶかは確率的 に等しいものとする。 この例題で求める確率は P ( 川赤 ) ということになります。また、文中の「どちらの箱を選ぶかは確率的に等しいも のとする」というのが、べイズ統計解析における事前確率ということになります。この確率を求めるには、先のべイズ の定理を使って次のようなものを使います。 P( 赤い ) P い ) ( 1 ・ 5 ) P()I 赤 ) = P( 赤 ) それぞれの確率は次のように表されます。 1 十 2 3 4 十 4 8 1 1 P( 赤い ) = 4 2 この数値を当てはめると、 P()I 赤 ) は次のように導き出すことができます。 P( 赤い川い ) 1 3 1 x 1 x 8 1 P()I 赤 ) = 2 ・ 8 4 4 x 2 x 3 P( 赤 ) = ( 1.6 ) ( 1 ・ 7 ) P( 赤 ) Bayes Analysis Maniax フリーソフトで始めるべイズ統計解析
Bayes Analysis Maniax フリーソフトで始める べイズ統計解析