ill-identified diary

所属組織の見解などとは一切関係なく小難しい話しかしません

Rubin が「ベイジアンブートストラップ」を通して言いたかったこと

この記事は最終更新日から3年以上が経過しています


概要

  • Rubin の 1981年の “The Bayesian Bootstrap” とそれに関連する話の認識共有
  • 以前の投稿でいまいちはっきりしない書き方をしたのでその訂正的な意味合いもある
  • 正直なところ「役に立つ」系の話ではないし 「なるほど」系の話でもない
  • やっぱり BB 自体は「便利な手法の提案」ではなく「都合のいい方法はないよ」という趣旨では?
    • BB/ノンパラメトリックブートストラップ法では, 分布のテールや分布が歪んでいる可能性を無視しており, そういう場面で使うのは適切ではない
    • ただし, 状況によっては BB の応用は有効であるし, なんなら Rubin 自身も多重代入法で使っている


1 はじめに

これははっきり言って言い訳なのだが, 以前の記事でポリア事後分布とベイジアンブートストラップのセクションを書いている時, ベイジアンブートストラップについて既に日本語で紹介している記事がないか確認していたところ, この投稿を見つけた. この記事そのものは特に何も解説していないが, 冒頭で紹介されている「ベイジアンブートストラップはかなり色々使えて簡単で役に立つ」という Twitter の投稿が気になった.

私の投稿で最後に結論づけているように, ベイジアンブートストラップと概ね同じアイディアであるポリア事後分布から分かったことは「恣意的な仮定を排除したらむしろ精度が失われた」ということだった (この議論自体が乱暴だったのでこれ以降でもう少し丁寧に書くことにした). ネット上で見かけたこのような話と全く反するネガティブな結果が得られた上, Rubin の論文を流し読みしてもベイジアンブートストラップ法が良い方法だとは書いてないように思えた. なので当時は「Rubin が言いたいことがよくわからん」と思いつつも, ベイジアンブートストラップの紹介が主題ではないので適当にごまかしてとりあえず例の投稿をしたのだが, その点を専門家に釘を刺されてしまった (少なくとも私はそう受け取った) のでもう少し自分で勉強し直した上でこの記事を書くことにした.


問題のコメント. この時点で結論は出ている気がするが…

なお先日のノーベル経済学賞に関連して, Imbens の業績が評価対象なのに関連深い Rubin が受賞してないのはなぜか, という話が経済学者たちの間で盛り上がっていたようだが, このテキストはかなり前 (たぶん年初くらい) に書きかけにしたまま放置していたのでこの状況を狙って書いていたわけではない.

また, 今回の内容は論文で紹介される理論の解説というよりは文字通り「作者の気持ちを考える」内容なので正確である自信はない.


2 Rubin (1981) での主張

Rubin (1981) は明確に, B. Efron (1979) への批判を意図して書いている.

Efron の提案するブートストラップ法をベイズ的に見るとどうなるか. つまり Efron のブートストラップ法は事前分布が明示されていないので, 明示したらどうなるかということである. とはいえ, やはりここでも原文をまるごと転記する気はない. 要約だけ書く (行間が飛びすぎて分かりづらいなら原文を読んでほしい).

シンプルな問題として, IID な確率変数  X に対して  n 個の独立な観測  x_1, \cdots, x_n を得たとする. ここから  X の分布のあるパラメータを求める (実際には原文では以降ほぼモーメントを求める場合についてのみ論じている).

 {x_1,\cdots,x_n} K 通りの値を取ったなら, それらの発生確率を  \theta_k と書く ( \theta_1 + \cdots + \theta_K = 1 である). そこで事前分布は以下に比例するものを考える.


 
p(\theta)\propto\prod_{k=1}^K\theta_k^{l_k}

 K 通りの値がそれぞれ  n_k 回観測されたなら, 事後分布はパラメータが  (n_1+l_1+1,\cdots,n_K+l_K+1) のディリクレ分布であり, 以下の式に比例するようになる.


 
p(\theta\mid\cdots)\propto\prod_{k=1}^K\theta^{(n_k + l_k)}

これをブートストラップ法のやり方でなぞった場合,  x_k が選ばれる事前確率はそれぞれ  1/\theta_k であり, 全ての  k に対して  l_k = -1 を設定したもの, つまりパラメータが  (-1, \cdots, -1) のディリクレ事前分布を使用しているのと同じだと Rubin は指摘している.

そして  \hat{\theta}= (\hat{\theta}_1, \cdots, \hat{\theta}_K) n 個の中での  K 通りの値の発生割合を表す統計量とし, さらに  \hat{\theta}^\ast をその観測結果, つまり  \hat{\theta}_k^\ast = n_k/n とすると,  \theta-\hat{\theta}^\ast の事後分布と,  \theta を 推定値  \hat{\theta}^\ast で置き換えたブートストラップ標本分布  (\hat{\theta}^\ast - \hat{\theta}) はかなり似ている.1 少なくともそれぞれの分布の期待値は互いにゼロであり, 分散も分母の  n n+1 しか違いがなく, 漸近的に一致する. よって Rubin が新たに定式化した「ベイジアン」ブートストラップによるパラメータの推定は Efron のブートストラップによる推定と実用上ほぼ同じ振る舞いをする (Rubin は実際に比較した例を1つ挙げている).

ここから, Rubin は「ベイジアンブートストラップ法 (BB) への批判はブートストラップ法への批判にもなりうる」と断って, 次のような批判を展開している.

(ベイジアン) ブートストラップ法は上記のディリクレ事前分布の自由度に  l_k = -1 を指定しているということになり2, ほとんど制約を課していないはずのノンパラメトリックブートストラップ法3で, あえてこの値に固定した根拠はどこから現れたのか, と Rubin は批判している.

この結果から Rubin はいくつかの応用上の疑問を提起している.

  1. (ベイジアン) ブートストラップ法の,  X のすべての値が観測できたという仮定は 理にかなったものなのか4? 場合によってはそのような仮定がなされることもあるが, 絶対ではないのではないか?
    • 極端な例だが,  X の観測された範囲での最大値より大きな値  C に対しての  P(X > C) を考える. (ベイジアン) ブートストラップ法はそのような確率をゼロと推定してしまうので,  X n 個の観測数よりはるかに多くの値を取りうる場合にはこのような設定は不適切ではないか?
    • 平均や分散といったよく扱われるパラメータの推定結果ですら, モデルが分布の裾野をどう仮定するかに対して敏感に反応するのではないか?
    • (よって上記のように何の理由もなく事前分布を固定するのはおかしい, と Rubin は言いたいのだろう).
    • (私の前回の投稿での「完全なデータ・ドリブンな方法は良くない」という趣旨の記述はこのへんを拡大解釈したもの)
  2. 仮に取りうる全ての数が観測されたとしても, \theta_k が合計1になるという仮定しか課さないのは不適切ではないか?
    • 例えばある2つの値が非常に近いとき, それらに同等の確率を与え, そして互いに無相関としてることになるが, それでよいのか?
    • 混合モデルなど, ブートストラップとよく似た発想のベイズ的な方法は既にある. Efron のやり方はそれに比べて複雑すぎるのではないか? (さっきの解説では省略したが, 頻度主義的な枠組みに落とし込むためにトリッキーな操作にしていることを批判している)
    • 一般には, パラメータの推測は X の値に紐づけたれた確率を平滑化することなので, こういった感度の問題を避けるために, 結局モデルの仮定が必要なのではないか?

そして Rubin は最後に, 『ひとりでに立ち上がって動いてくれる(ブートストラップ) 万能の分析手法というものは存在しない (there are no general data analytic panaceas that allow us to pull ourselves up by booststrap.)』という, ブートストラップ法を揶揄するフレーズで締めくくっている.

つまり, この論文単体では, Efron のノンパラメトリック・ブートストラップ法がベイズ的に見ておかしな推論であり, 実際におかしな結果を示す具体例も挙げられる, という指摘が趣旨であり, 「ベイジアンな」ブートストラップのほうがより優れていると主張するとか, 「ベイジアンブートストラップ」という名前の便利な手法を提案するといった内容ではない.

(ただ, Efron (1979) がこういった問題点に全く気づかなかったということはなく, Remark E あたりの記述は Rubin の批判と概ね同じ問題を挙げて注意しているように見える.)


3 その後の展開

この通り Rubin の論文は「ベイジアンブートストラップという優れた方法を提案する」というような内容ではなく明らかに Efron のブートストラップ法の問題点を批判し, どんなときにも使える方法ではないとする意図で書いているようにしか読めず, 便利な方法を提案するといった内容ではないように思える. 批判内容は確かに誤りではないが, では具体的にどうやれば効率よく「好ましい事前分布」を見つけられるのかという応用上のことについては何も書いてないし, ディリクレ事前分布のパラメータを調整するだけでは解決できないケースもありうることを示唆しているが, では一般にどう対処すべきかも書いていない. よって冒頭で紹介した投稿にあるような, ディリクレ分布の重み付け (事前分布) による乱数アルゴリズムで特徴づけられるようなブートストラップ法は必ずしも万能ではないという趣旨というように読めてしまう.5

このように冒頭の投稿を見つけたことで, Rubin の論文について重大な読み違いをしているのではないか? とかなり悩んでしまった. しかし Rubin の論文だけを何度読んでもこの疑問は解けないので諦めた.

ではこれ以降の研究はどうか? その後の多くの統計学の教科書ではブートストラップ法には言及しているが 「ベイジアンブートストラップ」という単語を出しているものはほとんどない. 黙殺されてしまったのか?

日本語だと 汪 他(1992) のブートストラップ法のサーベイ論文でも多少言及しているが, このサーベイ自体が古いので最新の話はおそらく含まれていない. しかし,

実際, ベイズ流ブートストラップの研究は, Rubin の 1981年の論文に始まり, 通常のブートストラップ法の研究とほぼ同じ長さの歴史を持っている.

Efron(1982)は,ベイズ流の観点からも, ブートストラップ法が妥当と考えられることを示そうとしている.

とある. 実際 (全てを読んだわけではないが) 少し検索するだけで Rubin 以降もベイジアンブートストラップに関する論文はいくつも見つかる.

1982 年の Efron の論文は閲覧が難しいので見てないが, Bradley Efron and Tibshirani (1994) の有名な教科書での「総括」を見るに, (ベイズの思想に沿ったものかどうかの議論は保留として) 実用的には Rubin が指摘したような実用上の問題を解決する方法は研究が進んでいる, と考えているようだ (例えば BB の拡張として, Newton and Raftery (1994) の重み付け尤度ブートストラップ (WLB) を挙げている. これ自体も古いのでその後の研究も進んでいるはず.).

比較的最近の Bradley Efron and Hastie (2016) の教科書 (『大規模計算時代の統計推論』というタイトルで邦訳も最近出た) は10.3節に, 1ページ程度だがベイジアンブートストラップのトピックを設けている. そこでは「当初ブートストラップ法はベイジアンから非難されたが…」というように過去の話であるかのように語られている. 6


4.1 Rubin 自身もブートストラップ法を使っていた

そして, ほかでもない Rubin 自身が考案した多重代入法も, ブートストラップのアイディアを利用している. 例えば Rubin and Schenker (1986) はホットデック法の欠点を指摘した上で, はっきりとブートストラップ法を使っていると明言している. 正確には, Rubin の BB の計算を簡略化した近似 (Approximate) ベイジアンブートストラップ (ABB) を提案している. ABB による事後予測分布は当初の BB と期待値は同じだが, 分散が変化し, そして欠測データが離散的である場合を想定している (連続変数の場合もベイズ的なアプローチと乱択アルゴリズムを併用したような方法になっている.). つまり ABB は, Rubin 自身の批判をもとに BB を改良した形になる.7

リアルタイムで当時の (非公式なものも含む) 議論を追ったわけでもないし, 当人にインタビューしたわけでもないが, 私なりに調べた範囲ではこういう流れになっているようだ.


4 まとめ

というわけで, Rubin による, モデルに制約を課さずともひとりでに結果をもたらすものではないというブートストラップ法への批判は確かに正しいが, ただちにブートストラップ法が役立たずになるというわけではない. Rubin がいうように, 問題に即した仮定かどうか考えないで使うのが問題であり, アイディアを応用すれば良い結果をもたらす. Bradley Efron and Hastie (2016) では, MCMC との関連を指摘している. さらに Bootstrap Aggregation, いわゆる BAGging (Breiman 1996) やそのアイディアに基づいたランダムフォレスト (Breiman 2001)機械学習でもよく使われている. もっと類推的な例を挙げるなら, ベイズモデル平均法 (BMA) がある.8

乱択アルゴリズムという共通点で関連性を指摘していくのは単なる連想ゲームになってる感があるし, こういう作者の気持ちの解釈学じみた話は「だから何だ」ということになりそうだ. 「Rubin もブートストラップ法を使ってんじゃん」というのも週刊誌のゴシップめいたネガキャンだ. 私はそういうレッテル貼りをしたいわけではない. しかし,

  1. どう読み返しても, Rubin (1981) の論文自体は「ベイジアンブートストラップ法を提案する」内容ではなかった
  2. 元の BB 法はディリクレ分布を固定する意味はなにかとか, 分布の裾野を無視しがちとか, モデル特定化の誤りに弱いとか問題点が多い
  3. 後続の研究では, Rubin and Schenker (1986) の研究も含め, 「ベイジアンブートストラップ」で指摘された問題点を解決した方法がいくつも考えられている
  4. しかし何にでも適用できる「ブートストラップ」な方法はおそらくない

というところまで確認できたので, これ以上は時間をかけてやる気を失ってしまった.


参考文献



Breiman, Leo. 1996. “Bagging Predictors.” Machine Learning 24 (2): 123–40. DOI: 10.1023/A:1018054314350.

———. 2001. “Random Forests.” Machine Learning 45 (1): 5–32. DOI: 10.1023/A:1010933404324.

Efron, B. 1979. “Bootstrap Methods: Another Look at the Jackknife.” The Annals of Statistics 7 (1): 1–26. DOI: 10.1214/aos/1176344552.

Efron, Bradley, and Trevor Hastie. 2016. Computer Age Statistical Inference: Algorithms, Evidence, and Data Science. Institute of Mathematical Statistics Monographs. New York, NY: Cambridge University Press, 原著PDFは無料ダウンロード可能, 藤澤 洋徳・井手 剛監訳・井尻 善久・井手 剛・牛久 祥孝・梅津 佑太・大塚 琢馬・尾林 慶一・川野 秀一・田栗 正隆・竹内 孝・橋本 敦史・藤澤 洋徳・矢野 恵佑訳『大規模計算時代の統計推論』共立出版, 2020年.

Efron, Bradley, and R. J. Tibshirani. 1994. An Introduction to the Bootstrap. Zeroth. Chapman and Hall/CRC. DOI: 10.1201/9780429246593.

Newton, Michael A., and Adrian E. Raftery. 1994. “Approximate Bayesian Inference with the Weighted Likelihood Bootstrap.” Journal of the Royal Statistical Society: Series B (Methodological) 56 (1): 3–26. DOI: 10.1111/j.2517-6161.1994.tb01956.x.

Rubin, Donald B. 1981. “The Bayesian Bootstrap.” The Annals of Statistics 9 (1): 130–34. DOI: 10.1214/aos/1176345338.

Rubin, Donald B., and Nathaniel Schenker. 1986. “Multiple Imputation for Interval Estimation from Simple Random Samples with Ignorable Nonresponse.” Journal of the American Statistical Association 81 (394): 366–74. DOI: 10.1080/01621459.1986.10478280.

汪金芳, 大内俊二, 景平, 田栗正章. 1992. ブートストラップ法 最近までの発展と今後の展望.” 行動計量学 19 (2): 50–81. DOI: 10.2333/jbhmk.19.2_50.

高井啓二, 星野崇宏, 野間久史. 2016. 欠測データの統計科学. 岩波書店.

注釈

  1. この辺は定式化へのアプローチの違いでこういう回りくどい書き方になっている. 細かい話は両者の元論文を参考に↩︎

  2. なお,  l_k=-1/2 ならば事前分布はジェフリーズの「無情報」事前分布となる↩︎

  3. ただし, 1979年の時点ではノンパラメトリック・ブートストラップ法という呼び方はまだなかったと思う↩︎

  4. 原文では reasonable, “rational” ではない.↩︎

  5. なお, 元の Twitter の投稿はアカウントが非公開か元投稿が削除されているかで見られないため, 別の意図があったのかもしれないが, 前後の文脈を知ることはできない.↩︎

  6. しかし実際に手ひどく批判しているのはほぼ最初の Rubin 一人であり, またこの本の著者は Efron なのであてつけに見えなくもない.↩︎

  7. 応用的な話になると, これをさらに改良した方法も提案されている. このあたりは欠測データ処理の話として 高井・星野・野間 (2016) とか読めばいいのではないだろうか.↩︎

  8. もちろん, データ内での出現頻度をそのままナイーブに反映させることがないという点で当初のブートストラップ法とは異なる.↩︎