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

時系列予測サービス Amazon Forecast の初学レポート

時系列予測サービス Amazon Forecast の初学レポート

JAWS-UG名古屋2019年10月登壇資料
https://jawsug-nagoya.doorkeeper.jp/events/97930

holywater044

October 28, 2019
Tweet

More Decks by holywater044

Other Decks in Technology

Transcript

  1. 自己紹介 名前: Akihiro Horikawa 所属: 総合エネルギー企業の技術研究所 仕事: データ分析(主にアセスメントとマネジメント) 資格: 日本ディープラーニング協会G検定、他

    コミュニティ: 機械学習名古屋、JAWS-UG名古屋、 JUASビジネスデータ研究会(仕事)、他 趣味: 子供、データサイエンス勉強、ゲーム SNS: まだやってない(今後の課題) 好きなAWS: ATHENA、Forecast 2
  2. オートMLについて 最近流行っていて、AIベンチャー・IT大手などいろんな会 社が出してきています。 ⚫DataRobot 〔DataRobot〕 ⚫DriverlessAI 〔H2O.ai〕 ⚫Impluse 〔ブレインズテクノロジー〕 ⚫Google

    AutoML 〔Google〕 ⚫PredictionOne 〔SONY〕 ・・・etc 7 GCPにあるので、AWSも何かないと見劣りしちゃうなーと 思っていたら、Forecastが出ました!
  3. 時系列予測について データ分析の種類を、以下のように捉えてます(私見) 8 扱うデータの種類 お題 構造化データ 表データ 分類、回帰、クラスタリング、etc 時系列データ 分類、回帰、クラスタリング、etc

    非構造化データ 画像 分類、物体検出、etc 音響 分類、etc テキスト文章 テキストマイニング、etc 音声 音声認識、etc ・・・ ・・・ ・・・ Forecastの守備範囲は、ココだけです。 こう書くと「しょぼい」と思われるかもしれませんが・・・
  4. Retail Custom Inventory plannning Ec2 capacity Work force Web traffic

    Metrics データセットグループ 12 Forecastの俯瞰図 (公式なものではありません!) 学習 train 予測生成 generate Forecast S3 ルックアップ lookup TARGET_TIME_SERIES データセット ドメイン RELATED_TIME_SERIES データセット ITEM_METADATA データセット CSV 予測結果 forcast エクスポート export CSV ARIMA DeepAR+ ETS NPTS Prophet アルゴリズム 学習データ 予測結果データ ※ 2019/10/27時点 ルックアップ表示 forecast lookup 時系列 時系列 必須 予測器 predictor インポート import
  5. ドメイン domain どんな分野を予測するか。 選んだドメインで、データセットに制約かかる。 ➢ データセット3種のどれが必須か ➢ 各データセットの、必須フィールドやオプションフィールド 16 ドメイン名

    予測対象 Retail 小売組織によって販売された品目・製品の販売数の予測 Custom 分野指定なし Inventory planning 特定の商品をどれだけ在庫するかの予測 Ec2 capacity Amazon EC2 キャパシティの予測 Work force 労働力需要の予測 Web traffic ウェブプロパティへのウェブトラフィックの予測 Metrics 収益、売上、キャッシュフローなどの予測
  6. TARGET_TIME_SERIESデータセット 目的変数用のデータセット。必ず作成。 ⚫必須フィールドは基本3個 ⚫追加フィールドは「予測ディメンション」のみで、最大10個 ⚫timestampの時間粒度(数&単位)を定義する ➢ 1日、2時間、30分、・・・etc ➢ Forecastはアップロード時に、データを時間粒度にまとめる 19

    フィールド名 型 必須 説明 item_id 文字列 必須 商品の固有 ID timestamp タイムスタンプ 必須 時間粒度に従った時刻 demand 小数 必須 【予測ターゲット】 timestamp時の販売数 location 文字列 オプション 商品を販売した店舗 参考: RetailドメインのTARGET_TIME_SERIES
  7. RELATED_TIME_SERIESデータセット 時系列の説明変数用のデータセット。 ⚫必須フィールドは基本2個 ⚫追加フィールドは「予測ディメンション」(最大10個)と、「ただの 特徴量」(最大13個) 20 フィールド名 型 必須 説明

    item_id 文字列 必須 商品の固有 ID timestamp タイムスタンプ 必須 時間粒度単位の時刻 price 少数 オプション 商品の価格 webpage_hits 少数 オプション ウェブページのヒット数。ECのみ適用 Promotion _applied 0/1 オプション その商品のマーケティングプロモー ションがあったかどうか (他4つ) オプション 参考: RetailドメインのRELATED_TIME_SERIES
  8. ITEM_METADATAデータセット itemに関する時系列でない説明変数 ⚫必須フィールドが基本1個 ⚫追加フィールドは「予測ディメンション」らしい(最大9個) ⚫DeepAR+(後述)で使うらしい 21 フィールド名 型 必須 説明

    item_id 文字列 必須 商品の固有 ID category 文字列 オプション カテゴリー(?) brand 文字列 オプション ブランド color 文字列 オプション 色 genre 文字列 オプション ジャンル(?) 参考: RetailドメインのITEM_METADATA
  9. アルゴリズム algorithm 学習に使うアルゴリズムを、5手法から選択。 直接指定するか、AutoMLに任せて選んでもらうか。 23 アルゴリズム名 概要 ARIMA 自己回帰和分移動平均。古典的なやつ。 DeepAR+

    再帰型ニューラルネットワーク (RNN) 。AWS開発らしい。 ハイパーパラメータの最適化 (HPO)もサポートしてるらしい。 ETS 指数平滑法。古典的なやつ。 NPTS ノンパラメトリック時系列予測。詳細未把握。 Prophet 局所的なベイズ構造時系列予測。Facebook開発らしい。
  10. 前準備 ◼ S3 ⚫インポートする学習データをS3に置き、パスを取得 s3://<name of your S3 bucket>/<folder path>/<filename.csv>

    ⚫エクスポートするS3フォルダを用意、パスを取得 s3://<name of your S3 bucket>/<folder path>/<filename.csv> ◼ IAM ⚫S3参照用のIAMロールを作成、ARNを取得 arn:aws:iam::<account-id>:role/<ロール名> 27