データマイニングによるスコアリングと予測
前回、消費者のスコアリングにデータマイニングの手法が使えるということを書きました。今回はデータマイニングによるスコアリングと、その失敗談についてお話しします。
データマイニングによるスコアリングとは
データマイニングとは大量のデータから有用な情報を半自動的に取り出すプロセスですが、どんな情報をどのように取り出すかによって異なる手法がたくさん存在しており、それらを総称した用語です。
スコアリングに使える手法は大きく分けて2種類あります。
A) クラス分類
言語処理で文書を特定のカテゴリ(これをクラスと呼ぶ)に関連付ける技術を応用したものです。メールのスパムフィルタが応用例としてよく挙げられます。
スコアリングとはある評価軸にそって採点することですから、最高点と最低点の二つの状態をクラスとみなし、そのどちらに近いかを分類させた時にスコアが得られます。具体的には、ある顧客に対し、商品を買う/買わない、または解約する/しない、といったことを予測することに相当します。
B)(一部の)回帰分析
統計学の手法をデータマイニングの一種とみなすことがあります。中でもある種の回帰分析は二つの状態のどちらに近いかを確率として求めることができるため、クラス分類と同じようにスコアリングに使うことが出来ます[2]。
これら手法を使ってのスコアリング、つまり予測を行う手順はおおよそ以下のようになります。
- 何を予測したいかを決める
- 予測したいことに関係のありそうなデータを集める
- 手法に適した形にデータを整形する
- 予測したいことと、関係のありそうなデータ間の関係性(モデル)を計算によって求める
- 予測の性能を確認する。問題があればやり直し
何が問題だったか
クラス分類手法による予測を提案した時にいくつかコミュニケーションの問題を体験しました。今回はその中から以下の二つを紹介しましょう。
1.予測精度の表し方が難しい
クラス分類の予測精度を評価する方法は、累積ゲイン図やリフト図というグラフによって可視化してみるのが一般的です。私の説明の拙さもあったのでしょうが、多くの人はグラフの見方が分からないようで、何度も同じ説明をしなければなりませんでした。
まず、累積ゲイン図とは以下のようなグラフです。
これは以下のように作図します。
- 顧客を予測のスコアが高い順に並べて、上位から均等にグループ分けする。通常10分割(デシル)
- 予測が的中した顧客に印を付ける
- グループ毎に、グループ内で印がついた顧客の数÷全顧客についた印の数(%)を計算…(A)
- グループ毎に、最上位グループからこのグループまでの(A)を累計…(B)
- グループをX軸、(B)をY軸に取ってグラフを書く
- 比較のために、グラフにY=Xとなる直線を引く…ベースライン
(B)をプロットしたカーブからは、予測の上位何パーセントを抽出するとどれだけ予測の的中が見込めるか、ということを読み取ることができます。
一方、ベースラインというのは全く予測をしない、つまり完全にランダムに予測をした時にどうなるかということを意味します。ランダムに予測すると顧客の中から均等に的中が見つかるので、つまり直線という訳です。
意味のある予測は全くの当てずっぽうよりもましな結果を出さなければなりませんから、ベースラインから (B)のカーブがどれだけ上に離れているかを見ます。(伝わりますでしょうか…)
一方、リフト図はこちらのグラフです。
こちらは、累積ゲイン図において、(B)とベースライン(Y=X)上の点が指す値の比をプロットしたものになります。各グループにおける予測の強さというものを比較することができます。
これらの評価方法は、スコアの費用対効果を可視化することに相当します。
例えば、それまで全顧客にDMを送っていたところ、スコアを使うことで反応数を大きく減らすことなくどこまでリストを圧縮できるかということは、累積ゲイン図を見ればよく分かります。
上の図は人工的に作った例なのででき過ぎですが、上位4割で全ての反応を予測できていますから、コストを6割削減してもデメリットがない、という評価です。
2.スコアの意味するところと使い方が分からない
前回も書いたように、スコアリングはほぼセグメンテーションのためと言えるのですが、セグメントについて議論をしないまま話を始めたために、議論がかみ合わなかったことがあります。
また、お客様からは、以下のような疑問の声をいただきました。
- なぜこの顧客にはこのようなスコアがつくのか
- これといって新しい発見はないようだが
- 顧客を層別して、更にスコアの高い集団を抽出することはできないか
- この後どのようにセグメントを作り、施策を打ったらよいか
これらは、セグメントのためにスコアリングしているのではなく、まずは顧客を理解したいというニーズがあったことの現れだと言えます。
後になって考えてみると、もちろんお客様はまずは分析をして欲しいということをおっしゃっていたのですが、私は「予測」にこだわってしまい、予測はできているからいいじゃないかと、徐々にすり替わってしまったのだと思っています。
この時は、ある程度月日が経った後に、改めて予測の元となるデータの基礎集計を行い、言葉による傾向評価をまとめたことで、ようやく次の議論に進めるようになりました。
実は、データマイニングには二つの方向性があるとされています。一つは目的志向的、もう一つは探索的とよばれるものです[3]。
そう、データマイニングによる予測は目的志向なのですが、お客様が求めていたのは、何がどうなっているかを解き明かしていく、探索的なデータマイニングだったのですね。
この探索的なデータマイニングにはクラスタリングなどの手法がありますが、言葉による記述やデータの可視化なども含まれます。結局のところ、目的志向のデータマイニングがデータから構築したモデルはユーザからはブラックボックスに見えるので、何とかしてモデルを解釈できるようにしなければユーザの納得感が得られないのでしょう。これは大変難しいことなのですが、良い予測を行うよりも重要なことだと考えています。
おわりに
今回はデータマイニングによる予測と、その難しさの一部についてお話しました。他にも、データマイニングは本質的に使えるデータがない時には無力だと考えられるのですが、これについては次回以降で述べていきたいと思います。
参考文献
[1] KNIME – Professional Open-Source Software
様々なデータマイニングの手法をGUIで試すことができます。
[2]統計学が最強の学問である:西内 啓 著
第6章にて、統計手法とデータマイニングの共通点と違いを説明しています。
[3]マスタリング・データマイニング<理論編> :マイケルJ.A.ベリー/ゴードン・リノフ 著
Chapter1でデータマイニングの分類をしています。
※記載されている内容は掲載当時のものであり、一部現状とは内容が異なる場合があります。ご了承ください。