レコメンドのためのデータ分析:データ分析講座(その172)

 

◆ 何をすべきかを見える化する「レコメンド」のためのデータ分析

 データを分析することで、例えば次の2種類の情報を得ることができます。レコメンド(勧める)情報とモニタリング情報です。レコメンド情報とは「どのようなアクションなどをすべきか」について勧めるための情報です。モニタリング情報とは、アクションした結果どうなったのかという情報です。通常「見える化」といった場合、モニタリング情報を指すことが多いのですが「モニタリング情報だけ渡されても、アクションに繋がりにくい」という問題があります。とはいえ「レコメンド情報が必要です」と言われても、どうやればいいか悩まれている方もいると思います。今回は「何をすべきかを見える化する『レコメンド』のためのデータ分析」についてお話します。

◆関連解説『情報マネジメントとは』

【目次】

1.モニタリング情報だけ渡されても、アクションに繋がりにくい
 (1)必要なのは「何をすべきかの見える化」
 (2)2つのレコメンドのためのデータ分析
2.古典的な3つの方法
 (1)シミュレーションから最適なアクションを探る
 (2)数理最適化モデルを活用したレコメンド
 (3)レコメンドモデルを活用したレコメンド
3.レコメンドモデルを活用したレコメンド
 (1)協調型
 (2)内容ベース型
 (3)知識ベース型

 

1.モニタリング情報だけ渡されても、アクションに繋がりにくい

 問題なのは、アクションの結果(例:売上、受注など)に関するデータだけを集めてしまい、モニタリング情報として現場に提供するケースです。例えば「売上が悪化した」とか「生産の歩留まり(良品の割合)が悪化した」という結果だけ見せられても、具体的に何をすべきかについては、ベテランか相当センスの良い方でないとみえこないでしょう。つまり多くの人にとって、モニタリング情報だけ渡されても、アクションに繋がりにくいということです。

(1)必要なのは「何をすべきかの見える化」

 そのため、アクションの結果である「モニタリング情報」を現場に提供するとともに、何をすべきかという「レコメンド情報」も併せて現場に提供したほうがいいでしょう。要は、モニタリング情報は「結果の見える化」であり、レコメンド情報は「何をすべきかの見える化」といえるかもしれません。この2種類の情報(レコメンド情報とモニタリング情報)を「見える化」するためには、この2種類の情報(レコメンド情報とモニタリング情報)を生み出す必要があります。それがデータ分析です。

(2)2つのレコメンドのためのデータ分析

 レコメンドのためのデータ分析といっても色々あります。次の二つが代表的なものです。

 前者は、都度データ分析をするため、データサイエンティストやデータ分析担当者などのデータを分析する側の、データに表れない情報を取り込み、洞察する力量が大きく問われます。後者は、レコメンドのための数理モデルを構築するため、将来を予測する数理モデルを構築する時と同様、汎用性や解釈性など気を付けるべきポイントを踏まえ、構築する必要があります。また、使ってみなければ善し悪しの判断がつかないため、通常は複数のレコメンドのための数理モデルを構築し、実際に試して取捨選択したり、実運用しながら数理モデルを都度改良し続けたりすることなどが必要になります。

 

2.古典的な3つの方法

 以下は、古典的な3つのレコメンドのやり方です。

 

(1)シミュレーションから最適なアクションを探る

 「シミュレーションから最適なアクションを探る」とは、構築した予測モデルを使い、シミュレーションを実施することで、最適なアクションを探ろうというアプローチです。「X(説明変数)を変化させた時に、回帰分析を実施し構築するケースが多いです。「シミュレーションから最適なアクションを探る」方法は、一番やりやすく分かりやすい方法です。

(2)数理最適化モデルを活用したレコメンド

 「数理最適化モデル」とは、数理計画法というアルゴリズムを使って、最適解を数理的に求めるアプローチです。「シミュレーションから最適な~」のような方法を行わずに求めるのが特徴です。

 例えば……

 マーケティングの広告・販促であれば、MROI(Marketing Return On Investment)を最大化する広告・販促費の最適配分(説明変数X、Xはコスト配分)を求めるであるとか、小売店の棚割り系であれば、利益最大化する最適棚割りを求めるであるとか、開発・生産系であれば、一定基準以上の品質特性(通常Yは1変量ではなく多変量)を実現するための最適な設計条件(説明変数X)を求めるなどです。

 ……目的変数Yを最大化、もしくは最小化するための説明変数Xを算出します。

 数理計画法(線形計画法・非線形計画法・混合整数計画法など)のモデリング技術(事象の数式化)はそれなりのスキルが必要なため、ツールがあればできるというものではありませんが、非常に強力な手段の一つです。

 数理計画法では、同計画法で解くための問題を「いかに定式化するのか」(モデリング)、それを「いかに解くのか」という大きな2つの問題にぶち当たります。意外と厄介(やっかい)なのが「いかに定式化するのか」で、対象となる現象を定式化することが不慣れな方が多い印象があります。若干、定式化のテクニックが必要になります。

 「いかに解くのか」もそれなりに厄介です。数理計画法の中でも非線形計画法や混合整数計画法の範疇(はんちゅう)になると、厳密解(大域的最適解)を求めようとすると膨大な計算時間が必要となり、実務活用できないケースもあります。そのため、妥協解(局所的最適解の中で実務上受け入れ可能な解)を求めるシステムにすることが多いです。多くの場合、解を出すためのコンピューターの計算速度と、求めた妥協解の厳密解からの乖離(かいり)度合いで評価したりします。例えば、厳密解を求めるのに10日前後必要だが、厳密解からの乖離が10%以内の妥協解なら計算時間1分以内に出せる。などです。

 

3.レコメンドモデルを活用したレコメンド

 以下は、よくある3つのレコメンドモデルです。

(1)協調型

 レコメンドモデルで最も有名なのが、協調型です。中でも代表的なのが協調フィルタリングです。協調フィルタリングの場合、ユーザ(...

例:顧客)とアイテム(例:商材)の関係性(例:購買)、つまり目的変数Y(例:購買の有無)だけを活用しているため、データが入手しやすいです。さらに、簡単な協調フィルタリングであれば、EXCELだけでも実現可能です。レコメンドモデルには、協調フィルタリング以外にも色々あります。代表的なものは次に述べる「内容(Content)ベース型」や「知識(Knowledge)ベース型」などです。

(2)内容ベース型

 内容ベース型では、顧客の特徴と商材の特徴を用いてレコメンドします。ざっくりいうと「顧客の好みに合致した特徴を持った商材をレコメンドする」という感じです。協調フィルタリングが、顧客と商材の関係性(例:購買)、つまり目的変数Y(例:購買の有無)だけを活用していることから考えると、必要なデータが増えます。要は、説明変数Xや調整変数Zなどが必要になります。

(3)知識ベース型

 知識ベース型には、大きく「制約(Constraint)ベース型」と「ケース(Case)ベース型」があります。制約ベース型は、利用者が提示した要求を制約条件としてレコメンド可能な解を探索し提示します。ケースベース型は、利用者が提示した要求との類似度をベースにレコメンド可能な解を探索し提示します。この2つを混合させてレコメンドモデルを構築することも多いです。例えば、制約ベース型レコメンドモデルでレコメンド候補を絞り込み、絞り込んだレコメンド候補に対し、ケースベース型で類似度評価し最終的なレコメンドを実施する。などです。

 

 次回に続きます。

↓ 続きを読むには・・・

新規会員登録


この記事の著者