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

prophetの一般化線形モデルへの拡張

 prophetの一般化線形モデルへの拡張

2018/08/10 第8回 釧路高専 若手理・工学セミナーでの、羽鳥の講演資料になります

Recruit Technologies

August 10, 2018
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. ライフイベント領域 進学 就職 結婚 転職 住宅購⼊ ⾞購⼊ 出産/育児 旅⾏ ビジネス⽀援

    ⽣活/地域情報 グルメ・美容 ライフスタイル領域 選択・意思決定を⽀援する情報サービスを提供し、 「まだ、ここにない、出会い。」を実現する。 リクルートの事業内容について
  2. リクルートテクノロジーズの事業内容について (C) Recruit Technologies Co., Ltd. All rights reserved. 4

    , n c R T I R I T I T , H e d e Recruit Global Staffing B.V. . e RGF OHR USA, Inc. c &
  3. 時系列予測について • 時系列の予測は企業にとって重要なテーマであ る。 • ex: ‒ ⾃社の3カ年売上予測 ‒ 個社ごとの⽉内受注量予測

    ‒ 広告コストに対する1時間以内のコンバージョン量予 測など • 精緻な予測ができれば、ビジネスへの影響も⼤ きい (C) Recruit Technologies Co., Ltd. All rights reserved. 5
  4. prophetの紹介 • prophet • facebookが開発した時系列予測のライブ ラリ • R or python実装がオープンソースとして

    公開されている ‒ https://github.com/facebook/prophet • 内部ロジックも論⽂として公開されている ‒ https://peerj.com/preprints/3190.pdf (C) Recruit Technologies Co., Ltd. All rights reserved. 10
  5. モデルの特徴 11 (C) Recruit Technologies Co., Ltd. All rights reserved.

    0 100 200 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 50 100 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −50 0 50 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 10 20 30 40 1 2015 4 2015 7 2015 10 2015 1 2016 ds y + +
  6. モデルの特徴 12 (C) Recruit Technologies Co., Ltd. All rights reserved.

    0 100 200 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 50 100 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −50 0 50 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 10 20 30 40 1 2015 4 2015 7 2015 10 2015 1 2016 ds y + + • 時系列データをトレンド、季節性、イベ ントで表現 • 既存⼿法では難しい⾮線形のトレンド、 季節性を表現可能 • 他案件でも既存モデルよりも⾼精度 トレンド 季節性 イベント 時系列=
  7. モデルの特徴 13 (C) Recruit Technologies Co., Ltd. All rights reserved.

    0 100 200 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 50 100 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −50 0 50 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 10 20 30 40 1 2015 4 2015 7 2015 10 2015 1 2016 ds y + + トレンド 季節性 イベント 時系列=
  8. 変化点や上限値を含む複雑なトレンドを推定可能 14 (C) Recruit Technologies Co., Ltd. All rights reserved.

    0e+00 5e+04 1e+05 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −1e+05 −5e+04 0e+00 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −0.50 −0.25 0.00 0.25 0.50 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −50 0 50 100 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0.5 0.6 0.7 0.8 0.9 1.0 1 2015 4 2015 7 2015 10 2015 1 2016 ds y ୯ௐ૿Ճ ୯ௐݮগ ಼ ંΕઢ ্ݶ༗Γ 既 存 ⼿ 法 prophet º º
  9. 理論的背景 15 (C) Recruit Technologies Co., Ltd. All rights reserved.

    piecewise logistic growth model • t : 時間(t = 1, ..., T) • k : 傾き • m : 切⽚ • δ : 変化点 piecewise linear growth model
  10. 理論的背景 16 (C) Recruit Technologies Co., Ltd. All rights reserved.

    piecewise logistic growth model piecewise linear growth model • 要するに折れ線回帰 • 部分区間ごとに切⽚と傾きを推定している
  11. 釧路湿原トレンドデータの例 17 (C) Recruit Technologies Co., Ltd. All rights reserved.

    • 過去データの80%を⽤いて等間隔にデータを分割 • 各区間でトレンドが変化しているか推定する
  12. 釧路湿原トレンドデータの例 18 (C) Recruit Technologies Co., Ltd. All rights reserved.

    • トレンドの変化点を⾃動的に推定できている • 変化が微⼩な点は無視される
  13. モデルの特徴 19 (C) Recruit Technologies Co., Ltd. All rights reserved.

    0 100 200 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 50 100 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −50 0 50 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 10 20 30 40 1 2015 4 2015 7 2015 10 2015 1 2016 ds y + + トレンド 季節性 イベント 時系列=
  14. 季節性の推定は難しかった 20 (C) Recruit Technologies Co., Ltd. All rights reserved.

    • かつては年・⽉・週・曜⽇・時間帯などの要素を職⼈が洗い出 し、全てのパターンを試す必要があった。
  15. 季節性の推定を⾃動的に⾏う 21 (C) Recruit Technologies Co., Ltd. All rights reserved.

    季節性(⻑⽅形の波)の フーリエ級数による表現 • 季節性をsin, cosの波として表現 • 週と⽉と年の周期が重要 • 週周期: • ⼈の⾏動は曜⽇によって変わる (平⽇ or 休⽇) • 年周期: • ⼈の⾏動は季節によって変わる (⻑期休暇、繁忙期など)
  16. 季節性の推定を⾃動的に⾏う 22 (C) Recruit Technologies Co., Ltd. All rights reserved.

    季節性(⻑⽅形の波)の フーリエ級数による表現 • 年間の波、週間の波を⾃動的に推定 • これまで職⼈がデータを観察し、表現して いた下記のような事象を⾃動推定可能 • 「⼟⽇は売上が増える」 • 「2, 8⽉は落ち込む」 • 「⽉曜に最⾼値を付けた後は緩やかに減少 し、⼟曜にかけて盛り返す」 • 職⼈芸が不要に
  17. 理論的背景 23 (C) Recruit Technologies Co., Ltd. All rights reserved.

    Fourier series to provide a flexible model of periodic effects • t : 時間(t = 1, ..., T) • P : 周期 • P=7 : 1週間の季節性 • P=365.25 : 1年間の季節性 • N : 級数パラメータ • このNを⼤きくすればよりデータにfitするが、過学習 のリスクも増える
  18. モデルの特徴 27 (C) Recruit Technologies Co., Ltd. All rights reserved.

    0 100 200 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 50 100 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −50 0 50 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 10 20 30 40 1 2015 4 2015 7 2015 10 2015 1 2016 ds y + + トレンド 季節性 イベント 時系列=
  19. 不定期に発⽣するイベントの効果を取り込みたい 28 (C) Recruit Technologies Co., Ltd. All rights reserved.

    • Google Trendsのとある漫画の検索数 • x軸:時間 • y軸:[0, 100]のトレンド指標
  20. 不定期に発⽣するイベントの効果を取り込みたい 29 (C) Recruit Technologies Co., Ltd. All rights reserved.

    • Google Trendsのとある漫画の検索数 • x軸:時間 • y軸:[0, 100]のトレンド指標 ΞχϝԽ(1ظ) өըԽ ΞχϝԽ(2ظ)
  21. 不定期に発⽣するイベントの効果を取り込みたい 30 (C) Recruit Technologies Co., Ltd. All rights reserved.

    • イベントの効果が⼤きすぎて、まともにfittingできてい ない
  22. 特異なイベントの⽇付を指定するだけで効果を取り込み可能 イベント ⽇付 前⽇効果 後⽇効果 アニメ化 2013-05-01 0 3 アニメ化

    2017-04-01 0 3 アニメ化 2018-07-01 0 3 映画化 2015-08-01 0 3 クリスマス 2013-12-25 -1 0 ⁝ ⁝ ⁝ ⁝ クリスマス 2017-12-25 -1 0 クリスマス 2018-12-25 -1 0 お盆 2013/08/15 -1 1 お盆 2014/08/15 -1 1 お盆 2015/08/13 -1 1 ⁝ ⁝ ⁝ ⁝
  23. 不定期に発⽣するイベントの効果を取り込みたい 32 (C) Recruit Technologies Co., Ltd. All rights reserved.

    • イベントの効果を取り込んだことで、よく当てはまるよ うになった
  24. ⼀旦まとめ 33 (C) Recruit Technologies Co., Ltd. All rights reserved.

    0 100 200 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 50 100 1 2015 4 2015 7 2015 10 2015 1 2016 ds y −50 0 50 1 2015 4 2015 7 2015 10 2015 1 2016 ds y 0 10 20 30 40 1 2015 4 2015 7 2015 10 2015 1 2016 ds y + + トレンド g(t) 季節性 s(t) イベント h(t) 時系列= y(t) • prophetはトレンド・季節性・イベント をそれぞれ時間の関数として表現してい る • 誤差項には正規分布が仮定されている + 誤差項
  25. 本⽇話したかったこと • prophetはトレンド・季節性・イベントを それぞれ時間の関数として表現している • () = () + ()

    + ℎ() + . ‒ これらは結局ただの回帰モデル ‒ GLM(⼀般化線形モデル)の枠組みに拡張でき るのでは? 34 (C) Recruit Technologies Co., Ltd. All rights reserved.
  26. ⼀般化線形モデル • 線形予測⼦ – = + • リンク関数 ‒ 線形予測⼦を変換する関数のこと

    ‒ 例えばデータが0以上をとるものなら、予測の ⽅程式も0以上になってほしい – log = + ⟺ = 9:;< • 誤差分布 ‒ 統計モデルが従う確率分布 ‒ 正規分布、⼆項分布、ポアソン分布etc... 35 (C) Recruit Technologies Co., Ltd. All rights reserved.
  27. ⼀般化線形モデル • ページビューのデータは下記のような性質 がある ‒ ⾮負 ‒ 整数 ‒ 範囲は[0,

    ∞) • ポアソン分布で扱うのが適当 ‒ ⾮負 ‒ 離散の確率分布 ‒ 37 (C) Recruit Technologies Co., Ltd. All rights reserved.
  28. prophetでページビューデータを表現するには • ⼀般化線形モデルにprophetを当てはめる • 線形予測⼦ – = () + ()

    + ℎ() • リンク関数 – log = + ⟺ = 9:;< • 誤差分布 ‒ ポアソン分布 • このように定式化することで、より正確な ページビューデータのモデリングが可能に ‒ なるかもしれない(実装中) 38 (C) Recruit Technologies Co., Ltd. All rights reserved.
  29. まとめ • データを利活⽤する企業にとって、⾼精度 な時系列予測は重要 • prophetはトレンド・季節性・イベントで データを表現することで、⾼精度な予測を 実現している – =

    () + () + ℎ() • ⼀般化線形モデルの枠組みに当てはめるこ とで、さらに現実に即したモデリングが可 能となる可能性がある 39 (C) Recruit Technologies Co., Ltd. All rights reserved.