ベイジアンネットワーク
ベイジアンネットワークの概要
ベイジアンネットワークとは、複数の変数の確率的な因果関係をネットワーク構造で表わし、ある変数の状態を条件として与えたときの他の変数の起こり得る確率(条件付確率)を推論することができる手法です。ネットワークの構造は、ある変数をある変数にリンクしたときに、モデル全体の数学的な評価が良くなればそのリンクを残し、悪くなればそのリンクを削除するという処理を全変数について探索することで最終的なネットワーク構造を獲得します。なお全ての変数は質的変数(カテゴリカル変数)となるため、量的変数の場合は閾値を設けて事前にカテゴリに分割する必要があります。ベイジアンネットワークの特徴として、目的変数と説明変数の区別がないため、様々な方向から変数の確率シミュレーションを実行できること、また確率論による非線形処理のモデルのため、非線形の関係や交互作用が生じる現象でも記述できることなどが挙げられます。
ベイジアンネットワークの例
テレビ番組の視聴率に関するベイジアンネットワークを考えたいと思います。今、テレビ番組の出演者や視聴率に関するデータから以下のようなベイジアンネットワークのモデルが得られたとします。X1(番組の時間帯がゴールデンか否か)はX2(番組のジャンルがバラエティか否か)とX4(視聴率が10%以上か否か)に影響し、そのX2はX3(番組に芸人Aが出演するか否か)に影響し、そのX3はX1と同じくX4の視聴率に影響し、X4はX5(1回15秒のCM料が100万円以上か否か)に影響するという関係モデルです。ベイジアンネットワークのモデルは、リンク元(親ノード)を条件としたリンク先(子ノード)の条件付確率の集合で定義され、その確率値が与えられた条件付確率表に基づいて、ある変数の条件を指定したときの他の変数の起こり得る確率値を推論する確率シミュレーションを実行します。
ベイジアンネットワークのメリット
ベイジアンネットワークのメリットをまとめると以下のようなことが挙げられます。
①要因の関係構造を理解できる
本当の因果関係ではなく、あくまで”確率的”な因果関係ですが、どの変数がどの変数に影響しているのか、可視化された構造によってデータ全体に潜む要因関係を理解することができます。
②経験則をモデルに組み込める
各変数の関係構造は、データだけに基づいて数学的な基準で探索することもできますが、経験的にこの変数とこの変数は関係があることは分かっているといった情報があれば、それをモデル構築の条件に採用することができ、それ以外の部分をデータから数学的に探索するということができます。つまり経験則と数学のハイブリッドでより実務に即したモデルを構築できます。
③複数の対象を同時に予測できる
ベイジアンネットワークでは、目的変数、説明変数の区別なく変数の関係をモデル化し、ある変数を条件に与えたときの他の変数の確率を推論することができます。予測モデルを構築する通常の分析は、目的変数と説明変数が定められており、一つの予測対象(目的変数)ごとに予測モデルを構築する必要がありますが、ベイジアンネットワークでは、予測対象は一つに限らず複数予測できます。例えば上記のモデルの例では、X1(番組の時間帯がゴールデンか否か)とX3(芸人Aが出演するか否か)を条件に与えて、X4(視聴率が10%以上になる確率)とX5(CM料が100万円以上となる確率)を同時に推論できます。
④様々な方向から予測できる柔軟性がある
上記③と関連しますが、通常の予測モデルは、目的変数と説明変数を定義しており、説明変数から一つの目的変数を予測するという一方向の予測に限定されますが、ベイジアンネットワークでは、目的変数と説明変数の区別がないため、リンク元からリンク先を推論するだけでなく、リンク先からリンク元を推論するなどの逆推論もでき、推論条件と推論対象を自由に指定して様々な方向から確率推論を実行できます。例えば上記のモデルの例では、X4(視聴率が10%以上になる)ときには、X1(番組の時間帯がゴールデンである確率)やX3(芸人Aが出演している確率)を推論することができます。これは上記の条件付確率表からベイズの定理を適用することで、条件を反転させた確率を推論しています。
⑤確率伝播によって未知情報も予測のインプットにできる
通常の予測モデルとは、既知情報をインプットとして、未知情報をアウトプットするものですが、ベイジアンネットワークでは、既知情報から推論した未知情報をさらにインプットとし、その先の未知情報を推論するという「確率伝播」という推論方式を取ることができます。例えば上記のモデルの例では、X4(視聴率が10%以上か否か)という情報は分かっていなくても、X1(番組の時間帯がゴールデンか否か)から、X4を飛ばしてX5(CM料が100万円以上となる確率)を推論することができます。これはまずX1からX4の確率を推論し、その推論確率からX5の確率を推論するというように、確率が伝播することで実現されます。つまり全ての情報が既知情報として揃っていなくても対象の予測を実行することができます。また、こうした中間未知情報は、状況により既知となれば既知情報としたインプットにすればよく、これにより最終予測対象をより高い精度で予測できます。
⑥効果を発揮する有用な条件を発見できる
ある条件が揃うときにだけ効果が発揮されるというものや、ある条件とある条件が組み合わさると逆の効果に転じてしまうといった交互作用がある場合でも、確率的に意味のある関係としてモデル化することができます。例えば上記のモデルの例では、X4(視聴率が10%以上か否か)はX1(番組の時間帯がゴールデンか否か)とX3(芸人Aが出演するか否か)に対して確率的な因果関係があるという構造になっていますが、特にX4=1(視聴率10%以上となる確率)がX1とX3の条件によってどのように変化するのかを以下の図で示しました。まず、何も条件を与えていない場合、つまり元々のX4=1(視聴率10%以上となる確率)は16%となっていますが、これにX1=1(番組の時間帯がゴールデン)を条件に与えると44%、X3=1(芸人Aが出演する)を条件に与えると25%に上昇します。つまり、ゴールデン番組の方が視聴率を取りやすく、また人気芸人Aを採用することで視聴率が上がるということになります。ところが、X1=1(番組の時間帯がゴールデン)とX3=1(芸人Aが出演する)を同時に条件に与えるとX4=1(視聴率10%以上となる確率)は11%と、元の確率よりも下がってしまいます。これは、芸人Aは話題の人気芸人ですが、深夜向きの芸人であり、ゴールデン番組とは相性が悪く、ゴールデン番組に出演すると視聴者の受けが悪くかえって視聴率が下がってしまうという交互作用の効果があると解釈できます。ベイジアンネットワークでは、ある条件とある条件が組み合わさったときにだけ発揮される交互作用の効果も確率的に表現でき、ビジネスに有用な条件を発見できる可能性も期待できます。
識別問題のディープラーニングと現象理解のベイジアンネットワーク
昨今の人工知能ブームでは、最も有名な手法は間違いなくディープラーニングになるかと思います。ディープラーニングのベースはニューラルネットワークという技術で人工知能の分野で古くから研究されていますが、またベイジアンネットワークも人工知能の分野で長く研究されている手法の一つです。
ディープラーニングをここまで有名にしたのはその識別精度にあり、画像の識別や優良顧客の識別などに適用されています。予測モデルのコンテストで上位にあるものはほとんどがディープラーニングを適用したものです。しかし、ディープラーニングが万能手法というわけではなく、なぜそれだけ識別精度が高いのか説明ができないというブラックボックス問題があります。つまり構築したモデルの内容は複雑すぎてわかりませんが、とにかく精度だけは良いモデルを構築しているのがディープラーニングです。
一方ベイジアンネットワークは、構築したモデルの構造をネットワークで可視化し、データの中にどのような依存関係が存在しているのか把握することができ、それぞれの要因関係の効果をより細かく確認できます。つまりそのデータが語る現象やその特徴を理解することに優れているといえます。ベイジアンネットワークも予測モデルとして使用されることはありますが、その精度はディープラーニングには劣るといえます。
どちらの手法がよいということではなく、それぞれの特徴を理解したうえで使い分けることが求められます。構造は分からなくてもとにかく精度の高さを要求する識別問題ではディープラーニングを、施策を検討するヒントを得るためデータに潜む依存関係を可視化する現象理解にはベイジアンネットワークを適用するのが良いかと思います。
モデリング手法におけるベイジアンネットワークの位置づけ
ディープラーニングも含め、各種モデリング手法の特徴とその中におけるベイジアンネットワークの位置づけを以下にまとめてみました。下の図では、モデリングでよく用いられる手法を並べています。先述したディープラーニング(ニューラルネットワーク)、統計学で歴史の古い回帰分析、目的変数の特徴がよく現れるルールを可視化する決定木分析、そしてベイジアンネットワークがあります。特に弊社では、ビジネスアクションを検討するうえで重要となる、データに潜む要因関係、因果関係を理解するという目的のためにベイジアンネットワークを採用することがありますが、今回はその分析目的の観点からに各手法の特徴を見ていきたいと思います。
まずニューラルネットは、先述の通り予測精度は高いですが、モデルの構造はブラックボックスとなってしまいます。回帰分析は目的変数と説明変数の線形関係が前提となるので、複雑な現象のモデル化に不向きとなり、ある条件とある条件が組み合わさると効果が変化するといった交互作用の効果を表現できません。一方、その交互作用の効果をうまく表現できるのが決定木とベイジアンネットワークです。その中でもベイジアンネットは先述の通り、他のモデリング手法とは異なり、目的変数と説明変数の区別がありません。目的変数と説明変数の区別があると、基本的に一つの目的変数に対する説明変数の関係しか分かりませんが、その区別がないので、それぞれの変数が互いにどのような関係をもってそのデータという現象を構成しているのか理解できます。
弊社ではデータに記された現象に潜む要因関係を人が理解し、それをヒントに人がビジネスアクションを検討するというデータ活用のアプローチを取ることがあり、その場合の要因関係のモデリング手法にはベイジアンネットワークを採用することがありますが、目的変数が定まっていれば決定木も様々なシーンで使いやすく、こちらもしばしば採用します。実は決定木は適用メリットが非常に多く、データ分析において万能ともいえる手法と個人的には考えております。また、ベイジアンネットワークは、全ての変数は質的変数(カテゴリカル変数)となるため、量的変数は閾値を設けて事前に離散化する必要がありますが、この離散化の仕方がモデルの結果に大きく影響をしてしまい、これがベイジアンネットワークを利用する上での大きな難点となります。一方、決定木では、質的変数も量的変数も両方扱うことができ、量的な説明変数は目的変数に対して最も効果が現れるような離散化の閾値(分岐ルール)を自動で計算でき、これが決定木の大きな魅力だと考えています。なお、子ノードが一つのベイジアンネットワーク、つまり目的変数が一つに定まったベイジアンネットワークは、左右対称のツリー構造を持つ決定木と等価なモデルとなります。決定木についてはこちらの解説ページをご参照ください。
※本解説記事の内容を引用または転載される場合は、その旨を明記いただくようにお願いいたします。