Windowsに
Python版
prophetを
入れようとしてハマった話
2019.02.21 Tableau Developers Club Lightning Talk
自己紹介
名前:五島 陽
所属:ドワンゴ
職種:データアナリスト
2
+ データセット作成
可視化・レポート
細かい計算・予測
主な業務内容
本日お話すること
1. Windowsへのprophetのインストールでハマった所
2. Prophetを実際に利用してみた結果の共用
※Tableauとの連携のお話はできません。ご了承下さい。
3
Tableauの
外部サービス接続で
何をしたかったのか
0.
日次で時系列予測がしたい
▪ Tableauにも時系列予測機能はある
▪ 実は社内ではそこそこ活用されている
▪ 月次は納得感があるが日次は難しそう
▪ Excelで頑張る
▪ 頑張った結果をTableauに取り込む 5
日次で時系列予測がしたい
▪ Tableauにも時系列予測機能はある
▪ 実は社内ではそこそこ活用されている
▪ 月次は納得感があるが日次は難しそう
▪ Excelで頑張る
▪ 頑張った結果をTableauに取り込む 6
全部Tableauで完結したい!
そんなある日
こちらのセミナーに参加
8
古幡さんに紹介して貰う
9https://speakerdeck.com/gri/ke-shi-hua-nikakawaruxian-yi-fen-xi-guan-xiang-kesemina-zi-liao?slide=16
Windowsへのprophetの
インストールでハマった所
1.
prophetを入れてみる
▪ インストールした環境
□ Windows7
□ Anaconda 1.9.2 or Anaconda 2018.12
11
前準備
▪ prophetを入れる前に以下をインストール
□ C++ Compiler
□ libpython
□ mingw-w64
□ PyStan 12
いざprophetインストール
▪ あえなく撃沈(※画像はイメージです) 13
エラーメッセージで検索
▪ 同じ所でハマってるっぽいスレッドを発見 14
読み進めると作者登場
▪ 既知の問題らしい。 15
さらに読み進めると解決策
▪ pystanを上記URLの指示通りにインストール
▪ prophetはパッケージをDLしてきてsetup.pyを実行 16
言われたとおりに実行
17
インストールできたっぽい!
18
第一部 完
Prophetを実際に
利用してみた結果の共用
2.
実際に予測した結果(デフォルト)
21
▪ 対象:とあるサービスのとあるキャンペーンでのCV数
▪ 黒い点:実測値 / 濃い青:予測値
▪ おおよその傾向は捉えているが乖離が大きい所が目立つ
周期性の確認
22
▪ model.plot_components(forecast_data)
▪ 週:土日に増えて水曜に減る
▪ 年:1月と12月がもっとも多く、4月と8月は増え、11月は減る
周期性を踏まえちょっと調整
23
▪ 周期性(Seasonality)を追加
□ yearly_seasonality=True/False
□ weekly_seasonality=True/False
□ ここでは両方Trueを採用
▪ 祝日効果(Holiday Effects)を追加
□ こんなデータを自分で用意
□ 日本の祝日リストもビルトインされているがすべて網羅しているわけではないため
holiday ds lower_window upper_window
年末年始 2016-1-1 -3 2
建国記念の日 2016-2-11 0 1
▪ lower_window: 前の何日まで対象にするか
▪ upper_window: 後の何日まで対象にするか
▪ 上記の「年末年始」は2015-12-28~2016-1-3までが対象になる
再度予測してみた結果
24
▪ かなり良くなった気がする!
▪ 今後の改善点
□ 外れ値を捉えやすくし、反映する
第二部 完
prophetのまとめ
▪ インストール
□ PyStanを公式が提示する手順でインストール
□ prophetは公式からパッケージをDLしてインストール
▪ 利用
□ チューニングはそこそこ必要
□ でもすんごい簡単・便利・有能 26
Thanks!
Any questions?
You can find me at
▪ @gossy ( Tableau Developers Club slack )
▪ teruhigoto ( facebook )
27

Windowsにpython版prophetを入れようとしてハマった話とちょっとした事例紹介