日常のマーケティング IT - Excel データマイニング編 その3 - 時系列の傾向分析
今回はちょっと飛ばして 4 つ目の 「予測」 機能を先に紹介する。多くのビジネス データは時間軸を持っているし、それで折れ線グラフを描くときはたいてい、その過去の傾向から、最終的には将来を予測しようとしているだろう。ある程の履歴データさえあれば、過去の傾向に基づき将来を予測してくれるこの機能は、利用シーンはかなり多いはずである。
図1) Table Analysis Tools for Excel のメニュー
ベイズ定理にもとづく意思決定ツリーの作成
この機能では、SQL Server Analysis Services に搭載されている 「Microsoft タイム シリーズ」 アルゴリズムを使う。このアルゴリズムは、回帰分析手法の一種である 「自己回帰デシジョンツリー」 モデルに基づいて設計されているが、このデシジョンツリーの構造やパラメーターの学習には、前回紹介したベイズ定理 を用いている。ベイズ定理は、事後確率を事前確率に変換するというものであり、つまり過去の実績に基づき将来の値の予測ができるわけである。実はマイクロソフトではこのベイズ定理を用いた推論機構の研究を古くから進めており、この分野では有名な研究者を何名も抱える最先端のリサーチ センターを持っているのである。
さてデシジョンツリーは、顧客の購買動向のような非連続データを対象とする場合には、属性の相関関係に基づきツリーを分割して分類するのだが、株価や売り上げのような連続データの場合は回帰式による直線の折れ目によって分類する。つまりこの仕組みを使って、過去の連続データの実績をまず回帰分析で折れ線グラフとして表し、その実績を基にして将来の折れ線グラフを書くのである。
「Microsoft タイムシリーズ」 はさらに、クロス予測機能を持っている。株式ポートフォリオや製品別売り上げ推移などでは、複数の系列が同じ時間軸上に表現されている。本来、これらの系列同士に相関関係があれば、一方の系列の結果は、別の系列の結果に影響を与えているはずである。Microsoft タイムシリーズでは、その相関性を加味した分析を行うことで、より精度の高い予測を可能にしている。
では試してみよう
Data Mining Add-in に付属のサンプルデータで試してみよう。Windowsスタートメニューの [すべてのプログラム] - [Microsoft SQL Server 2005 DM Add-ins] - [Excel サンプル データ] を開き、「Forecasting」 シートを選択する。このシートはいわゆる売上集計テーブルで、各地域の毎月の売上実績を行方向 (上から下) に積み上げている。表をクリックし 「テーブル ツール」 の 「分析」 リボンにある 「予測」 ボタンをクリックすると、同名のダイアログ ボックス (図2) が表示される。
「予測する列の選択」 で分析対象の列を選ぶのだが、ここではまず "Year_Month" 以外のすべての列を選択しておく。「タイムスタンプ」 では時間を表す列を選択する必要があるので "Year_Month" を指定する。「予測する時間単位の数」 は予測する時間の数なのだが、とりあえずデフォルトのまま 5 にしておく。「実行」 ボタンを押せば分析が始まり、完了すると新しいシートが追加されグラフが描画される。
実績値は実線で、予測値は破線で表示される (図3)。そしてもとの表には、最後の行の下に 5 つ分の予測データが行として追加される。
さて最初に 3 つの系列を一度に分析したが、もし 1 つだけを選択していたらどうなっていただろうか?上記で追加された 5 つの行を削除し、今度は "Europe Amount" だけを選択して予測してみる。もとの表 (図4) がどうなっているか見てみると、
最初の分析とはだいぶ値が違うのがお分かりいただけるだろう。冒頭にご紹介したとおり、Microsoft タイムシリーズ アルゴリズムが、複数系列の相関性を加味した予測を行ってくれるためだ。単独の履歴を基にした単純な回帰分析の場合、値の変化が急激でなく安定している場合や、季節変動のように比較的シンプルな変動要因だけを持つような場合でもない限り、なかなか予測は難しい。Microsoft タイムシリーズ アルゴリズムでは、ベイズ定理の確率分析に基づく推定に、さらに相関分析の要素を加えることで、複数の指標からより精度の高い予測をもたらしてくれるのだ。
@hirokome on Twitter