Upgrade to Pro — share decks privately, control downloads, hide ads and more …

機械学習を使った時系列売上予測

DataRobotJP
August 31, 2017

 機械学習を使った時系列売上予測

DataRobotを用いて時系列モデルの作成する方法を紹介します。その後、どのような特徴量を使えば精度が良くなるのか、データにどのような前処理を行えば良いのか、トレンドデータや集約データを使った時系列予測など様々なトピックについて触れていきます。

DataRobotJP

August 31, 2017
Tweet

Other Decks in Technology

Transcript

  1. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いた時系列予測

    1. DataRobotを使った時系列予測 a. 時系列予測におけるデータフォーマット b. ギャップ・予測期間の決定 c. 時系列予測におけるパーティション設定 d. 精度の良いモデルの選択 e. 予測と実測の時系列での比較 f. モデルのベンチマークとの比較 g. 生成した予測モデルを使った予測 2. ヒストリカル変数を使ったモデル a. ヒストリカル変数を持ったデータフォーマット b. 変数タイプ別のヒストリカル変数に用いる統計 的指標 c. Pythonを用いたラグデータの加工 3. イベント説明変数を使ったモデル a. 周期パターンの把握 b. DataRobot内で周期性パターンの説明変数 の作成 c. イベント説明変数を使ったモデル d. 良く使われる説明変数 e. 時系列分析におけるデータの注意点 4. 【応用】トレンドの存在するデータの予測 5. 【応用】階層的データに対する予測 6. モデルのデプロイと更新 a. デプロイ用最終モデルの生成 b. 時系列予測モデルの更新
  2. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いた時系列予測

    1. DataRobotを使った時系列予測 a. 時系列予測におけるデータフォーマット b. ギャップ・予測期間の決定 c. 時系列予測におけるパーティション設定 d. 精度の良いモデルの選択 e. 予測と実測の時系列での比較 f. モデルのベンチマークとの比較 g. 生成した予測モデルを使った予測 2. ヒストリカル変数を使ったモデル a. ヒストリカル変数を持ったデータフォーマット b. 変数タイプ別のヒストリカル変数に用いる統計 的指標 c. Pythonを用いたラグデータの加工 3. イベント説明変数を使ったモデル a. 周期パターンの把握 b. DataRobot内で周期性パターンの説明変数 の作成 c. イベント説明変数を使ったモデル d. 良く使われる説明変数 e. 時系列分析におけるデータの注意点 4. 【応用】トレンドの存在するデータの予測 5. 【応用】階層的データに対する予測 6. モデルのデプロイと更新 a. デプロイ用最終モデルの生成 b. 時系列予測モデルの更新
  3. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを使った売上予測

    DataRobotを使った時系列分析の例として、来週の売上を予測する • 45の店舗が存在 • それぞれの店舗の部門ごとの来週の売上予測 店舗1 部門1 部門2
  4. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 機械学習を用いて時系列モデルを作成する

    データの用意 モデル 生成 モデルの 理解・精 度の評価 時系列のデータを 用意する 複数の予測モデ ルを生成して比較 生成したモデルの 理解:特ににどのよ うな物を上手くでき ていないか モデルの精度の評 価:①検定値による 評価 ②ベンチマー クモデルとの比較 モデルの 再学習 精度の良いモデ ルをデータ量を増 やして再学習する 生成したモデルで 未来を予測する 未来の 予測 時系列分 析設定 時系列分析のため のパーティション設 定
  5. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いて時系列モデルを作成(クイックバージョン)

    データの用意 モデル 生成 モデルの 理解・精 度の評価 時系列のデータを 用意する クイック/指定した モデルの予測モ デルを生成して比 較 生成したモデルの 理解:特ににどのよ うな物を上手くでき ていないか モデルの精度の評 価:①検定値による 評価 ②ベンチマー クモデルとの比較 モデルの 再学習 精度の良いモデ ルをデータ量を増 やして再学習する 生成したモデルで 未来を予測する 未来の 予測 時系列分 析設定 時系列分析のため のパーティション設 定
  6. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列予測におけるデータフォーマット

    • エクセルのような行列フォーマット • 最低2つの特徴量:時間情報と目的変数 • その他に様々な説明変数を加えると精度が上がる • 必要に応じて横断面的なデータ • 時間情報は欠損があっても良い 横断面的データ 時間情報 目的変数 2010/3/19のデータ が欠落しているが問 題なし
  7. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 予測モデルに対するビジネス要件

    予測に対するビジネス要件 1. 予測する未来のポイント:例)来月 2. 予測したい期間の長さ:例)来月からその 12ヶ月先まで 最新利用可能 データ時点 ギャップ 時系列モデリングの重要な要素 1. ギャップ:モデル作成時の利用可能なデータの時点と予測するポイントの差 2. 予測期間:予測する期間の長さ 最新利用可能 データ時点 予測期間の 始まり 予測期間の 終わり 予測期間 予測地点
  8. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 重要な要因①

    予測時に知り得ない未来のデータをモデル作成に使わず、「モデル作成に使って良いデータ」のみで 生成する 現在 10ヶ月後 (予測地点) 10ヶ月前の数字 今月の数字 (モデル作成の目的変数) モデル作成に使って良いデータ 予測に使って良いデータ(過去のデータ) 予測時に利用可能でな いデータ モデル作成時に使っては ならないでないデータ モデルで行いたい 未来の予測 モデルの作成
  9. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 重要な要因②

    実際に予測するポイントのデータで検定する事で最適なパラメーター抽出、さらには現実の予測に近 い精度を計測 予測する未来が 近い場合、精度 が比較的高い 予測する未来が 遠いほど、精度 が下がっていく 予測を行う時点
  10. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ギャップの例

    ギャップ:モデル作成時のデータ時点と予測するポイントの差 例1)2週間先の売上予測モデルの場合 13日のギャップを空ける。 例2)1週間先の売上予測を行うが、最新のデータが 1週間遅れて利用可能になる場合も 20日のギャップを空け る 現在(最新利用可 能データ時点) 2週間後 (予測地点) ギャップ 1週間前(利用可能最 新データ時点) ギャップ 現在 2週間後 (予測地点)
  11. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 予測期間が長い(1つ以上のポイントがある)場合、予測時点ごとに別々のモデルを作成する必要が

    ある 予測期間 現在(最新利用可 能データ時点) 予測期間 始まり 予測期間 予測地点2 現在(最新利用可 能データ時点) 予測期間 始まり ギャップ 予測地点1 予測期間 ギャップ 地点1予測モデル 地点2予測モデル
  12. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列予測におけるパーティション設定

    • 時系列予測モデルを作成する際に交差検定や 層化抽出を行わない理由 ◦ 一般のパーテションではトレーニングデー タに予測期間のデータも含まれるため、 実際の精度よりよく見える評価がされる。 ◦ 実際の予測する際には過去のデータより 作られたモデルで未来を予測するので、 最新のデータで検定されたアルゴリズム のモデルを選択する。 • 時系列予測でのパーティション:過去のデータで 作られたモデルをその未来のデータで精度検証 (バックテスト)する • バックテストの値とは一般的に複数回行われた バックテストにおける検定値の平均値をいう トレーニング 検定 検定 検定 トレーニング トレーニング トレーニング 最も古い データ 最新 データ 検定 バックテスト 1 バックテスト 2 バックテスト3 バックテスト4
  13. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ハンズオン①

    1. 「週次売上予測データセット_1.xlsx」のデータをアップロードしてください。 2. ターゲットに「今週の売上」を選択してください。 3. これから、手順を説明するので、時系列モデルを作って行きましょう。
  14. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列モデリングの設定

     ターゲット を 選択 1  時間認識モデル を設定を選択 2
  15. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列モデリングの設定

     時系列軸とする特 徴量を選択 1  モデリングの設定 を変更 2
  16. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列予測におけるパーティション設定

     分割形式を 選択 1  バックテスト/ホールドアウト に共通の検定行期間 2  バックテスト数 の設定 4 1. 期間、あるいは行数を 分割形式に選ぶ。日付 がイレギュラーなデータ の場合検定サンプル数 を一定にするため行数 を推奨。 2. 検定期間の長さはバッ クテスト期間全体の長さ が30%程度が一般的 3. データが十分でない場 合はホールドアウトを除 去 4. バックテスト数を選択。 多すぎるとトレーニング データが少なくなるので 注意  ホールドアウトの 有無の選択 3
  17. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列予測におけるパーティション設定

    パーティションでのギャップ 設定 • 予測する時点で知り 得ないデータを用い ずにモデルを作成す るようパーティション にギャップを設定 予測時に手に入 らないデータ区間 を除く 予測時に手に入らな いデータ区間
  18. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 精度の良いモデルの選択

    • 交差検定同様、検定 値でなくバックテスト 値で最も精度の良い モデルを選ぶのが良 い • 検定値上位のモデル に対してバックテスト をマニュアルで実行 する • 左にある例のように、 検定とバックテストの 値が異なるだけでな く、上位モデルの順序 も異なる
  19. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 精度の良いモデルの選択

    実測値からのずれ のパーセント値 モデル生成後に指標を MAPEに設定すると、モデルが実測値とのずれの大きさを確認可能(実測値に0 があるとMAPEは選択不可) ※MAPEでモデルを生成すると予測値が小さめになる傾向があるため推奨されない
  20. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved バックテスト毎の精度の確認

    バックテスト一つ一つの精度の確認が可能 それぞれのバックテ ストの精度
  21. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 予測

    vs 実測をプロットして確認 表示するモ デルのバッ クテストを選 択 日、週、月の 表示粒度を 変換 トレーニングデータに対してもプロッ ト可能。※トレーニングデータに対す るフィットは相対的に良いことに注意 横断面的ごとの予測 vs 実測を表示する際は予測値をダウンロードして Excelなどで表示する 必要あり
  22. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved モデルのベンチマークとの比較

    Mean response regressor(常に目的変数の平均値を予測とするベンチマークモデル) の精度
  23. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 生成した予測モデルでホールドアウト/未来を予測

    1. モデルを生成した際の ホールドアウトの期間 のデータ(あるいは未 来のデータ)をドラッグ &ドロップ(モデルに利 用した特徴量は最低 限入っていることが必 要) 2. 予測を計算して、ダウ ンロード インポートした データセットの予 測を計算 時間情報や実測値などをアウ トプットファイルに含めること ができる
  24. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 予測データより店舗・部門ごとの時系列の精度を確認

    今回はExcelである店舗・部門の時系列の精度のグラフ化を行うが、様々なツールで実行可能 予測データを既存のデータと 結合する 可視化を行いたい店舗、部 門をフィルタリングし、週、今 週の売上、モデルの予測値 の3つを選択し推奨されるグ ラフより線グラフを選択 選択した店舗・部門 の時系列の精度グ ラフの完成
  25. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ホールドアウトでの予測vs実測値

    予測ファイルをダウンロードし Excelなどを用いて予測値と実測値をプロット比較すること が可能 次の章から、特徴量を追加してモデルを改善していきます! MAPE : 12% 現在の特徴量セット では実測値と予測値 が大きく乖離 店舗番号 39 部門番号 7
  26. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いた時系列予測

    1. DataRobotを使った時系列予測 a. 時系列予測におけるデータフォーマット b. ギャップ・予測期間の決定 c. 時系列予測におけるパーティション設定 d. 精度の良いモデルの選択 e. 予測と実測の時系列での比較 f. モデルのベンチマークとの比較 g. 生成した予測モデルを使った予測 2. ヒストリカル変数を使ったモデル a. ヒストリカル変数を持ったデータフォーマット b. 変数タイプ別のヒストリカル変数に用いる統計 的指標 c. Pythonを用いたラグデータの加工 3. イベント説明変数を使ったモデル a. 周期パターンの把握 b. DataRobot内で周期性パターンの説明変数 の作成 c. イベント説明変数を使ったモデル d. 良く使われる説明変数 e. 時系列分析におけるデータの注意点 4. 【応用】トレンドの存在するデータの予測 5. 【応用】階層的データに対する予測 6. モデルのデプロイと更新 a. デプロイ用最終モデルの生成 b. 時系列予測モデルの更新
  27. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ヒストリカル変数データを持ったデータフォーマット

    ヒストリカル変数の例 • ラグ(過去の時点における説明 /目的変数の値) • 説明/目的変数の過去平均といった統計的指標(全期間の平均でなく、それぞれの時点までの平均) 売上のラグ 売上、その週次変化の統計量
  28. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 変数タイプ別のヒストリカル変数に用いる統計的指標

    • 数値変数 ◦ 平均 ◦ 標準偏差 ◦ 最小 ◦ 最大 ◦ 中央値 ◦ 25パーセンタイル ◦ 75パーセンタイル • カテゴリ変数 ◦ エントロピー ◦ 最頻値 ◦ 最新値 ◦ シーケンス(数列) • 全ての変数 ◦ 欠損値の数 ヒストリカル変数に用いられる統計的指標は変数のタイプによって異なる
  29. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ハンズオン②

    ヒストリカル変数を使ったモデルの生成 1. 「週次売上予測データセット_2.xlsx」のデータをアップロードしてください。 2. ターゲットに「今週の売上」を選択してください。 3. 「手動」でDataRobotを実行し、レポジトリより「Gradient Boosted Trees Regressor with Early Stopping (Gamma Loss)」のモデルを選んでモデルを作成してくださ い。
  30. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved Pythonを用いたラグデータの加工

    ※時系列特徴量に欠損値がある場合は補完した後ラグの作業を行う必要がある data1 = data1.sort_values(by = '時系列特徴量') data1['ラグ後の特徴量名'] = data1['ラグを作る特徴量名'] data1['ラグ後の特徴量名'] = data1.groupby(['横断的特徴量1','横断的特徴量2'])[‘ラグ後の特徴量名’].shift(periods=1) イタリック部分をデータに合 わせて変更 1時点前の値が新たに データに追加される ラグを作る特徴量 ラグ後の特徴量
  31. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 一般的に有効なヒストリカル変数

    • 目的変数のラグ • 説明変数のラグ:例)マーケティングのように効果が少し遅れて起こるものに対して は、現在のマーケティング予算のみでなく、影響があると思われる時期のマーケ ティング予算も • 以前にパターンが現れた際の値:年あるいは月の明確なパターンが存在する場 合、去年(あるいは前月)のデータを曜日、休日修正を加えた前年(前月)データ
  32. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ヒストリカル変数を使ったモデル

    MAPE : 9% (3%改善) 全期間の予測 が大幅改善 店舗番号 39 部門番号 7
  33. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 演習②

    先ほど同様に「週次売上予測データセット_2.xlsx」ファイルのデータを用いて、3週間先 の売上を予測するモデルを作成します。 1. このモデルを作成する際に使って良い特徴量と使ってはならない特徴量を挙げてく ださい。 2. 1.で使ってはならないとした特徴量の代わりに、どのような特徴量を用いてモデル を作成すれば良いですか?
  34. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いた時系列予測

    1. DataRobotを使った時系列予測 a. 時系列予測におけるデータフォーマット b. ギャップ・予測期間の決定 c. 時系列予測におけるパーティション設定 d. 精度の良いモデルの選択 e. 予測と実測の時系列での比較 f. モデルのベンチマークとの比較 g. 生成した予測モデルを使った予測 2. ヒストリカル変数を使ったモデル a. ヒストリカル変数を持ったデータフォーマット b. 変数タイプ別のヒストリカル変数に用いる統計 的指標 c. Pythonを用いたラグデータの加工 3. イベント説明変数を使ったモデル a. 周期パターンの把握 b. DataRobot内で周期性パターンの説明変数 の作成 c. イベント説明変数を使ったモデル d. 良く使われる説明変数 e. 時系列分析におけるデータの注意点 4. 【応用】トレンドの存在するデータの予測 5. 【応用】階層的データに対する予測 6. モデルのデプロイと更新 a. デプロイ用最終モデルの生成 b. 時系列予測モデルの更新
  35. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 周期性パターンの把握

    一般的に周期パターンをもたらす事柄。説明変数にパターンを説明する特徴量を加える必要がある。 • 1日のパターン:時間。例)利用者が毎日 12−14時に多いなど • 週内のパターン:週の日(曜日)。例)日曜日は利用者が多いなど • 月内のパターン:月の日(月の何日目か)。例)月の終わりに近くに連れて、売上が低下するなど • 四半期のパターン:四半期の日(四半期開始から何日目か) • 1年の週パターン:週番号(年の何週目か)。例)毎年第 1, 11, 21週にセールなど • 1年の月パターン:月(年の何月目か)。例)毎年 1, 12月は売上が上がるなど ※DataRobotでは週の日(曜日)、月の日、月を自動生成 1年の月の パターンの例
  36. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobot内で周期性パターンの説明変数の作成

    DataRobot内でフィーチャーエンジニ アリングを行い、日付タイプのデータ よりISO週番号といった特徴量も作成 可能 作成したい特徴量、及び その特徴量の型を選択す る
  37. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved イベント説明変数を使ったモデル

    クリスマス セール BlackFriday セール イベント説明変数:目標変数のパターンの原因となるデータ、数値の上下を引き起こす 原因となるデータ
  38. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 良く使われる説明変数の例

    • 良く使われる説明変数 ◦ 周期的パターンを形作る変数。 DataRobotでは十分な期間のデータがある場合、週の日(曜日)、 月の日、月、年の4つの変数を自動作成。それ以外にも週次の予測を行う際は、 ISO週番号などが よく使われる ◦ イベント説明変数。例えばセール期間中か否かを 0/1の説明変数として追加 ◦ 祝日。特に連休であるとパターンが変わるといった場合、それを別の説明変数にする ◦ 天気、降水量 ◦ 祝日までに何日あるか、大きなイベントまでにあと何日あるか • 標準化された特徴量 ◦ 例えば月のデータの場合、特徴量を営業日当たりの数字に変換する
  39. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ハンズオン③

    周期パターン、イベント説明変数を使ったモデルの生成 1. 「週次売上予測データセット_3.xlsx」のデータをアップロードしてください。 2. ターゲットに「今週の売上」を選択してください。 3. 「手動」でDataRobotを実行し、レポジトリより「Gradient Boosted Trees Regressor with Early Stopping (Gamma Loss)」のモデルを選んでモデルを作成してくださ い。
  40. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列分析におけるデータの注意点

    データ量 • パターンがデータ内で複数繰り返される様な、長期のデータを用意することが望ましい 欠損値:時系列の欠損値は通常の欠損値とは異なった対応が必要 • 値がわからない場合、前月のデータを挿入(前月と次月の平均などは、リーケージとなりうるので不可) • 本当にゼロの場合(売り上げが無いが NAとなっているなど)は0を挿入 手動でのデータクリーニング • 原因が説明変数として入っていないものは手動で目的変数への影響を取り除くなどの処理が望ましい • 起きる頻度が非常に少ない事柄も手動で目的変数への影響を処理することが望ましい
  41. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いた時系列予測

    1. DataRobotを使った時系列予測 a. 時系列予測におけるデータフォーマット b. ギャップ・予測期間の決定 c. 時系列予測におけるパーティション設定 d. 精度の良いモデルの選択 e. 予測と実測の時系列での比較 f. モデルのベンチマークとの比較 g. 生成した予測モデルを使った予測 2. ヒストリカル変数を使ったモデル a. ヒストリカル変数を持ったデータフォーマット b. 変数タイプ別のヒストリカル変数に用いる統計 的指標 c. Pythonを用いたラグデータの加工 3. イベント説明変数を使ったモデル a. 周期パターンの把握 b. DataRobot内で周期性パターンの説明変数 の作成 c. イベント説明変数を使ったモデル d. 良く使われる説明変数 e. 時系列分析におけるデータの注意点 4. 【応用】トレンドの存在するデータの予測 5. 【応用】階層的データに対する予測 6. モデルのデプロイと更新 a. デプロイ用最終モデルの生成 b. 時系列予測モデルの更新
  42. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved トレンドの存在するデータの予測

    ずっと増加しているなどといったトレンドがあ るデータに対して、DataRobotでは線形回帰 を行なって、そこで説明できていない部分を 別のモデルで説明するモデルを用意。 場合によっては、予測したい値の差を目的変 数とするモデルを作成することが推奨される 例)週次の売上予測モデル 新たな目的変数 = 今週の売上 ー 先週の 売上
  43. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いた時系列予測

    1. DataRobotを使った時系列予測 a. 時系列予測におけるデータフォーマット b. ギャップ・予測期間の決定 c. 時系列予測におけるパーティション設定 d. 精度の良いモデルの選択 e. 予測と実測の時系列での比較 f. モデルのベンチマークとの比較 g. 生成した予測モデルを使った予測 2. ヒストリカル変数を使ったモデル a. ヒストリカル変数を持ったデータフォーマット b. 変数タイプ別のヒストリカル変数に用いる統計 的指標 c. Pythonを用いたラグデータの加工 3. イベント説明変数を使ったモデル a. 周期パターンの把握 b. DataRobot内で周期性パターンの説明変数 の作成 c. イベント説明変数を使ったモデル d. 良く使われる説明変数 e. 時系列分析におけるデータの注意点 4. 【応用】トレンドの存在するデータの予測 5. 【応用】階層的データに対する予測 6. モデルのデプロイと更新 a. デプロイ用最終モデルの生成 b. 時系列予測モデルの更新
  44. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved ボトムアップ

    vs トップダウン ボトムアップ • 予測するものの構成要素一つ一つを予測し、それを足し合わせて全 体の予測とする • 構成要素ごとに別々のモデルを作成、あるいは構成要素の IDを特徴 量として一つの予測モデルを作成 • 構成要素別の情報は豊富にあるが、全体としての特徴量化を行いに くい場合によく用いられる • 例)店舗ごとの売上より全体の売上を予測 トップダウン • 全体の予測よりその構成要素の予測を行う方法 • 多く見られるのは過去データにおいて構成要素の占める割合を全体 の予測に掛け合わせてそれぞれの予測とする手法 • 構成要素ごとの情報が豊富でない場合、あるいは構成要素という粒 度だと目的変数が0となる頻度が多い場合によく用いる • 例)店舗ごとの売上数が非常に少ない際、全体の売上高よりそれぞ れの店舗の売上高を予測。あるいは週の予測から日々の予測を行 う。 合計売上高 店舗B 売上高 店舗A 売上高 店舗C 売上高
  45. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved DataRobotを用いた時系列予測

    1. DataRobotを使った時系列予測 a. 時系列予測におけるデータフォーマット b. ギャップ・予測期間の決定 c. 時系列予測におけるパーティション設定 d. 精度の良いモデルの選択 e. 予測と実測の時系列での比較 f. モデルのベンチマークとの比較 g. 生成した予測モデルを使った予測 2. ヒストリカル変数を使ったモデル a. ヒストリカル変数を持ったデータフォーマット b. 変数タイプ別のヒストリカル変数に用いる統計 的指標 c. Pythonを用いたラグデータの加工 3. イベント説明変数を使ったモデル a. 周期パターンの把握 b. DataRobot内で周期性パターンの説明変数 の作成 c. イベント説明変数を使ったモデル d. 良く使われる説明変数 e. 時系列分析におけるデータの注意点 4. 【応用】トレンドの存在するデータの予測 5. 【応用】階層的データに対する予測 6. モデルのデプロイと更新 a. デプロイ用最終モデルの生成 b. 時系列予測モデルの更新
  46. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved デプロイ用最終モデルの生成

    検定、ホールドアウト 以外の全データでモ デルを作成  開始/終了日 を選ぶ 1  このモードで はフローズンで しか行えない 2  期間を選択 3 ‘Max to the validation start’を選択 検定、ホールドアウト以外のデータでの モデルの再学習 全データでのモデル再学習
  47. Confidential. Copyright © DataRobot, Inc. - All Rights Reserved 時系列予測モデルの更新

    時系列予測モデルの更新時の注意 • 利用可能な時点までの最新のデータを用意する。 • 新規のパターン、イベントを説明するための新たな特徴量などを追加する。 • 更新時に利用可能な新たな属性データも追加する。 既存の特徴量、最新データで更新 したモデルの予測 新たな特徴量、最新データで更新 したモデルの予測