こんにちは。グラフィックファシリテーター®やまざきゆにこです。

野村総研 未来創発センターデータサイエンスラボ」さまの新しい取り組み NRI「データサイエンス用語」の解説動画(絵巻物)第9弾がYouTubeアップされました。今回は(2分で解説)「ベイジアンネットワーク」です。

【NRIプレゼンツ☆知っておきたいデータサイエンス用語】

今回の動画のイントロのボーカロイドたちのセリフはこちら。

パパ「アンケート調査の結果から、会社の商品を買う人たちの特徴を分析しろって言われたんだけど」
子供「だったら、ベイジアンネットワークを使って分析する方法があるよ

トーマス・ベイズさんのベイズ統計(詳しくは→データサイエンス用語vol.5)の考え方「条件付き確率」を使っているネットワーク図なので「ベイジアンネットワーク」。実際、専用のソフトに「分析したいデータ」を入れると、このような「ネットワーク図」に表示してくれるそう。これ、ただの「ネットワーク図」ではなく、データの因果関係を分析するのに、人間の感覚や直感・経験則も反映(チューニング)しやすく理解の得やすい「説明」や「予測」(シミュレーション)を行える優れもの☆

「ベイジアンネットワーク」の詳しい用語解説はこちら。
https://www.nri.com/jp/knowledge/glossary/lst/ha/bayesian_network

ベイジアンネットワークなにがスゴイの?
①モデルが、グラフィカルに(変数間の関係を構造的に)表される。
②モデルを、人間の感覚・直感・経験則から見直せる(ネットワーク図の矢印を動かしてチューニングできる)。
③シミュレーションしやすい!

データサイエンス初心者のわたしは正直、最初この3つをいきなり言われても「どうスゴイの???」だったのですが

①なるほど、もともと「データ」といえば、Excel表にまとまってるのが一般的だし、多くの「モデル」=関数=数式だから、それがこんなふうに直感的に分かり易いやすい「ネットワーク図」で見えるだけでもまずスゴイ。且つ、特に「結果(Y)」に影響を与える「要因Xi同士」の関係性も俯瞰して理解しやすいのがスゴイ(相関関係がなければ矢印でつながれないっていう考え方も面白い)②もしこのネットワーク図の流れが人間の感覚にあわなければ、矢印の位置を入れ替えることもできるのもすごい。それを「チューニング」と言うそう。数式いじるよりいいですよね。③条件を色々変えてシミュレーション・推計(予測)できる。でもこれってきっと、そもそも変数がすべて「確率」だからかな~いやぁ、これは機械の力を借りなければできないシミュレーションだ。

初心者ゆにこが動画をつくった結論としては、とにかくベイジアンネットワークのすごさの根っこは、「目的・結論(Y)」=「その商品が売れる確率は?」を説明・予測するために、関係のありそうな事象(要因Xi)同士の因果関係が「条件付き確率」で決まること(それが矢印で表現されYにつながる)。変数がここではすべて「確率」というのもポイントかと。

初心者ゆにこの一番のオドロキは上の絵。
いくらデータから導き出したモデル(数式)であっても、それが賢い機械が弾き出したものでも、人間が「感覚的におかしい」といったらチューニングする(モデルをつくり直す)ことが大前提という事実。任せっきりじゃないんだ?!データサイエンスの世界では常識らしい。予測精度がいくら高いと言われても、腹落ちしなければモデルを組み替えるんですね。なんか、いいな。そりゃ最後に意思決定するのは人間ですもんね。ということで動画の中では「人間(感覚・経験・知見)」と「データ(機械)」と共存している絵を描いてます。

ただ、1万人くらいのデータならいいけれど、人間の手には負えないビッグデータを「ディープラーニング」預けることになると、モデルも、計算過程も、もはやブラックボックスという現実もすでにある。(※と言うことで動画の中の例は「1万にのアンケート」にしてみました)

データ分析にそれぞれ一長一短あるんですね。
回帰分析 < ベイジアンネットワーク < ディープラーニング

【涙ナミダの製作ウラ話】
しかし、、、今回は、本当に大変でした。わたしがNRI研究者さんから用語解説の原稿と2時間のレクチャーを受けた後から、絵巻物にするまで「分かったつもりでいたけど実は分かってなかった」ことが多すぎて(@_@)ふぅううッ。

データサイエンス初心者には些細な言葉の違いもひっかかるんです。
以下は今後のためにも「何が分かってなかったのか」備忘録。

「モデルがグラフィカルに表現されているのがスゴイ」と言われても…

データ分析の基本「回帰分析」の「図」と比較されてで説明を受けていたのですが(回帰分析は1対1の図だよというシンプルな比較)

その深い意図が読み取れなかった初心者ゆにこのギモン
「回帰分析も図で表現できているならすでにグラフィカルなのでは?」

研究者Sさんの回答
「図で表したことではなく変数間の関係も構造的に表したことを言いたい」

とのこと。グラフィカルという曖昧な言葉を曖昧なまま理解して帰ってきていたワタシ…

しかしここで初心者ゆにこの更なるギモン。

そもそも「モデル」って何?
そもそも「回帰分析」って何?
そもそも「変数」って何? 

で、調べに調べて初心者なりに納得したのは、

データに(YとXの間に)「モデル(関数)」をあてはめる(つくれる)と

→Yに、どのXがどのくらい影響を与えているか「説明」できたり、XをいじってYを「予測(推論)」できる。

「初心者ゆにこ的」理解としては

回帰分析は「モデル」=関数=数式だけど

ベイジアンネットワークは「モデル」が「ネットワーク図」で表現されているから分かり易い!

で、そもそも、どうして「ネットワーク図」で表現できるかといえば

回帰分析はYとXiそれぞれの「1対1の関係」を見てきたけれど

ベイジアンネットワークは「変数Xi同士の関係」に注目したから。「ベイズ統計」の「条件付き確率」の考え方を使って「Xi同士の関係(強さ)」を決めたから。

回帰分析はY(目的変数)とXi(説明変数)それぞれの「1対1の関係」しか分からないけど、

ベイジアンネットワークは「説明変数Xi同士の関係」も分かるのがすごい!

しか~し!動画にするときに「具体的な例を使って」回帰分析の図とベイジアンネットワーク図を比較しようとしたら、またも、つまづいた!

あれ?「アンケート調査結果」という例を使って、X1=性別、X2=職業、X3=飲酒、X4=運動時間、、、、と同じXiやYを、回帰分析の図にも使おうとしたら、ん???

そもそも出したい「結果Y」が違う?ベイジアンネットワークは「確率」。でも回帰分析でよく使われている例はどれも「売上高」とか「坪単価」とか…(確率じゃない!?)。

回帰分析(Xi、Y)とベイジアンネットワーク(Xi、Y)では「同じ変数」が使えない!どちらもXとYで書いてあるからてっきり「同じ変数」だと思うじゃないかッ!

ということで、動画の中では「同じわが社の商品」を分析しているのですが

回帰分析のY=売上高

ベイジアンネットワークのY=購入頻度の確率(毎日買う人*%/2~3日に1回買う人*%/週1回買う人*%/0回の人*%)

結論、、、回帰分析の説明変数Xiには「相関関係の強そうなもの」は入れないほうがよさそうだし、分かっている人はそもそもそれを分かって使い分けてるでしょうね、きっと(^^ゞ

チューニングするって、どゆこと?

「チュー二ングできる」とレクチャーを受けたときは「ほほぉそうですか」と言って家に帰ってきちゃったんだけど、具体的にチューニングするって、どゆこと?調べてみたら「モデルを組み替える」ことらしい。しかもネットワーク図で言うなら「矢印」の位置を変えたりすることらしい!?ということで動画の中ではこんなチューニングの例をつくってみました。(※架空のネットワーク図をつくってます。この組み替えも架空です)

専用ソフトにアンケート結果のデータを入れたら「矢印」が「飲酒(毎日/2~3日に1回/週1回/0回)」→「性別(男性/女性)」となっていたら、、、


「毎日飲酒している人」のうち「男性の割合」を出したところで…あんまり意味はなさそう。と「矢印」を外すか別のところにつなぎ直すのでは?ということでこんな動画にしてみました。

シミュレーションできるって。どゆこと?

「シミュレーションできる」とレクチャーを受けたときはこれまた「ほほぉそうですか」と言って家に帰ってきちゃったんだけど、具体的にシミュレーションしてみようとしたら、、、これが大変だった!変数が「確率」だから、しかも「条件付き確率」でつながっているから、動画の中でシミュレーションに挑戦してみたら、大変なことになっちゃった。

シミュレーションの例をわざわざ入れなくてもいいと思ったけど、初心者ゆにこは、これがないと納得できないので、もはや意地でつくってみた。*ありえない数値でつくってます。

シミュレーション1
男性60%という条件のもと→健康志向が高い人は?20%

シミュレーション2
女性40%という条件のもと→健康志向が高い人は?30%

数字が増減するたびに円の大きさを大小させているの、、、伝わるかなあ、、、
動画が早すぎて伝わらないと思うので、ここに細かく記載しておきます。

シミュレーション3 次のはちょっと長いデス。
男性60%という条件 且つ 飲酒を毎日する25%という条件→健康志向が高い人は?10%
男性60%という条件のもと→職業がデスクワークは?35%
健康志向が高い人10%という条件 且つ 職業がデスクワーク35%という条件→運動時間が週1回という人は?30%
職業がデスクワーク35%という条件 且つ 運動時間週1回30%という条件→毎日購入する確率は?25%

さいごにもう1つシミュレーション。
シミュレーション4
職業がデスクワーク35%→50%に変更してみたら?
健康志向が高い人10%という条件 且つ 職業がデスクワーク50%という条件→運動時間が週1回という人は?35%
職業がデスクワーク50%という条件 且つ 運動時間週1回35%という条件→毎日購入する確率は?35%

ふう~(@_@)

ちなみに上の画像はわたしの手書きメモのほんの一部。絵を描くなんてさいごのさいご。動画を描く前にまずもって「理解」するまでにむっちゃくちゃ時間がかかっており、あたまの悪さに比例して、ウラ紙とボールペンの消費量は右肩上がりの創作現場です。

チャンネル登録もぜひ!
YouTube公式チャンネル NRIデータサイエンスラボ
https://www.youtube.com/channel/UCpy_3_wYutf5u0U4DdOziGQ