【Amazon Forecast】DeepARの論文が気になったのでざっくり読んでみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。DA事業本部の春田です。

当方、過去を説明する統計学・計量経済分析系の知識はそこそこあるのですが、予測重視の機械学習系についてはほとんど知識がありません。 ということで、今回はAmazon Forecastでどんな分析ができ、特にDeepAR+とはなんぞやというのをまとめていきたいと思います。

Amazon Forecastで使える時系列モデル

現状、Amazon Forecastで使える時系列モデルは5つです。「お、ARIMAあるやん」と思ったのですが、機械学習の要素を取り入れているため、モデルを理解するためには古典的な統計学や時系列分析の知識だけでは足りないようです。

Amazon Forecast アルゴリズムを選択する - Amazon Forecast

ARIMA

古典的な時系列データの分析方法。自己相関や定常性、和分過程の有無を検定し、データそのものの特性を確認してからモデル化する必要があります。内部では、Comprehensive R Archive Network (CRAN) の Package 'forecast' のArima 関数を呼び出しているようです。

DeepAR+

時系列モデルを強化するための教師あり学習アルゴリズム。Amazonでオリジナルの論文を出しています。これが一番気になったので、次の節で詳しく見ていきます。

ETS (Exponential Smoothing)

最近のデータに大きなウェイトをあたえ、古いデータになるほど指数関数的にウェイトが減少するモデル。時点が離れるほど相関が薄くなってくるデータに対して効果的です。シンプルかつ一般的なモデルのためか、なんとエクセルの関数にもあります。

FORECAST.ETS 関数 - Office サポート

NPTS (Non-Parametric Time Series)

名前の通り、ノンパラメトリックなデータ(母集団の前提を設けないデータ)に対して使える手法です。データが断続的な場合、このモデルが効果的です。

Prophet

Facebook社が開発した局所的なベイズ構造の時系列予測ツールです。簡単使えるかつ、周期性や季節性が強く、一時的なイベントや外れ値にも対応できるモデルです。

DeepAR+

DeepARは、Amazon SageMakerで提供されている予測アルゴリズムです。ARIMAやETSといった古典的な時系列分析と違うところは、数種類の時系列データにわたって単一モデルを共同でトレーニングするという点です。Amazon ForecastのDeepAR+は、DeepARを時系列分析用に改良したもののようです。

さて、DeepARに関してはAmazonが出した論文があるので、ちょっと中を覗いていきたいと思います。

[1704.04110] DeepAR: Probabilistic Forecasting with Autoregressive Recurrent Networks

Abstractの和訳

Probabilistic forecasting, i.e. estimating the probability distribution of a time series’ future given its past, is a key enabler for optimizing business processes. In retail businesses, for example, forecasting demand is crucial for having the right inventory available at the right time at the right place. In this paper we propose DeepAR, a methodology for producing accurate probabilistic forecasts, based on training an auto-regressive recurrent network model on a large number of related time series. We demonstrate how by applying deep learning techniques to forecasting, one can overcome many of the challenges faced by widely-used classical approaches to the problem. We show through extensive empirical evaluation on several real-world forecasting data sets accuracy improvements of around 15% compared to state-of-the-art methods.

確率的予測、すなわち過去のデータから将来の時系列の確率分布を推定することは、ビジネスプロセスの最適化を可能にしてくれる重要な手法である。例えば小売業では、需要予測は、適切な時に適切な場所で、適切な在庫を確保しておくことが最重要事項である。本論文で、我々は「DeepAR」という手法を定義する。DeepARは、大量の時系列データを基に、自己回帰型(ニューラル)ネットワークモデルで学習したモデルであり、より正確な確率的予測をもたらす。(本論文で、)ディープラーニングの技術を(時系列)予測に適応させることによって、従来広く使われてきたアプローチが直面していた課題をどう克服できたかを紹介(し、)実世界の予測データセットを基にした多岐にわたる実証的な評価を通して、(従来の)最先端の手法と比べて約15%ほど(予測)精度が向上したことを示す。

全体像

予測(Forecasting)が果たす重要な役割

  • ほとんどのビジネスにおけるオペレーションプロセスの自動化・最適化
  • データドリブンな意思決定

従来の手法

  • 分析内容ごとにバラバラ(エネルギー消費量、サーバー負荷、プロダクトの需要など)
  • 小規模の時系列データ
  • モデルのパラメータは過去データから推定
  • 自己相関構造やトレンド、季節変動性、その他説明変数に合わせてモデルが任意に(manually)に選択されている
  • シミュレーションや閉形式(closed-form expression)を通した確率的な将来予測
  • 古典的なBox-Jenkins法や指数平滑法、状態空間(state space)モデルに基づいた方法が多い

複数の相関した時系列データ

  • 同種で関連するある程度の量の時系列データは、個々の時系列予測に貢献できる
  • 過剰定義することなくより複雑なモデルを当てはめることができる
  • 古典的な手法に必要だったチューニングやモデル選定にかける時間や労働力を削減できる

DeepAR

  • バラバラだった時系列分析から学習モデルを組み上げ反映させることで、過剰定義することなくより複雑な分析が可能となる
  • "a global model from historical data of all time series in the data set"
  • 過去の同テーマの研究と、LSTMベースの回帰ニューラルネットワークからモデルを構築

時系列データはそれぞれ規模が異なり、分布が非常に偏っている
→ 例)Amazon.com の 商品ごとの週次売上平均。データの扱い方・前処理が難しい

本論文の貢献

  • 確率的予測のためのRNNアーキテクチャを提示
    • 負の二項尤度(Binomial likelihood)の導入
    • 時系列データの規模が広い場合の特別処置の導入
  • 実世界のデータセットで実証的にデモンストレーション
    • 幅広いインプットで性格な確率予測
    • ディープラーニングの手法が確率予測の課題に対して効果的なことを示す

DeepARの長所

  • モデルが季節変動性や共変量を学習する
    • 最小限のチューニングで複雑でグループ依存な行動を捉えることができる
  • モンテカルロ・サンプリングの形式で予測を行う
    • 分位点の推定値の計算に使われる
  • 似た項目から学習することにより、ほとんど、もしくはまったくヒストリーがない項目の予測もできる
  • ガウスノイズを仮定していないが、幅広い尤度関数を導入している
    • データの統計的統制に適した関数が選択される

データセット

  • parts : US自動車メーカーの商品ごとの月次売上
  • electricity : 370世帯の時間ごとの電力消費量
  • traffic : サンフランシスコ・ベイエリアフリーウェイ上の963本の道路の時間ごとの利用率
  • ec : Amazon.comの商品の週次ごとの売上
  • ec-sub : ec とは別のAmazon.comの商品の週次ごとの売上

ざっくり読んでみた所感

モデルの数式は難しすぎたので読み飛ばしてます。DeepARのすごい所は、以下の文に集約されているような気がします。

a global model from historical data of all time series in the data set

時系列分析は、単変量分析だと、予測やモデリングをするには情報が足りなかったり、一方で多変量分析となると、今度は複雑さが増して前提条件が厳しくなるなど、普通のパネルデータの分析と比べて統計分析のやりづらさ感がありました。この課題に対して、機械学習の力を使って、あらゆる時系列データから抽象的に使える部分を抜き出してモデル化したDeepARは、新たなアプローチとなりそうですね。

これも、AWSという潤沢なコンピューティングリソース、Amazon.comというECデータの宝庫、優秀な人材が揃った、世界で見てもAmazonにしかできない研究なんじゃないでしょうか。こういう所から、他の企業との格の違いを感じてしまいますね。

次回、実際にDeepAR+を用いて、何かしら分析してみたいと思います。

参照