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

【論文紹介】Forecasting at Scale

fhiyo
November 09, 2018
610

【論文紹介】Forecasting at Scale

社内の勉強会で発表した論文紹介の内容です。

fhiyo

November 09, 2018
Tweet

Transcript

  1. 【論文紹介】 Forecasting at Scale Sean J. Taylor, Benjamin Letham, The

    American Statistician 2018 (NOT PEER REVIEWED) @fhiyo 1
  2. 時系列分析とは 時間的に得られる系列的なデータに対する分析。 - 過去の時点に対する推定: 平滑化 (smoothing) - 現在の時点に対する推定: 濾波 (filtering)←観測値をフィルタして「状態」を取り出

    すイメージ? - 未来の時点に対する推定: 予測 (forecast / prediction) 例 - 特定の株価の変動から未来の株価が上がるか下がるかを予測する (forecast) - 過去データから上手くデータ間の関係性を表現する線を書く (smoothing) 3
  3. 普通の分析とどう違う? 一般の回帰分析では最小二乗法 (Ordinary Least Square, OLS) と呼ばれる手法を用 いて分析を行う 最小二乗法の「前提」 -

    データの独立性: 個々のデータ点は他のデータに対して独立である - 誤差は正規分布 N(0, σ^2) に従い、その分散σ^2は既知である 4 OLSの例
  4. AR, MA, ARMA - AR(1) (Autoregressive): 自己回帰過程 データが自身の一つ前のデータに関係がある過程 9 φ1

    = 0.5 ※ W.N.: ホワイトノイズ 平均が0 分散が時刻に依らず一定 自己共分散が0 であるような時系列データ のこと
  5. AR, MA, ARMA - MA(1) (Moving Average): 移動平均過程 あるデータとその一つ前のデータが共通成分を持っている ※

    経済学でいうところの「移動平均」とは異なる概念? ref: https://www2.kumagaku.ac.jp/teacher/~sasayama/macroecon/mailmagaarma.html 10 θ1=1
  6. Prophetでやりたいこと 下の例にあるような困難な部分をなんとかしたい - 普通に回帰分析すると偽相関が現れてしまう (トレンドに傾きがあるため) - 周期性 (週、月、年、季節、...) や不規則な祝日などのイベントに対応する必要あり -

    外れ値に引っ張られて上手くモデリングができない - そもそも、時系列分析についての知識を持っている人が少ない 自動的に外れ値の対処・周期性の検出を行い、かつ解析結果の解釈性を高めることで ドメイン知識を持っていれば時系列分析が行えるようにしたい 12
  7. Problems Settings decomposable time series model with three main model

    component → trend, seasonality, holidays 15 g(t): trend function (not periodic) s(t): periodic changes (e.g. weekly, yearly seasonality) h(t): the effects of holidays ε_t: error function (generally, obeyed normally distribution)
  8. Sample Data -- Number of Event on Facebook 17 明らかに浮いて

    いるデータ 今までとは違う傾向 年末の謎の 落ち込み
  9. 既存手法との比較 既存の4つの手法との比較 (なぜ3点だけ?) auto.arima: ARIMAモデルでパラメータを自動推 定したもの ets: 指数平滑化法。直近の過去のデータに強い 影響を受ける snaive:

    ランダムウォークに週の周期性を加えたも の? tbats: 指数平滑化された状態空間モデル? 祝日などの効果も織り込める ARIMAXもあるがそ ちらとは比較していない様子 20
  10. トレンド予測モデル: Saturating Growth Model - logistic function 22 https://en.wikipedia.org/wiki/Logistic_function#/medi a/File:Logistic-curve.svg

    C: carrying capacity (環境収容力) k: growth rate (成長率) m: offset parameter 環境収容力と成長率が時 刻依存のバージョン → s_j: change pointsがある 時刻 (j=1, ..., S) δ_j: 時刻s_jにおけるトレン ドの変化率
  11. Seasonality フーリエ変換 N: 整数倍の周波数の数 P: period > For yearly and

    weekly seasonality we have found N = 10 and N = 3 respectively to work well for most problems. > In our generative model we take β ∼ Normal(0, σ^2) to impose a smoothing prior on the seasonality. → 平滑化されたpriorのβを正規分布から発生させて作る 25 seasonalityの不確実性を計算したい場合は、 MAP推定で はなくMCMCを行うようにすればよい seasonalityのNはAICなどでProphet側が自動で調整する 例: N=10で年周期のX(t)