SlideShare a Scribd company logo
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

More Related Content

What's hot

『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会
MITSUNARI Shigeo
 

What's hot (20)

Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
Rの高速化
Rの高速化Rの高速化
Rの高速化
 
[DL輪読会]Meta Reinforcement Learning
[DL輪読会]Meta Reinforcement Learning[DL輪読会]Meta Reinforcement Learning
[DL輪読会]Meta Reinforcement Learning
 
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
【宝くじ仮説】The Lottery Ticket Hypothesis: Finding Small, Trainable Neural Networks
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
 
ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~ Rで計量時系列分析~CRANパッケージ総ざらい~
Rで計量時系列分析~CRANパッケージ総ざらい~
 
Tableauから始める統計学の基礎
Tableauから始める統計学の基礎Tableauから始める統計学の基礎
Tableauから始める統計学の基礎
 
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
TensorRT Inference Serverではじめる、 高性能な推論サーバ構築
 
Granger因果による 時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による 時系列データの因果推定(因果フェス2015)
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
 
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
 
大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと大学3年生の僕に伝えたいことをつらつらと
大学3年生の僕に伝えたいことをつらつらと
 
ベイズ最適化
ベイズ最適化ベイズ最適化
ベイズ最適化
 
最適化計算の概要まとめ
最適化計算の概要まとめ最適化計算の概要まとめ
最適化計算の概要まとめ
 
連続変量を含む条件付相互情報量の推定
連続変量を含む条件付相互情報量の推定連続変量を含む条件付相互情報量の推定
連続変量を含む条件付相互情報量の推定
 
Probabilistic Graphical Models 輪読会 #1
Probabilistic Graphical Models 輪読会 #1Probabilistic Graphical Models 輪読会 #1
Probabilistic Graphical Models 輪読会 #1
 
色々な確率分布とその応用
色々な確率分布とその応用色々な確率分布とその応用
色々な確率分布とその応用
 
『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会『データ解析におけるプライバシー保護』勉強会
『データ解析におけるプライバシー保護』勉強会
 
生存時間分析数理の基礎
生存時間分析数理の基礎生存時間分析数理の基礎
生存時間分析数理の基礎
 

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

Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界
Takahiro Inoue
 

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

Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
 
Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践Cloudn PaaSチームのChatOps実践
Cloudn PaaSチームのChatOps実践
 
Tableauデータサイエンス勉強会12月ライトニング_柴田さん
Tableauデータサイエンス勉強会12月ライトニング_柴田さんTableauデータサイエンス勉強会12月ライトニング_柴田さん
Tableauデータサイエンス勉強会12月ライトニング_柴田さん
 
.NET6新機能の振り返り
.NET6新機能の振り返り.NET6新機能の振り返り
.NET6新機能の振り返り
 
Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界Tableauが魅せる Data Visualization の世界
Tableauが魅せる Data Visualization の世界
 
視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけること視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけること
 
S02 t2 my_historyofpythonlearning
S02 t2 my_historyofpythonlearningS02 t2 my_historyofpythonlearning
S02 t2 my_historyofpythonlearning
 
受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話
 
今更Cake2.3でWebAPIを作った話
今更Cake2.3でWebAPIを作った話今更Cake2.3でWebAPIを作った話
今更Cake2.3でWebAPIを作った話
 
GenisysでTableauを導入した話
GenisysでTableauを導入した話GenisysでTableauを導入した話
GenisysでTableauを導入した話
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
 
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
 
Azure 障害との上手な付き合い方
Azure 障害との上手な付き合い方Azure 障害との上手な付き合い方
Azure 障害との上手な付き合い方
 
初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)
初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)
初めての Raspberry pi 〜プラレールをunityの世界の中で走らせよう〜 (1)
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
実務でGo使い始めました
実務でGo使い始めました実務でGo使い始めました
実務でGo使い始めました
 
.NET 7期待の新機能
.NET 7期待の新機能.NET 7期待の新機能
.NET 7期待の新機能
 
第45回PHP勉強会(里洋平)
第45回PHP勉強会(里洋平)第45回PHP勉強会(里洋平)
第45回PHP勉強会(里洋平)
 
S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3S03 t1 python_learningdiary#3
S03 t1 python_learningdiary#3
 
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
 

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