自動予測のためのProphet
Facebook Prophet、トレンドの変化点、休日効果、不確実性区間、交差検証について学習します。
「自動予測のためのProphet」はCoddyKit上の無料Learn AI with Pythonレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLearn AI with Python学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Learn AI with Pythonコースには全4レッスンが含まれています。
Prophetとは
ProphetはMetaが開発したオープンソースの予測ライブラリです。トレンド、季節性、休日の影響を自動的に適合し、欠損データや外れ値も適切に処理できます。ARIMAよりも調整がはるかに少なくて済むため、ビジネス予測に適しています。
インストールとインポート
インストール後、Prophetは1回インポートするだけで使用できます。
# pip install prophet
from prophet import Prophet
import pandas as pd必要なDataFrame形式
Prophetでは、ds(日付時刻)とy(予測対象の値)という正確に2つの列が必要です。列名をこれらの名前に変更することは必須です。
df = df.rename(columns={"date": "ds", "sales": "y"})
df["ds"] = pd.to_datetime(df["ds"])
print(df.head())モデルの作成
Prophetのインスタンスを作成し、必要に応じて季節性とトレンドの組み合わせ方を選択します。季節変動が水準の上昇に合わせて大きくなる時系列には、multiplicativeが適しています。
m = Prophet(seasonality_mode="multiplicative")加法季節性と乗法季節性
デフォルトはadditive(季節変動の振幅が一定)です。売上のように、取引量の多い年ほど変動が大きくなる場合はmultiplicativeを使用します。
モデルの適合
準備したDataFrameに対してfitを呼び出します。Prophetはトレンドの変化点と季節成分を自動的に推定します。
m.fit(df)将来のDataFrameの作成
make_future_dataframeは日付インデックスを将来に向けて拡張し、Prophetが予測対象の日付を認識できるようにします。
future = m.make_future_dataframe(periods=90, freq="D")
print(future.tail())予測の生成
predictは、yhat(予測値)に加えて、yhat_lowerとyhat_upper(不確実性の下限と上限)を含むDataFrameを返します。
forecast = m.predict(future)
forecast[["ds", "yhat", "yhat_lower", "yhat_upper"]].tail()予測のプロット
Prophetには組み込みのプロット機能があります。不確実性を含む予測のプロットと、トレンドおよび各季節性を分けて表示する成分プロットを利用できます。
fig1 = m.plot(forecast)
fig2 = m.plot_components(forecast)休日と回帰変数の追加
国ごとの休日や独自のイベントを登録できます。また、add_regressorで追加の説明変数を加えることもでき、ビジネスデータの精度向上につながることがあります。
m.add_country_holidays(country_name="US")
m.add_regressor("promo_flag")交差検証
Prophetでは、起点を順に移動するcross_validationで検証し、その後performance_metricsで各予測期間におけるRMSE、MAE、MAPEを報告します。
from prophet.diagnostics import cross_validation, performance_metrics
cv = cross_validation(m, initial="365 days",
period="90 days", horizon="90 days")
performance_metrics(cv).head()確認テスト
Prophetに関する知識をテストします。
まとめ
Prophetを使い、列名をdsとyに変更し、Prophet(seasonality_mode="multiplicative")を作成して、fit、make_future_dataframeによる将来フレームの作成、predict、プロット、cross_validationによる検証を行いました。次はLSTMによる予測です。
よくある質問
「自動予測のためのProphet」レッスンは無料ですか?
はい。「自動予測のためのProphet」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Learn AI with Pythonコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Learn AI with Pythonコースには全4レッスンが含まれています。
「自動予測のためのProphet」で何を学びますか?
Facebook Prophet、トレンドの変化点、休日効果、不確実性区間、交差検証について学習します。 ブラウザで直接実行するハンズオンコードでLearn AI with Pythonを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Learn AI with Pythonを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのLearn AI with Pythonは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「自動予測のためのProphet」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このLearn AI with Pythonレッスンでコードを書いて実行できますか?
はい。すべてのLearn AI with Pythonレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 時系列の構成要素と定常性
- ARIMAとSARIMAモデル
- 自動予測のためのProphet
- 時系列予測のためのLSTM