hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

統計学とは何か、そしてベイズ統計学の話

細々と統計学を調べ続けているが、最近ようやく統計学というものが何なのか、おぼろげながらわかるようになってきた(なお、統計学ができるようになってきたわけではない)

 

統計学を知る前の自分と今の自分をくらべたとき、間違いなく違うのは統計学に対する信頼だろう。以前は、統計学は数学の一分野であり、正しい分析手法を使えば真の答えが得られるものだと思っていた。しかし、実際には統計学者ジョージ・ボックスが言ったとされる「すべての(統計)モデルは間違っている、だが中には役立つものもある)」という言葉の方が実態に近い。

 

統計学は基本的に「不可能なことを可能にする(不良設定問題を扱う)」学問だ。例えば、1、3、5 という数字の列から何が言えるだろうか。確実なことは3つの実数値が観測された、ということだけで、それ以上のことは想像するしかない。奇数列かもしれないし、乱数から3つの値を取得した際に偶然それっぽい数字が出てきただけかもしれない。観測されたデータが 1、3、5 という値だった以外には確たるものは何もない。

 

統計学ではそこに仮定を置くことで本来不可能な観測データの解釈を可能にする。

このとき、「正しい分析手法を使えば真の答えが得られる」という誤解が悪さをする。例えば、有意性検定の結果、有意になったのだから、故に正しいのである……というような勘違いをしてしまう。実際には「仮定が正しければ」という条件が隠れているにも関わらず。

人間がえいやで作ったデータではないとか、誤差は正規分布するとか、確率変数が i.i.d に従うとか、そういった多くの仮定のもとで「推定」しているに過ぎない。因果推論手法を使えば、因果関係がわかるわけではなく、因果関係がない理由を可能な限り減らしているだけだ。逆に、もし効果があるならば因果関係があるということが誰の目から見ても明らかであれば、単なる回帰分析であっても因果関係は特定できると言ってよい。

 

ウサギの骨格からあの可愛らしい姿が想像できるだろうか。いくら統計学を駆使しても、骨格からだけではウサギの耳まで復元するのは難しいのではなかろうか。

 

さて、ベイズ統計学では確率を主観的なもの、すなわち信念として定義され、データが観測されると賭けに勝つという意味での合理性に基づき信念が更新される。

「正しい分析手法を使えば真の答えが得られる」ことを前提に置くと違和感を感じるが、観測データからわかる範囲で合理的に推測するという発想に立てば、主観確率を基礎に置く方がむしろ自然に思える。

 

この方法論のメリットは何と言っても、観測されたデータから最善の予測が得られるということが明確である点だ。もし最善の予測でなければ、それは賭けに負けるということを意味している。

もし予測が間違っているならば、それは「そもそも観測済みのデータだけからではわからない」か「事前分布の影響が残っている」か「モデルが間違っている」、のいずれかに原因があるということになる。

そして、観測済みデータが十分にあるならば「モデルが間違っている」以外の可能性は通常は否定できる。(観測済みデータがたまたま異常に偏っていたり、不適切な事前分布を使ったため影響が残り続ける可能性はなくはないけれども)

 

ベイズ統計学をかじっておいてよかったこととしては、大規模言語モデル(LLM)をそこまでブラックボックスに感じないことがある。ChatGPTなどのLLMはベイズ推定により構築されているわけではないけれども、入力されたプロンプトに対し確率的な推論に基づき継続する単語を出力しているだけ、とも言えるわけで、究極的にはベイズ推定でLLMを作った結果と一致するのではないかと思う(ベイズ推定が賭けに勝つという意味での合理性に基づき構築されている以上、ベイズ推定と異なる結果は改善の余地があるということになる。もちろん、速度は置いておく)。

 

現在も機械学習のハイパーパラメータチューニングの手法としてベイズ最適化が使われているけれども、そう考えると今後もっとメタな視点、例えば評価基準などにベイズ統計学が使われていくのかもしれない。

 

ベイズ統計学では教師あり学習、教師なし学習、強化学習を区別なくシームレスにモデル化できるというメリットがあるが、これは機械学習だと明確なモデルがない(多層のニューラルネットがモデルと言えばモデルだが)のでこの利点を導入するのは難しそうだ。もしかすると今後、ニューラルネット(NN)でMCMCを高速近似するみたいな話が増えてくるのかもしれない。モデルレスで予測する場合とモデルの制約付きで予測するのでは用途が違う(後者はより因果関係にフォーカスされている)ことを考えれば機械学習に押されてベイズ統計学が使われなくなるというものではないと思う。一方でベイズ推定が遅いのでなんとかしたいというニーズはあるわけでNNがその役割を果たすならうれしい人は多いと思う。

 

あとは事前分布だろうか。ファインチューニングや転移学習のベースモデルは立ち位置としては事前分布にあたると言っても良い気はするけれど、ベイズ推定と違ってそれ自体が正則化機能を提供するわけではないという認識でいる。(「ベイズ推論による機械学習入門」にNNをモデルとしてベイズ推定する例が出ていたから、これをきちんと読んだらわかるのかも)

 

そういえば、いまだ事前分布の設定に関してはよくわからない。

「絶対に取り得ない範囲は0にする(事前分布が0になると事後分布も0になるので、可能性があるなら0にしてはならない)」、「できるだけ既存の知識に基づき事前分布を置き、無情報事前分布は極力使わない(Improper な事前分布も使わない。尤度原理に反するジェフリーズ事前分布も使わない)」あたりは言ってもよいとは思うけれども、じゃあ具体的にどのような分布を選べばいいのか。

ベストな無情報事前分布というものはどうも存在しないようだというのはわかるし、弱情報程度であれば、ある程度の観測データで影響は緩和できるからあまり気にする必要はないという事情もわかるが、ある程度のガイドラインがあってくれるとうれしい。事前分布の決め方で一番有名なものは「Prior Choice Recommendations」だと思うのだが、いろんな情報が列挙されているだけで、何を選べばよいのかというガイドにはなっていない。正直、小サンプルの分析をしたいというのでもない限り、一律、正規分布 N(0, 10)(正の値しかとらないなら 半正規分布を使う)でも良いのではないのではないか、とは思っているが、それを正当化する情報は持っていない。

 

既存の知識を持ち込むのが事前分布だとするなら、LLMに事前分布を決めてもらうというのはどうだろう。膨大な情報を元に妥当な事前分布を設計してくれるかもしれない。