Rによるやさしい統計学

決定木分析について

MECEについて

決定木分析(Decision Tree)はAIにも使われている技術ですね。

例えば、
・7回の買い物のうち、6回コーラを買った人は、8回目の買い物でコーラを買うかどうか予測する。
・商品Aの購入確率を上げるためには、どの客層にアプローチをかけるべきかを予測(分析)する。

という分析に使うことができます。

コンサルタント業務の一環で、
MECE(ミーシー)という考え方を使って収益やコストの分解をよくやります。
 ※MECEについて:https://www.kaonavi.jp/dictionary/mece/
 ※MECEを「MECE=ヌケモレ・ダブりがない」と言い換えてOKです。

どの部分が影響を与えているのかを
トーナメント表みたいに表現して「ここから改善していこう!」
と優先順位を付けることができます。

MECEについてより詳しく学びたい方や踏み込んだ内容を勉強されたい方は
「イシューからはじめよ」という本をご一読くださると理解が深まると思います。

イシューからはじめよ ― 知的生産の「シンプルな本質」

で、上述したトーナメント表のことをしばしば「ロジックツリー」と呼ぶことがあります。

ロジックツリー

MECEなロジックツリーを作るにあたって、一番大事なポイントは「切り口」です。

例えば収益について考える際、
「売上 = 単価 × 数量」と分けて考えるのが一般的ですが、
製品や企業によっては、

①売上 = 国内売上 + 海外売上
    = 国内単価 × 国内数量 + 海外単価 × 海外数量

②売上 = 市場規模 × シェア率

③売上 = 商品A + 商品B + ・・・ + その他売上

といった感じで、どのように分解するのかつまり、「切り口」が結構大事なんですね。
 ※日本人向けのサービスなのに、海外の売上を入れても意味ないですもんね。

ですが、この切り口の切り方が結構難しくて、MECEを用いた分析をすることに
ある程度慣れてないと意味のない分析結果となってしまいます。

安心してください。
そんな「切り口」を機械的に考えてくれる手法が「決定木分析」なんですね。
先にひとつ欠点を上げるとすれば「提供されたデータ以外のことは分からない」ということです。
逆にいえば「業界の常識や主観が入らないこと」が長所でもあります。

決定木分析について

では、決定木分析の内容を書きますね。

提供されたデータは定量データ、定性データがごちゃごちゃになったものだとします。
※定量データ:数値や順番付けのできるデータ
 定性データ:フリーコメントや赤と青など順番付けが出来ないデータ

このデータの中で最もかけ離れているデータの塊をしらみつぶしで2つ作ります。

(例)
データの中身が「売上金額、商品名、店舗名、年齢層、性別」の5つがあったとします。
売上100% = 男性売上(50%) + 女性売上(50%) 

ではなくて、、、
売上100% = 商品A(90%) + 商品B(10%) 

と、なるべく偏りの出るようにしらみつぶしに全パターンを調べて分けます。
しらみつぶしは人間の手ではかなり大変で、パソコンが最も得意とする方法ですね。

それで似たような感じでさらに分解していきます。先の例ですと、

売上100% = 商品A(90%) + 商品B(10%)
      = 商品A&女性(70%) + 商品A&男性(20%) + 商品B&50歳以上(8%) + 商品B&49歳以下(2%)

みたいな感じですね。
ここでポイントとなるのが、この「分け方」です。

商品Aについては「性別」で分けていたのに対して、商品Bは「年齢」で分けてますよね?
通常なら商品Aは性別で分けるとしたら、無意識に商品Bについても性別で分けちゃうんですね。

その人の持つ常識や直前のやり方と無意識に合わせたくなる習性などを
なるべく排除することが、数式を使う最大のメリットなのです。

チームMTGやメンバーとディスカッションを通じて分析をする際、
ファシリテーターが無意識に上述したことをやってしまうので空気をよく読んで
突っ込んでみると議論が深まるかなぁと思います。

どこまで分解するか

「分け方」の次に重要なのは「どこまで分割するのか」ですね。
機械的に最後の1名になるまで分割することは可能ですが、
それをやってしまうと過学習(Over Fitting)を起こしてしまいます。

過学習というのは詳細に分析し過ぎたために、逆に的外れな答えを導きだしてしまう現象ですね。

例えば
「39歳女性が渋谷店舗で商品Aを3つ購入した、翌日に商品Bを2つ購入した」
と最後まで分解したとします。

こうした場合、39歳女性が渋谷店舗で商品Aを3つ購入したら、
何も考えずに「次の日には商品Bを2つ買います!」という結果が出てしまうんですね。

皆さんも感覚的にお分かりかと思いますが、これはやりすぎだって分かりますよね。(笑)

実際にAIの性能を調べるAUCという評価方法でも、
細かく分解しすぎると予測精度がどんどん下がってしまうことが分かってます。

従ってどこかのタイミングで分解することを止めて、まとまったものを分析した方が良いのです。

どこで分解を止めるかについては、対象となるデータ量と内容によって異なりますが
経験的に最大でも3~5階層(8通り~32通り)くらいで打ち止めにした方が良いかなぁと思います。

過学習についてはAIを作るための学習方法で詳しく述べたいと思います。
 ※「ホールドアウト法」「クロスバリデーション法」などの学習方法は後日。

いわんとすることは、
細かく分割しすぎるとそれはそれで時間の無駄になるため、どこかで打ち止めにする必要がある
ということですね。

まとめ

決定木分析についてまとめると、
 ①ロジックツリーを作る際の「分け方」に着目した手法であること。
 ②ロジックツリーを作る際の分け方がとても客観的。
 ③ロジックツリーを作る際は分割しすぎないである程度で打ち止めにする。

ですね。

決定木分析の結果と人間が行った分析の違いについては、正直言ってだいたい同じような結論が出ます。

なので「AIってつまらないものなんだなぁ」と思われがちですが、
そもそも、AIは「人間が考える過程を数式モデルを使ったもの」なので、
想定外の知見や結果が出ることはあまりないですね。

逆に言うと、
予想していない結論や的外れに見える予測は「新しい発見かも!?」と考えた方が良い事がありそうです。

最近だと「あなたへのオススメ」の商品や映画などで、AIが利用されていて
「あなたが興味を持つかも?」とレコメンドされるようになってますよね。

ぶっちゃけると「興味すら持てないんだけど」というのが大半なのですが
これはあくまでも自分の中での常識フィルターが掛かっているせいなのかもしれませんね。

興味すら持てないような人や映画をおすすめされたら
「新しい価値観に出会えるかも!?」とワクワクしてみるのもアリですね。

Rによるやさしい統計学

Rによるやさしい統計学
最新情報をチェックしよう!

データ分析の最新記事8件