2005/12/21

いまさらだけど、統計ブームだよなあ。

ところで数学には2種類あって、役に立ちやすいのと、そうじゃないの(全然役に立たないやつは、ない)。統計は、限られたデータから全体の傾向について言及するときにウソをつかないようにする方法なので、バリバリの前者である。某新聞の一面がウソをつきやすいのは、統計ではなく経験や思想でモノを言いたがるからだ。ウソをつかれて、すました顔をされるのは心外なので、統計的な常識が世間の常識になってほしい。正確に言うと、統計的な常識には数学的な裏づけがあるものだということが常識になってほしい。
でも、経験や思想で(だけで)モノを言いたがる人には、「数学的」であるということの肝は伝わらないんだよなあ。数字で世の中を説明できるなんて思い上がってんじゃねえ若造が、とでも言いたげな顔で嘲笑される。数学では数字はあつかわないんだけど、説明するのもめんどくさい。ディスコミュニケーション。
とはいえ、統計の教科書だけを読んでると、確かに数字(と数式)だけで世の中を説明しているような印象をうけがち。実際、実験とか調査でデータを集めて魔法の手順や数式に当てはめれば、はいできあがり、というスタイルの統計の入門書も少なくないと思う。どういう場合にどういう手順や数式が使えるか、という情報も、ノウハウとして必要ではあるけれど、それはあくまでも「すでに数学的な正しさを正しいと納得できる人」向けの情報だよ。そうでない人、例えば、「最初の状態と状態を更新するルールが決まってれば、永遠の向こうで状態がどうなっているか断言できる」という話を納得できない人は、たくさんいる。「天気予報なんていい加減のきわみだ」と根拠なく主張する人がいっぱいいる。ところが、今日の天気が晴れであり、この惑星で晴れの日の翌日が晴れの確率はきっかり90%、雨の日の翌日が雨の確率はきっかり50%であるとわかっているなら、明日の天気が晴れの確率はだいたい86%だと断言できるし、それは数学的に正しい。
この天気予報の例は、Wikipediaの Examples of markov chain から取ってきた(計算めんどくさかったんで)。これを信じて晴れの日の翌日に雨が降ったら、最初に仮定した90%と50%という確率については疑ってもいい。しかし、86%が導き出されるプロセスには疑うところがない。この、疑うところがない、というのがポイントで、疑うところと疑わないところを見分けるために数学を学ぶべきだといっても過言ではないと思う。つまり、本当に学ぶべきは、統計で用いられる手順や数式ではなく、そこへいたる数学的な抽象化のプロセスだと思うわけ。
にしては、確率論って統計に比べてさげすまれてない? 統計という、数学的確からしさでデータを判断する考え方に触れる前には、数学的確からしさを納得できるだけの素養が必要で、それには確率を、「事象÷母数」みたいな素朴な認識を越えて理解しておく必要があるんじゃないだろうか。

とはいえ、かくいう自分も、10年前に勉強したことなんてぽろぽろ忘れている。そこで、確率を扱う Scheme のプロシージャでも書いてみようと思い出した。

probability.scm

例えばサイコロを1個ふるという単純すぎるイベントの確率空間は、このように作る。
(define dice6
(make-probability-space
(list 1 2 3 4 5 6)
(lambda (w) (/ 1 6))))

dice6
=>
((1 . 0.16666666666666666) (2 . 0.16666666666666666) (3 . 0.16666666666666666)
(4 . 0.16666666666666666) (5 . 0.16666666666666666) (6 . 0.16666666666666666))

こんな例でも、確率変数という考え方の便利さは感じられる。出た目が偶数かどうかを考えるとしよう。目が偶数かどうかは、ω∊{1,2,3,4,5,6}上のf(ω) = 0 or 1(0: 奇数, 1: 偶数)という確率変数f(ω)として表現できる。これを、Scheme のプロシージャとしてそのまま書くと、こんな感じ(「even-pv」の pv は、probability variable の気持ち)。
(define (even-pv w)
(if (even? w) 1 0))

サイコロをふって偶数の目が出る確率は、直感では 0.5 のはず。これは、この even-pv という確率変数から、実際に以下のように導かれる(一般に確率変数は確率分布関数(離散の場合は確率空間だと思っていい)を導く)。
((lead-distribution even-pv) dice6)

=> ((0 . 0.5) (1 . 0.5))

平均や分散といった統計でおなじみの概念も、確率変数(確率空間)から導かれる。例えば分散はこんな感じ。
(variance dice6)

=> 2.9166666666666665

(variance ((lead-distribution even-pv) dice6))

=> 0.25


メモ
  • まずは離散確率分布
    • 測度とか気にしなくて済む
    • 離散では確率空間≒確率分布だと思っていい
    • 積分より総和のほうがプロシージャを書きやすい
  • 確率変数という考え方がポイント
    • 確率変数から確率分布が導かれる
    • 確率変数から平均や分散が導かれる
    • 確率変数は環をなす

No comments :