原因と結果の関係をネットワークで表し、原因から結果を推測する

ベイジアンネットワーク

ベイジアンネットワークは、複数の観測事象の同時確率を、いくつかの条件付きの確率の積で表したネットワークである。一度ネットワークを構築すれば、原因から結果を推定したり、結果から原因を推定したりすることが可能になる。また、原因と結果の両方が観測されたとき、両者をつなぐ因子を推定する問題にも応用することができる。

例えば、天気、湿度、葉の症状などからその植物がウィルスに感染されたかどうかを調べる簡単なベイジアンネットワークについて考えてみる。天気について、晴れ、曇り、雨のいずれかとする。湿度について、60% よりも大きいか或いは 60% 以下かのいずれかとする。また、葉の症状について、正常、斑点、萎れのいずれかとする。これら 3 事象で、ウィルスに感染されたかどうかという事象を説明するネットワークを構築する。

ある圃場において、過去の気象データを調べることで、晴れ・曇り・雨の確率を求めることができる(赤色の確率表)。同様に、過去の気象データを調べることで、晴れ・曇り・雨の日の湿度を調べることができる(オレンジ色の確率表)。また、その圃場において、過去数年分の調査データを解析することにより、葉の症状について正常・斑点・萎れの確率を求めることができる(青色の確率表)。さらに、過去の文献を調べて、湿度とウィルス感染、葉の状態とウィルス感染の関係を調べられたとする(緑色の確率表)。

ベイジアンネットワークと確率表の例

天気 E1、湿度 E2、葉の症状 E3 およびウィルス感染 E4 の有無を同時に表す確率分布を考える。この確率分布 p(E1, E2, E3, E4) を求めるのに、3×2×3×2 = 36 通りの事象を観測する必要がある。しかし、非常に珍しい事象でほとんど観測できないような組み合わせがあったりなど、計 36 の事象をすべて観測ことができない。そこで、各事象における因果関係を明示することで、その同時分布を求めるために必要な観測ケースを少なくすることができる。例えば、上の図のように、天気 → 湿度、湿度 → ウィルス感染、葉の症状 → ウィルス感染のように、ネットワークを構築すると、同時確率 p(E1, E2, E3, E4) は、条件付き確率の定理により次のように求められる。

\[ p(E_{1}, E_{2}, E_{3}, E_{4}) = p(E_{4}|E_{3})p(E_{3})p(E_{4}|E_{2})p(E_{2}|E_{1})p(E_{1}) \]

このように、p(E1, E2, E3, E4) を求めるために、3+3+6+(4+6) = 22 通りの事象を観測すれば十分となる。

一度 p(E1, E2, E3, E4) が求められると、湿度と葉の症状の組み合わせとウィルス感染確率を計算したり、ウィルスに感染した時の天気状態を推定したりすることができるようになる。また、例えば気候変動によって晴れ・曇り・雨の確率が変わったとすると、天気の確率表を更新することで、ベイジアンネットワーク上の他の事象の確率表をも簡単に更新できる。