#16 : Alteryxサンプルワークフロー「需要予測(後編)」- Alteryx & Tableau 連携 Advent Calendar 2018
当エントリは『Alteryx&Tableau連携 Advent Calendar 2018』シリーズの16本目のエントリです。
- Alteryx & Tableau 連携 Advent Calendar 2018 - Qiita
- Alteryx & Tableau 連携 Advent Calendar 2018 | シリーズ | DevelopersIO
当エントリでは、Alteryx Designerの実行ワークフローサンプル「Demand Forecasting(需要予測)」の内容を紹介します。
目次
「本日のテーマ」概要紹介
AlteryxとTableauはそのツール特性から非常に相性が良く、製品間それぞれにパートナー企業としての(特集)ページが設けられています。
本日は、Alteryx Designerの「Sample Workflows」にて展開されている「Tableau Starter Kit」の中で、「Predictive Analytics」配下の「Demand Forecasting(需要予測)」というサンプルワークフローについて見ていきたいと思います。
このワークフローでは、これらのワークフローは、Alteryxの線形回帰ツール(Linear Regression tool)を使用して、「顧客がどのくらいの費用を費やすか予測するにはどうすればよいですか?」という質問に応えるワークフローについての解説を行っています。結果となるデータの出力(Insight/洞察)はTableau Dashboardとして出力されます。
ワークフローの全体像
サンプルワークフローの全体像は以下となります。
ワークフローを読み解く
入力データのサンプリング
入力データは前段のワークフローで作成した*.yxdbデータを用います。
Select Toolで、OrderIDとTrafficSourceのチェックを外し、TimeSpentOnSiteのデータ型をInt64に変更。
Create Sample Toolで、入力データを推定サンプルと検証サンプルに分割します。パーセンテージは推定:80%、検証:20%とし、ランダムシードはデフォルト値の「1」のままとします。
線形回帰ツールによるモデルの作成
モデルは「線形回帰ツール」を使用して作成されます。線形回帰ツールは、単純なモデルを作成して値を推定したり、線形リレーションシップに基づいて変数間の関係を評価したりする事が出来ます。
線形回帰ツールの入力には「Create Sample Tool」で生成されたE Output(推定サンプル出力)を用います。 このツールでは、モデル出力(O Output)とレポート出力(R Output)の2つの出力が生成されます。いずれの出力も、モデルを評価して得点付けを行うために使用されます。
線形回帰ツールを使用して変数を選択し、ワークフローを実行し(必要に応じて複数回)、各変数の重要性を確認し、使用する線形回帰モデルを決定します。
- モデル名はTotalSalesModelと命名
- 目標変数にTotalOrderSalesを指定
- 予測変数にはTotalOrderSalesとCustomerIDを除く全ての値を選択
参照ツールをR Outputに接続して、モデルレポートを表示。 ワークフローの実行時に作成されるレポートは、モデルの評価と改善に役立つモデルに関する情報を提供します。
スコアツールによる内容の確認(と線形回帰ツールによるモデルの再作成)
スコアツールを使用して、各レコードの予測金額を生成します。指定された予測変数のセットに R モデルを適用することによって、ターゲット変数の推定値を作成します。 このワークフローでは、モデルが検証データセットに適用され、予測される売上額が生成されます。
線形回帰ツールのO Outputをスコアツールの一番上の入力に、Create SamplesツールのV OutputをScoreツールの一番下の入力に接続。そして参照ツールを使用して、各レコードの予測スコアを表示させるようにします。
ワークフローを実行して、最初のモデルを作成し、データにスコアを付けます。Browse Toolツールには、テスト結果とともにレポートが入力され、Browse Toolを選択すると、設定ウィンドウにレポートが表示されます。線形回帰ツールのR Output(レポート出力)では線形回帰に関する分析内容を確認する事が出来ます。
レコード1〜10は基本的な要約内容とタイプIIのANOVA(分散分析、ANalysis Of VArianceの略称)に関する内容が、
レコード11〜12では基本診断プロットセクションが表示されます。
Coefficientsテーブルの最後の列には、ピリオド(.)、、、またはが表示されます。 予測子が重要かどうかを判断するには、信頼区間(CI)を見ます。
- ピリオド(.):90%CIで重要
- 単一の星(*):95%CIで重要
- 2つの星(**):99%CIで有意
- 3つの星(***):99.9%CIで有意
ここでは95%CIを選択すると仮定。その場合1つ以上の星を表示する変数が基準を満たす...という事になります。
変数DisplayNetworkGoogleAdsense、Age、およびHouseholdIncomeがその条件を満たす対象となります。線形回帰ツールを再構成し再度ワークフローを実施します。
DisplayNetwork、Age、HouseholdIncomeの95%CIを満たす予測変数のみを選択し、他の変数のチェックを外してワークフローを再実行。結果を再確認します。
線形回帰ツールの設定により、他のディスプレイネットワークの値も合わせて表示されます。Google Adsenseの重要性は他のディスプレイネットワークの重要性を上回っている事が確認出来ています。これは回帰モデルの一部になるでしょう。 確認された重要な変数については引き続き検討します。
Googleのモデルで最も重要な係数はDisplayNetworkGoogleAdsenseで、値は31.08です。 これは、Google AdSenseのディスプレイネットワークに起因する訪問者が他のネットワークよりも多くの費用を費やすことが予想されることを示しています。 これは他のすべての変数が一定に保持されている場合にのみ発生します。
age(年齢)の係数は10.05です。 これは、顧客の年齢が1年増加すると、他の変数が一定に保たれていると仮定すると、推定売上合計は10.05ドル増加することを意味します。 30歳の人は、20歳以上で約100ドルを費やすと予想されます。
HouseholdIncomeの係数は0.005です。これは、家計所得が10,000ドル増加するごとに、推定販売額が50ドル増加することを意味します。 収入が50,000ドルの世帯は、収入が4万ドルの世帯よりも50ドルも多く費やされます。
以上の内容から、線形モデルは以下になります。
Sales = 0.4 + (Age * 10.05) + (HouseholdIncome * 0.005) + (GoogleAdsense * 31.08) + (Adsterra * -4.3) + (Infolinks * 0.27) + (Media.net * 1.43) + (Yahoo * -0.78)
各ディスプレイネットワークの変数は、1または0の指標です。たとえば、ユーザーがGoogle Adsenseを経由した場合、その変数は1、その他は0です。このモデルは、Basic Summaryのセクション8のR-squaredの値によってデータを正確に表現したものです。複数のR二乗値および調整R二乗値は、決定係数または適合度の良さとして知られています。このモデルでは、それぞれ0.9768と0.9767です。 つまり、このモデルはデータの97.7%に当てはまります。 線形モデルは、使用されるデータの強い表現です。 したがって、予測変数は顧客の支出と高い相関があります。
Browse Toolを使って、Scoreツールから生成されたフィールドScoreを表示することができます。線形回帰ツールで作成した線形方程式を取り、Create Sample Toolから提供された検証サンプルに適用します。新しいScoreフィールドとTotalOrderSalesフィールドを比較すると、モデルが既存の注文とどのくらい正確であるかを確認できます。
予測結果の出力
上記までの手順で、モデルを作成する事が出来ました。これを新しい顧客に適用して、その費用を予測することができます。
入力データツールを使用して、すでにブレンドされている追加の顧客データをインポートします。このモデルはこの新しい顧客データセットに適用されます。
Score Toolを再び使い、線形方程式を取って潜在的な顧客の新しいブレンドデータセットに適用させてみます。線形方程式を新しいデータセットにどのように適用して売上を予測出来るか...を示す概念の証明を行うというわけです。線形回帰ツールのO OutputをScore Toolの一番上の入力に接続し、Input Data Toolの出力をScore Toolの一番下の入力に接続します。
ワークフローの実行・Tableauワークブックの内容確認
画面右上の「Run」ボタン、または「Control」+「R」のショートカットでワークフローを実行。抽出ファイル(.tde)を用いたTableauワークブック(.twb)が出力されました。
出力されたTableauワークブックを開いてみます。予測結果が可視化された状態で参照する事が出来ました。
まとめ
という訳で、『Alteryx & Tableau 連携 Advent Calendar 2018 』16本目、「Demand Forecasting(需要予測)」後編のご紹介でした。
引き続き、明日もお楽しみに!
- Alteryx & Tableau 連携 Advent Calendar 2018 - Qiita
- Alteryx & Tableau 連携 Advent Calendar 2018 | シリーズ | DevelopersIO
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。