Prophetは、比較的新しい方法として、時系列分析の本で紹介されることが増えています。
「時系列分析」というタイトルの本で紹介される手法は、 自己相関分析 の系統が一般的です。 自己相関分析の系統では、時系列データの時刻の情報は使わずに、データの並び方を分析対象にします。
Prophetは、時系列分析の本で紹介される方法ですが、時刻の情報を使います。 そのため、従来紹介されて来た方法とは、まったく違う感じになり、異彩を放っています。
一方、このサイトで 状態解析 としている系統は、時系列データの時刻の情報を使います。 状態解析では、時系列データを 多変量解析 や 機械学習 で使うようなデータセットと考えて使います。
Prophetは、状態解析の一種です。 多変量解析や機械学習では、普通、時刻を変数として使わないです、 このため、多変量解析や機械学習としては、一般的ではない方法です。
自己相関分析の系統は、データの局所的な変化を式にしています。 局所的な式は、運転手が、その時の状態に応じて、運転していくことに似ています。 3時間後の位置は、途中のすべての位置を計算しないとわからないです。
一方、状態解析は、データ全体を表す式を作ります。 全体を表す式は、「3時間後」という数字を入力すれば、3時間後の位置がわかります。
どちらかというと、データ全体を表す式の方がわかりやすいです。 そのため、Prophetは状態解析の系統なので、わかりやすい理論になっています。
時系列データを、直線で近似できるのは特殊な場合だけです。 そのため、一般的な回帰分析(線形回帰分析)は、時系列分析の本で、ほとんど登場しません。
Prophetは、非線形にすることで、汎用的な時系列分析にしています。
季節項、トレンド項、イベント項の、3つの部分に分け、それらを重ね合わせることで、複雑な変化を扱える非線形回帰分析として作られています。
Prophetは、季節性を三角関数で扱います。 まず、これで、直線で近似できないことのひとつをクリアします。
周期性だけを扱える分析として、 スペクトル解析 が昔からありますが、これを部品として含んでいます。
イメージとしては、折れ線グラフのようにして近似します。
具体的には、区間を区切った線形近似で扱います。 全体を一本の直線で近似するのは特殊ですが、区間ごとにすると、汎用的になります。
このアイディアは、 モデル木 と似ています。
例えば、平日と土日祝日で、売り上げが大きく変わるデータがあるとします。 もしも、祝日がなければ、平日と土日だけなら周期的なデータになります。
Prophetは、祝日だけを特別扱いできるようにしています。
具体的な方法は、簡単で、0と1しかない変数をひとつ加えるだけです。 特別扱いしたいサンプルは1、それ以外を0とすることで、扱えるようになります。
Prophetは、季節性(周期性)を三角関数で扱います。 この方法は、正確に繰り返すようなものには良いのですが、繰り返しの特徴が、だんだん変わって来るようなものには向かないです。
トレンドがあっても、頻繁にトレンドが変わらないのであれば、 三重指数平滑法 が代案になります。 三重指数平滑法の場合は、繰り返しの特徴がだんだん変わる場合が扱え、トレンドも扱えます。
トレンド項はそれほど重要でなければ、 MAレスSARIMAXモデル が代案になります。 SARIMAXモデルは、繰り返しの特徴がだんだん変わる場合が扱え、イベント項も扱えます。
季節性、トレンド、イベントの3つを扱える代案としては、 SARIMAXTモデル があります。
「Forecasting: principles and practice, 3rd edition 予測: 原理と実践 (第3版)」 Hyndman, R.J., & Athanasopoulos, G. 著 OTexts 2021
https://otexts.com/fppjp/ets-forecasting.html
Prophetが簡単に説明されています。
順路
次は
SARIMAXTモデル
