Submit Search
Upload
Prophet入門【R編】Facebookの時系列予測ツール
•
34 likes
•
39,103 views
hoxo_m
Follow
第63回R勉強会@東京(#TokyoR)発表資料 https://atnd.org/events/89482
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 62
Recommended
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツール
hoxo_m
Prophet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツール
hoxo_m
研究分野をサーベイする
研究分野をサーベイする
Takayuki Itoh
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
宏喜 佐野
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
Recommended
Prophet入門【Python編】Facebookの時系列予測ツール
Prophet入門【Python編】Facebookの時系列予測ツール
hoxo_m
Prophet入門【理論編】Facebookの時系列予測ツール
Prophet入門【理論編】Facebookの時系列予測ツール
hoxo_m
研究分野をサーベイする
研究分野をサーベイする
Takayuki Itoh
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
Stan超初心者入門
Stan超初心者入門
Hiroshi Shimizu
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
宏喜 佐野
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?
jundoll
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
Classi.corp
時系列データ分析
時系列データ分析
graySpace999
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
最適化超入門
最適化超入門
Takami Sato
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m
5分でわかるベイズ確率
5分でわかるベイズ確率
hoxo_m
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
Hidetoshi Matsui
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
Deep Learning JP
時系列分析入門
時系列分析入門
Miki Katsuragi
実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだこと
nishio
Stanとdlmによる状態空間モデル
Stanとdlmによる状態空間モデル
Hiroki Itô
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
質的変数の相関・因子分析
質的変数の相関・因子分析
Mitsuo Shimohata
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
Nagi Teramo
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
Yasuyuki Sugai
More Related Content
What's hot
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?
jundoll
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
Classi.corp
時系列データ分析
時系列データ分析
graySpace999
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
Takashi J OZAKI
最適化超入門
最適化超入門
Takami Sato
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
hoxo_m
5分でわかるベイズ確率
5分でわかるベイズ確率
hoxo_m
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
Yuya Takashina
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
Shushi Namba
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
Hidetoshi Matsui
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
Deep Learning JP
時系列分析入門
時系列分析入門
Miki Katsuragi
実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだこと
nishio
Stanとdlmによる状態空間モデル
Stanとdlmによる状態空間モデル
Hiroki Itô
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
Satoshi Hara
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
Hiroshi Shimizu
質的変数の相関・因子分析
質的変数の相関・因子分析
Mitsuo Shimohata
Stanコードの書き方 中級編
Stanコードの書き方 中級編
Hiroshi Shimizu
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
What's hot
(20)
Rによる高速処理 まだfor使ってるの?
Rによる高速処理 まだfor使ってるの?
pymcとpystanでベイズ推定してみた話
pymcとpystanでベイズ推定してみた話
時系列データ分析
時系列データ分析
Granger因果による時系列データの因果推定(因果フェス2015)
Granger因果による時系列データの因果推定(因果フェス2015)
最適化超入門
最適化超入門
トピックモデルの評価指標 Perplexity とは何なのか?
トピックモデルの評価指標 Perplexity とは何なのか?
5分でわかるベイズ確率
5分でわかるベイズ確率
グラフィカル Lasso を用いた異常検知
グラフィカル Lasso を用いた異常検知
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
StanとRでベイズ統計モデリング読書会(Osaka.stan) 第6章
スパース推定法による統計モデリング(入門)
スパース推定法による統計モデリング(入門)
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
時系列分析入門
時系列分析入門
実践多クラス分類 Kaggle Ottoから学んだこと
実践多クラス分類 Kaggle Ottoから学んだこと
Stanとdlmによる状態空間モデル
Stanとdlmによる状態空間モデル
機械学習モデルの判断根拠の説明
機械学習モデルの判断根拠の説明
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
StanとRでベイズ統計モデリング読書会 導入編(1章~3章)
質的変数の相関・因子分析
質的変数の相関・因子分析
Stanコードの書き方 中級編
Stanコードの書き方 中級編
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
Viewers also liked
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
Nagi Teramo
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
Yasuyuki Sugai
xtsパッケージで時系列解析
xtsパッケージで時系列解析
Nagi Teramo
Rで売上予測のデモ(回帰分析)
Rで売上予測のデモ(回帰分析)
裕美 成田
2017年3月版データマエショリスト入門(誤植修正版)
2017年3月版データマエショリスト入門(誤植修正版)
Yuya Matsumura
Replica exchange MCMC
Replica exchange MCMC
. .
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
Sappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ー
Wakana_kudo
R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装
__nakamichi__
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
MrUnadon
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Takayuki Shimizukawa
Osaka.stan#2 chap5-1
Osaka.stan#2 chap5-1
Makoto Hirakawa
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
sleepy_yoshi
多項式あてはめで眺めるベイズ推定~今日からきみもベイジアン~
多項式あてはめで眺めるベイズ推定~今日からきみもベイジアン~
tanutarou
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
Ken'ichi Matsui
Viewers also liked
(15)
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
東京R非公式おじさんが教える本当に気持ちいいパッケージ作成法
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
第2回 R言語で始めよう、データサイエンス(ハンズオン勉強会) 〜相関分析による需要予測編〜
xtsパッケージで時系列解析
xtsパッケージで時系列解析
Rで売上予測のデモ(回帰分析)
Rで売上予測のデモ(回帰分析)
2017年3月版データマエショリスト入門(誤植修正版)
2017年3月版データマエショリスト入門(誤植修正版)
Replica exchange MCMC
Replica exchange MCMC
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Sappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ー
R6パッケージの紹介―機能と実装
R6パッケージの紹介―機能と実装
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
遅延価値観数と階層ベイズを用いた男心をくすぐる女の戦略.R
Pythonはどうやってlen関数で長さを手にいれているの?
Pythonはどうやってlen関数で長さを手にいれているの?
Osaka.stan#2 chap5-1
Osaka.stan#2 chap5-1
SVM実践ガイド (A Practical Guide to Support Vector Classification)
SVM実践ガイド (A Practical Guide to Support Vector Classification)
多項式あてはめで眺めるベイズ推定~今日からきみもベイジアン~
多項式あてはめで眺めるベイズ推定~今日からきみもベイジアン~
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
Similar to Prophet入門【R編】Facebookの時系列予測ツール
Tori lab 輪読会 WWW 2014 - Modeling and predicting the growth and death
Tori lab 輪読会 WWW 2014 - Modeling and predicting the growth and death
Kimitaka
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
Introduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithm
Hiroki Iida
Ai for marketing
Ai for marketing
Hiroki Iida
Tokyo r50 beginner_2
Tokyo r50 beginner_2
Takashi Minoda
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
Nobuaki Oshiro
大規模日本語ブログコーパスにおける言語モデルの構築と評価
大規模日本語ブログコーパスにおける言語モデルの構築と評価
Yahoo!デベロッパーネットワーク
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Nobuaki Oshiro
Retty recommendation project
Retty recommendation project
Jiro Iwanaga
機械学習を使った時系列売上予測
機械学習を使った時系列売上予測
DataRobotJP
Solrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJP
Solrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJP
Yahoo!デベロッパーネットワーク
ギズモード・ジャパンのつくり方
ギズモード・ジャパンのつくり方
Six Apart KK
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
OWL.learn
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Tatsuya Tojima
Towards a robust modeling of temporal interest change patterns for behavioral...
Towards a robust modeling of temporal interest change patterns for behavioral...
shima o
REST API マスターへの道 - Office 365 パワーユーザー向け
REST API マスターへの道 - Office 365 パワーユーザー向け
Hirofumi Ota
レボリューションR(RRE)のご紹介
レボリューションR(RRE)のご紹介
Satoshi Kitajima
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
Shuji Morisaki
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
Nobuaki Oshiro
#神奈川大学経営学総論 (11/15) ドメイン戦略
#神奈川大学経営学総論 (11/15) ドメイン戦略
Yasushi Hara
Similar to Prophet入門【R編】Facebookの時系列予測ツール
(20)
Tori lab 輪読会 WWW 2014 - Modeling and predicting the growth and death
Tori lab 輪読会 WWW 2014 - Modeling and predicting the growth and death
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Introduction to search_and_recommend_algolithm
Introduction to search_and_recommend_algolithm
Ai for marketing
Ai for marketing
Tokyo r50 beginner_2
Tokyo r50 beginner_2
10分で分かるr言語入門ver2 upload用
10分で分かるr言語入門ver2 upload用
大規模日本語ブログコーパスにおける言語モデルの構築と評価
大規模日本語ブログコーパスにおける言語モデルの構築と評価
10分で分かるr言語入門ver2.15 15 1010
10分で分かるr言語入門ver2.15 15 1010
Retty recommendation project
Retty recommendation project
機械学習を使った時系列売上予測
機械学習を使った時系列売上予測
Solrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJP
Solrで多様なランキングモデルを活用するためのプラグイン開発 #SolrJP
ギズモード・ジャパンのつくり方
ギズモード・ジャパンのつくり方
初心者のためのRとRStudio入門 vol.2
初心者のためのRとRStudio入門 vol.2
Python による 「スクレイピング & 自然言語処理」入門
Python による 「スクレイピング & 自然言語処理」入門
Towards a robust modeling of temporal interest change patterns for behavioral...
Towards a robust modeling of temporal interest change patterns for behavioral...
REST API マスターへの道 - Office 365 パワーユーザー向け
REST API マスターへの道 - Office 365 パワーユーザー向け
レボリューションR(RRE)のご紹介
レボリューションR(RRE)のご紹介
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
AgileTourOsaka2011 関係者に理解してもらえるアジャイル開発にむけて
10分で分かるr言語入門ver2.14 15 0905
10分で分かるr言語入門ver2.14 15 0905
#神奈川大学経営学総論 (11/15) ドメイン戦略
#神奈川大学経営学総論 (11/15) ドメイン戦略
More from hoxo_m
Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門
hoxo_m
学習係数
学習係数
hoxo_m
AJAXサイトの情報をWebスクレイピング
AJAXサイトの情報をWebスクレイピング
hoxo_m
高速なガンマ分布の最尤推定法について
高速なガンマ分布の最尤推定法について
hoxo_m
経験過程
経験過程
hoxo_m
確率論基礎
確率論基礎
hoxo_m
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
hoxo_m
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
hoxo_m
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
hoxo_m
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
hoxo_m
トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本
トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本
hoxo_m
協調フィルタリング入門
協調フィルタリング入門
hoxo_m
データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)
hoxo_m
カップルが一緒にお風呂に入る割合をベイズ推定してみた
カップルが一緒にお風呂に入る割合をベイズ推定してみた
hoxo_m
Stan で欠測データの相関係数を推定してみた
Stan で欠測データの相関係数を推定してみた
hoxo_m
チェビシェフの不等式
チェビシェフの不等式
hoxo_m
swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習
hoxo_m
RPubs とその Bot たち
RPubs とその Bot たち
hoxo_m
More from hoxo_m
(18)
Shinyユーザのための非同期プログラミング入門
Shinyユーザのための非同期プログラミング入門
学習係数
学習係数
AJAXサイトの情報をWebスクレイピング
AJAXサイトの情報をWebスクレイピング
高速なガンマ分布の最尤推定法について
高速なガンマ分布の最尤推定法について
経験過程
経験過程
確率論基礎
確率論基礎
シンギュラリティを知らずに機械学習を語るな
シンギュラリティを知らずに機械学習を語るな
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
非制約最小二乗密度比推定法 uLSIF を用いた外れ値検出
階層モデルの分散パラメータの事前分布について
階層モデルの分散パラメータの事前分布について
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
トピックモデルの評価指標 Coherence 研究まとめ #トピ本
トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本
トピックモデルによる統計的潜在意味解析読書会 3.7 評価方法 - 3.9 モデル選択 #トピ本
協調フィルタリング入門
協調フィルタリング入門
データの不備を統計的に見抜く (Gelman’s secret weapon)
データの不備を統計的に見抜く (Gelman’s secret weapon)
カップルが一緒にお風呂に入る割合をベイズ推定してみた
カップルが一緒にお風呂に入る割合をベイズ推定してみた
Stan で欠測データの相関係数を推定してみた
Stan で欠測データの相関係数を推定してみた
チェビシェフの不等式
チェビシェフの不等式
swirl パッケージでインタラクティブ学習
swirl パッケージでインタラクティブ学習
RPubs とその Bot たち
RPubs とその Bot たち
Prophet入門【R編】Facebookの時系列予測ツール
1.
Prophet ⼊⾨【R編】 Facebook の時系列予測ツール 2017/07/22 @hoxo_m 1
2.
About me HOXO-M Inc. 代表取締役
CEO 2
3.
【宣伝】Rによる⾃動データ収集 Webスクレイピングとテキストマイニングの実践 ガイド 共同翻訳 しました 3
4.
本⽇の内容 • Facebook が開発した時系列予測ツール Prophet を紹介 •
R と Python のライブラリがあります https://github.com/facebookincubator/prophet • 本資料では R 版の使い⽅を説明 4
5.
Prophet とは • Prophet
= 予⾔者 • 時系列予測ツール – 統計知識不要 – 業務知識で精度向上 – 精度評価で品質保証 • 誰でも予⾔者に! 5
6.
⽬次 1. モチベーション 2. デフォルト設定で使ってみる 3.
業務知識を⼊れてみる 4. 統⼀的な評価で品質保証 5. まとめ 6
7.
1. モチベーション • ビジネスにおいて様々な時系列データの 将来予測は重要 •
例: 売り上げ予測 7
8.
ビジネス時系列の予測 • 精度の良い予測をしたい • 必要なスキル –
統計モデル (ARIMA, 状態空間モデル, etc.) – ドメイン知識 (季節性, イベント, etc.) • 両⽅を兼ね備えた⼈材はほとんどいない ⇨ ⾼品質な予測は⾼コスト 8
9.
課題 • ⼤量のビジネス時系列データ • ⾼品質な予測が欲しい •
コストは抑えたい ⇨ 予測のスケール化 9
10.
分散型によるスケール化 10 集中型 分散型 統計専⾨家 Prophet 予測
予測 予測 予測 予測 予測
11.
分散型予測の問題点 • 予測を作る⼈たちに統計の知識がない • パラメータ調整による精度向上が難しい •
予測の品質が⼀定でなくバラバラになる 11
12.
Prophet の要件 • ドメイン知識を持つ⼈ が ①
統計の知識なしで予測を作成できる ② ドメイン知識を⼊れて精度向上できる ③ 品質を保つための統⼀的な評価⽅法 12
13.
1. まとめ • ビジネス時系列の予測は重要 •
専⾨家による集中型予測は⾼コスト • 分散型予測により予測を低コスト化 • Prophet は分散型予測に必要な3つの条件 を備えたツール 13
14.
⽬次 1. モチベーション 2. デフォルト設定で使ってみる 3.
業務知識を⼊れてみる 4. 統⼀的な評価で品質保証 5. まとめ 14
15.
2. デフォルト設定で使ってみる • Prophet
の要件①: 統計の知識なしで予測を作成できる ⇨ デフォルト設定でいい感じの予測 15
16.
インストール • CRAN からインストール可能 >
install.packages(”prophet”) • rstan パッケージに依存 • Windows の場合、rstan パッケージは 先に別途インストールした⽅が良い 16
17.
本発表のデータ • GitHub 上のデータを使⽤します •
https://github.com/facebookincubator/ prophet/tree/master/examples • Wikipedia • ペイトン・マニング • アメフト選⼿ • ⽇次ページビュー数 17
18.
データの読み込み ds y 1 2007-12-10
9.590761 2 2007-12-11 8.519590 3 2007-12-12 8.183677 4 2007-12-13 8.072467 18
19.
データの読み込み • 3000⽇分の時系列データ 19
20.
予測モデルの学習 • prophet() 関数にデータを⼊れるだけ 20
21.
予測期間の指定 • ⼀年(365⽇)の空のデータフレームを⽤意 ds 3266 2017-01-15 3267
2017-01-16 3268 2017-01-17 3269 2017-01-18 3270 2017-01-19 21
22.
予測の作成 ds yhat 3266 2017-01-15
8.213787 3267 2017-01-16 8.538876 3268 2017-01-17 8.326293 3269 2017-01-18 8.158930 3270 2017-01-19 8.170898 22
23.
予測のプロット • plot() 関数で簡単にプロットできる •
結果は ggplot オブジェクトなので簡単に 加⼯できる 23
24.
予測のプロット 24 予測
25.
2. まとめ • Prophet
はデフォルト設定でいい感じの予測を 作成でき、可視化までできる! 25
26.
⽬次 1. モチベーション 2. デフォルト設定で使ってみる 3.
業務知識を⼊れてみる 4. 統⼀的な評価で品質保証 5. まとめ 26
27.
3. 業務知識を⼊れてみる • Prophet
の要件②: ドメイン知識を⼊れて精度向上できる ⇨ 分かりやすい調整パラメータ 27
28.
予測モデル • 従来の予測モデル(⽣成モデル) – データがどのように発⽣するかを考える –
パラメータの意味が分かりにくい (例: ARIMA の移動平均や⾃⼰回帰の次数) • Prophet – 予測を曲線フィッティングの問題と考える – パラメータが直感的に理解できる 28
29.
予測モデル • 時系列 =
トレンド + 周期性 + イベント 29
30.
30 = + トレンド 周期性 時系列データ
31.
予測モデル • 時系列 =
トレンド + 周期性 + イベント • パラメータが直感的に理解できる • 調整可能なパラメータ ① 線形トレンド or ⾮線形トレンド ② 変化点、変化点の数 ③ 週周期と年周期 ④ イベント 31
32.
① トレンドの選択 • 線形トレンド ’linear’ •
⾮線形トレンド ʻlogistic’ 32
33.
トレンドの選択 • ⾮線形トレンド – ビジネス時系列は基本的に⾮線形トレンド –
成⻑上限(キャパシティ)が決まっている 例: ユーザ数の予測では Web⼈⼝が上限 • 線形トレンド – 成⻑の各段階は線形で近似できる – Prophet のデフォルトは線形 33
34.
⾮線形トレンドの指定 • growth=”logistic” を指定 •
df$cap に上限(キャパシティ)を指定 34
35.
⾮線形トレンド • 例: Wikipedia
の R のページビュー 35
36.
② 変化点の指定 • 新機能のリリースなどでトレンドが変化 •
変化点の指定が可能: changepoints=⽇付のベクトル 36
37.
37 = + トレンド(変化点あり) 周期性 時系列データ
38.
変化点の数を指定 • 等間隔に変化点を置いて推定 n.changepoints=変化点の数 • 変化点は指定した数だけ出⼒されるが、 変化量が微⼩なら変化点とみなさない ⇨︎
変化点の⾃動検出 38
39.
③ 週周期と年周期 • ビジネス時系列は⼈の⾏動に影響される •
週周期と年周期が重要 • 週周期: – ⼈の⾏動は曜⽇によって変わる (平⽇ or 休⽇) • 年周期: – ⼈の⾏動は季節によって変わる (年末年始など) 39
40.
週周期と年周期の指定 • それぞれの周期を考慮するか指定できる weekly.seasonality =
TRUE/FALSE yearly.seasonality = TRUE/FALSE • デフォルトは ”auto” 40
41.
④ イベント効果 • 不定期に発⽣するイベントの影響を考慮 して予測を作成したい •
イベントの例: – 祝⽇、キャンペーン、テレビCM 41
42.
イベント効果 • イベント⽇を列挙したデータフレームを ⽤意する 42 holiday ds
lower upper 24時間テレビ 2015-08-22 0 1 24時間テレビ 2016-08-27 0 1 24時間テレビ 2017-08-26 0 1 クリスマス 2015-12-25 -1 0 クリスマス 2016-12-25 -1 0 クリスマス 2017-12-25 -1 0
43.
イベント効果 • イベント⽇のデータフレームを渡す holidays =
event_dataframe 43
44.
例: イベント効果 • Wikipedia
ページビュー • ペイトン・マニング • アメフト選⼿ • イベント: 「アメフトリーグの決勝戦の⽇」 44
45.
イベント効果なし 45 決勝の⽇は モデルから ⼤きく外れる
46.
イベント効果を考慮 イベント効果 として処理 次の決勝戦
47.
3. まとめ • Prophet
の予測モデル: 時系列 = トレンド + 周期 + イベント • パラメータが直感的に理解できる – トレンド、変化点、周期、イベント – ドメイン知識により調整可能 • パラメータ調整により精度向上できる 47
48.
⽬次 1. モチベーション 2. デフォルト設定で使ってみる 3.
業務知識を⼊れてみる 4. 統⼀的な評価で品質保証 5. まとめ 48
49.
4. 統⼀的な評価で品質保証 • Prophet
の要件③: 統⼀的な予測精度の評価 ⇨ MAPE と SHF 49
50.
統⼀的な評価 • なぜ統⼀的な評価が重要か? • 分散型予測 •
各⼈がそれぞれで予測を作成する ⇨ 予測の品質がバラバラになる • これらの予測の品質を⼀定に保ちたい 50
51.
平均絶対パーセント誤差 • MAPE (Mean
Average Percent Error) • 予測値が実績値から何パーセント外れて いるかを表す ⇨ 異なる単位の予測を⽐較できる 51
52.
平均絶対パーセント誤差 • どうやって求めるか? ⇨ Simulated
Historical Forecast を提案 52
53.
Simulated Historical Forecast 53 訓練データ
テスト
54.
Simulated Historical Forecast 54 訓練データ
テスト 全期間 複数の期間における予測誤差を出す
55.
Simulated Historical Forecast •
n ⽇先の予測に対して m 個の誤差 (⿊点) • 平均誤差を局所多項式回帰で求める (⻘線) 55
56.
SHF の実⾏ • Prophet
には SHF は実装されていない • ただし、実装は難しくない • 今回は⾃分で実装 • ペイトン・マニングデータのデフォルト 予測とイベントを考慮した予測を⽐較 56
57.
• デフォルト設定(⾚線)よりもイベントを考慮した ⽅(⻘線)が予測精度が良い • 250⽇以降は予測精度が急激に悪くなる 57
58.
4. まとめ • 統⼀的な精度評価⼿法を説明 •
分散型予測の品質を保つため • 平均絶対パーセント誤差 (MAPE) • Simulated Historical Forecast を提案 58
59.
⽬次 1. モチベーション 2. デフォルト設定で使ってみる 3.
業務知識を⼊れてみる 4. 統⼀的な評価で品質保証 5. まとめ 59
60.
まとめ • Prophet は時系列予測ツール •
次の特徴を持つ – デフォルト設定でいい感じの予測を作成 – ドメイン知識によって精度改善 – SHF によって統⼀的な精度評価 • 分散型予測で利⽤可能 60
61.
Prophet の使い⽅ ① ⼤量のビジネス時系列に対してデフォル ト設定で予測を作成 ②
SHF による評価で順位を付け、悪い⽅か ら順番にドメイン知識で精度改善 ③ それでも悪ければ専⾨家が予測を⾏う ⇨ 限りあるリソースの有効活⽤ 61
62.
参考⽂献 • Sean J.
Taylor and Benjamin Letham, “Forecasting at Scale”, 2017 62