コラム「どこかおかしいよ、データマイニング!」麻生川 静男


【第23回】データマイニング・夜話(その五:因果関係)  


【第28回】データマイニング・夜話
(その十:子供の頃わくわくした事)


コラムTOPへ戻る

中国の言葉に『池魚(ちぎょ)の災い』、というのがあります。いわれは、宋の国の桓司馬という人が王様から罰せられたので、家宝の宝石(宝珠)を持って逃亡しようとしたのですが、途中で捕まってしまいました。王から宝石を差し出せといわれた桓司馬は、とっさに、近くの池を指差し『あそこに投げ込んだ』と言い逃れをしました。ところが王は早速その池をさらえて宝石を捜すように家来達に言いつけたので、結局水を無くした池の魚は全部死んだという話です。つまり、池の魚はとんだとばっちりを受けたのでした。

似たような諺に『魯酒(ろしゅ)うすくして、邯鄲(かんたん)囲まる』と言うのがあります。これは今から2500年前の中国は、日本の戦国時代同様いくつもの国が群雄割拠していました。その内の魯(ろ)という国と趙という国はともに、揚子江流域の大国・楚にお酒を献上しました。魯の酒は水っぽくまずい品でしたが、趙の酒は極上品でした。さて、楚の役人は強欲で、魯と趙の両方から賄賂をせしめようと企みます。魯の使者は要求どおり賄賂を出したのですが、趙の使者ははねつけました。それを根にもった楚の役人は趙からの献上品である極上品の酒を魯のまずい酒とすり替え楚王に献上しました。楚王は趙の酒があまりにもまずいのに腹を立て、趙の都、邯鄲に攻め込んだのでした。

結局、この事件の経緯をまとめると
 1.『魯酒は薄く、まずかった』
 2.『楚の役人に賄賂を出さなかったので趙の酒と魯の酒が入れ替えられた』
 3.『趙のまずい酒に怒った楚王が趙の都、邯鄲を攻めた』

ということで、事の始め(因)とその結末(果)から言うと『魯酒薄くして、邯鄲囲まる』となるわけです。

この様に論理的な一貫性、つまり必然性が存在していなくても、形式的には因果関係は成立しているように見えますがまるで最近のネット企業の錬金術のようなこじつけですね。

さてこの類でよく知られている話としては、『風が吹けば、桶屋がもうかる』というのがあります。

子供のころにだれでも一度は頑張って覚えた記憶があるでしょう。そもそもの理屈は、『風が吹くと砂が舞いあがり、それが目に入ると失明する人が多くなる。そうすると、その人たちが三味線を弾く職業に付くので、三味線の皮にするためにネコがたくさん殺される。ネコが殺されると、ねずみが増える。ねずみが増えると桶がかじられる。桶がかじられると桶の修理需要が増えるので、桶屋が儲かる』というものでした。

この話も一見、風と桶屋の収入の因果関係を論理的に説明しているようですが、子供心にもどうも怪しいと思ったでしょう。表面上は論理の一貫性があるのに、どうして怪しいと思わせる要素を感じるのでしょうか?今回はこの点について考えてみましょう。

この件について回答を申し上げる前にもう一つだけ昔話を聞いてください。

それは『アキレスと亀のパラドックス』という話です。古代ギリシャのゼノンという哲学者が考案しました。足の速いアキレスが足の遅い亀と競争しても絶対に追い越せないという命題です。例えば、亀がアキレスの8メーター前にいるとして用意ドンで同時に走りだしたとします。アキレスが半分の4メーターの所に来たときには亀は4メーターよりちょっと前にいます。暫くしてアキレスがまた半分の2メーターの所に来たときには亀は先ほどよりももう少し前にいるはずです。このようにしてアキレスが亀までの距離の半分の所に来ても亀は常にその半分より少し前にいるので永久に追いつけないという話です。

しかし実際には、こういった馬鹿なことはありませんので、どこかにこのロジックの間違いがあるはずです。それは、距離が半分になれば走る時間も半分になるわけですので、距離がどんどん短くなれば、そこを走る時間もどんどん短くなるわけです。結局数学用語を使って説明をしますと、無限数列の総和が有限値に収束する場合があります。つまりアキレスが亀を追い越す時間も、分解すれば、理論的には無限回数でも、それに要する時間は有限である、つまり、追いつけるし、また追い越せる訳です。

このアキレスと亀のパラドックスは数量的な概念の欠如、つまり無限数列でも有限値に収束する、という数量的観点を無視したところから来ているのです。

さて、元にもどって『風が吹けば、桶屋がもうかる』の論理的矛盾を考えてみましょう。これもアキレスの話同様、数量的観点から考えてみる必要がありそうです。

風が吹くと砂が舞い上がるのは、間違いなく事実でしょう。しかしそれによって失明する人は何人いるでしょうか?つまり砂が目に多少入ったぐらいでは失明をしない訳ですので、失明するには大量の砂が目に入る必要があります。しかしそもそも大風の時に目を開けて歩くでしょうか?砂ぼこりがすごい時は、家で待機するか、手などで目を覆って歩くでしょう。つまり、風が強いと砂がたくさん舞い上がるのは正しいのですが、その結果として失明するという事象はあまり発生しないと考えられます。

一方データ解析的観点から考えるとこのような事実関係をつかむには実際に風が吹いたときに砂が目に入ったために失明した人の数を調査する必要があります。データ解析を実践する上でこのような実際の調査を端折てはいけません。つまり、論理性があるかどうかということもさることながら、数量的観点をしっかりとチェックする必要があるのです。

また仮に百歩(いやいや10万歩でしょうか)譲って、砂が目に入ったため不幸にも失明した人がいたとしましょう。その人は食べていくために三味線を弾く職業に就くのでしょうか?目の見えない人の職業は昔でも三味線以外にもいろいろと考えられますので、一概に失明したからといって三味線が必要だと断定はできないわけです。つまり、ここにも数量的観点の考慮が欠けています。

以下このように、この論理的展開の一つ一つについて数量的に判断しますと次のようになるでしょう。

 1.最初風が吹くと砂が舞いあがる。[30%]
 2.失明する人がでる。[0.001%]
 3.三味線を弾く職業に付く。[20%]
 4.ネコが殺される。[20%]
 5.ねずみが増える。[30%]
 6.桶がねずみにかじられる。[20%]
 7.桶の修理需要が増える。[10%]

結果的に桶屋が儲けるにはこれら全ての事象(出来事)が一つも欠けずに起こった場合です。従ってその発生確率はこられ全部を掛け合わした値になります。その値(確率)は 7.2 x (10 のマイナス0乗)、つまり700億分の一!になります。事実上はゼロといっても差し支えないでしょう。このように論理的には確実に起こるようでも数量的にチェックしてみると、そういう事象は実際には全く発生しないということが分かります。

このように論理関係が理屈として合っているかどうかとそれが因果関係として実際に起こると証明できるかどうかというのは全く別問題であることが分かります。

30年ほど前、AI(人工知能=Artificial Intelligence)が大流行しましたが結局実際に使えないなかったのは、このように一つの事象が発生するための原因が複雑に絡みあうと結局それぞれの事象が次
の事象を引き起こす、あるいは複数の事象が同時に発生するという確率が非常に低いことによります。そうすると、発生現象を説明するためにいろいろと別の現象を記述しなければいけませんが、今度は数多くのルールの組み合わせが爆発的に多くなるという別の問題が運用の足を引っ張ることになったのでした。

このように『風が吹けば、桶屋がもうかる』というのは一見理路整然とした論理展開でしたが、実際には全く意味のない命題であった、と分かったのでした。

【ついでに一言】

一方データ解析の観点からは、この諺が正しいかどうかは次のような調査をすることになります。つまり、桶屋の日々の収入と風力の記録を毎日記録します。それらのデータをプロットし、風力の平均値や最大風力などと桶屋の収入に正の相関関係があれば、『風が吹けば、桶屋がもうかる』という命題が証明されたことになるわけです。

しかし、21世紀の今日、桶屋さんも安定的経営のために、結構多角経営しているので、どのような結果になりますことやら。。
続く...

TOPへ


Copyright © 2006 Zetta Technology Inc. All rights reserved.