こんにちは。コンテンツ・メディア第1事業部の開発課のログチームのラヒルです。
本日は、データマイニング手法として予測モデルの構築方法について紹介します。
予測モデルとは
まず初めに、予測モデルとはどのようなものかを軽く説明します。 予測モデルとは、ユーザーの現在の行動や属性によって、将来どのようなアクションを起こすか予測が立てれるような数学的な手法のことです。
オンラインサービスで例を挙げると、
- 将来、サービスを使わなくなる可能性のある(離脱する)ユーザーはどんなユーザーかを予測する。
- 将来、課金する可能性の高いユーザーは誰かを予測する。
などが挙げられる。
予測モデルの結果の形によって、大きく2つのタイプがあります。
予測したい結果は、
- 連側型変数 - 回帰分析(Regression analysis)
- 不連続型変数 - 分類 (Classification)
予測モデルの結果を表す変数は、目的変数とも呼びます。予測モデルは、将来を予測するために色々なデータを利用します。そのデータを変数として定義して、予測モデルに入力します。このデータを表す変数は、目的変数と呼びます。目的変数にも、連続型と不連続型変数があります。
オンラインサービスで例を挙げると、
- ユーザーの年齢、性別(不連続型変数)
- 一日当たりの滞在時間(連続型)
- 一ヶ月間での課金総額(連続型)
予測モデルの使い方
では、この予測モデルをどのように使うかを説明します。 予測モデルを用いて将来予測を行うためには、予測モデルを学習させないといけません。 そのために、目的変数と説明変数は既に知っているデータを用います。 オンラインサービスで例を挙げると、過去のユーザーのデータを用います。 各ユーザーが、将来どの位サイトで課金するかを予測するケースを考えましょう。 そのためには、過去のサイト利用者のデータを用います。
- 目的変数:各ユーザーの総合課金額
- 説明変数:ユーザーの年齢、性別、一日当たりの滞在時間等
既に結果を知っているデータを使い学習させることを、予測モデル構築と言います。 過去の結果を既に知っているユーザーのデータを使って学習させたモデルに、今後、結果(目的変数)を知らないユーザーのデータ(目的変数)を入力して、結果の予測(Predict)を行います。それによって、将来サービスでどのようなことが起きるかという予測を立てられます。この予測を使い、サービスの改善や将来の計画がしやすくなります。
予測モデルのアルゴリズムについて
予測モデルを構築できる手法は世の中には、たくさんあります。例をあげると、線形回帰、logistic回帰分析、ニューラルネットワーク、決定木、サポートベクターマシーンなどがあります。アルゴリズムは、すべてが万能ではありません。手法によって、目的変数と説明変数の形(連続、不連続)が限られたり、変数の値のデータ分布の制約があったり、データのノイズや欠陥への対応が苦手だったりします。そのため、予測モデルのアルゴリズムの選び方は、きちんとデータの中身を理解してそれにあった手法を選ばないといけません。データマイニングでよく言われるのは、「ごみを入れるとごみが出てくる」(Gabage-in,garbage-out)ので、注意して応用しないといけません。この記事では、分析手法の詳細は説明しませんが、今後別の記事でR言語を用いて予測モデルの構築する方法を説明する予定です。
終わりに
今回は、予測モデル構築とはどういうものか、変数の定義方法等についてオンラインサービスをケースとして軽く説明しました。今後、具体的に各予測モデル構築手法に関する手法に関して説明していきます。