Prophet 1.0 : 乗法的季節性 (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 07/10/2021 (1.0)
* 本ページは、Prophet の以下のドキュメントを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
スケジュールは弊社 公式 Web サイト でご確認頂けます。
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
- ウェビナー運用には弊社製品「ClassCat® Webinar」を利用しています。
人工知能研究開発支援 | 人工知能研修サービス | テレワーク & オンライン授業を支援 |
PoC(概念実証)を失敗させないための支援 (本支援はセミナーに参加しアンケートに回答した方を対象としています。) |
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション |
E-Mail:sales-info@classcat.com ; WebSite: https://www.classcat.com/ ; Facebook |
Prophet 1.0 : 乗法的季節性
デフォルトでは Prophet は加法的季節性を適合させます、これは予測を得るために季節性の効果はトレンドに追加されることを意味します。航空旅客数のこの時系列は加法的季節性が機能しない時の例です :
df = pd.read_csv('../examples/example_air_passengers.csv')
m = Prophet()
m.fit(df)
future = m.make_future_dataframe(50, freq='MS')
forecast = m.predict(future)
fig = m.plot(forecast)
この時系列は明瞭な yearly サイクルを持ちますが、予測の季節性は時系列の最初は大きすぎて最後は小さすぎます。この時系列では、季節性は Prophet により想定される定数の加法的要因ではなく、むしろトレンドとともに成長します。これは乗法的季節性です。
Prophet は入力引数で seasonality_mode=’multiplicative’ を設定することにより乗法的季節性をモデル化することができます :
m = Prophet(seasonality_mode='multiplicative')
m.fit(df)
forecast = m.predict(future)
fig = m.plot(forecast)
今では成分の図は季節性をトレンドのパーセントとして表示します :
fig = m.plot_components(forecast)
seasonality_mode=’multiplicative’ によって、休日効果もまた乗法的にモデル化されます。任意の追加された季節性や追加のリグレッサーはデフォルトで seasonality_mode が設定されているものを使用しますが、季節性やリグレッサーを追加するとき引数として mode=’additive’ or mode=’multiplicative’ を指定することにより override できます。
例えば、このブロックは組込みの季節性を乗法的に設定しますが、加法的四半期の季節性と加法的リグレッサーを含みます :
m = Prophet(seasonality_mode='multiplicative')
m.add_seasonality('quarterly', period=91.25, fourier_order=8, mode='additive')
m.add_regressor('regressor', mode='additive')
加法的そして乗法的追加のリグレッサーは成分プロットの個別のパネルに表示されます。けれども、加法的と乗法的季節性のミックスを持つことは殆どあり得ないので、これは通常はそれが当てはまることを想定する理由がある場合にだけ使用されます。
以上