Exploratoryが時系列予測に使用しているProphetアルゴリズムについて、よく聞かれる質問とその答えをこちらにまとめました。

Prophetは何を根拠に予測を行っているのですか?

Prophetは予測を行うために、以下の特徴を過去のデータから抽出します。

過去のデータから抽出されたこれらの値を未来に延長し、それを足し上げたものがProphetによる予測値となります。

参考リンク:

チェンジポイントとはなんですか?

Prophetが計算する、過去の時系列のトレンドは、直線をつなげた折れ線で表されますが、この折れ線の折れている点がチェンジポイントです。

Prophetは、入力時系列データの始めの80%の部分に、均等に25個の点を置き、これらの点においてどの程度トレンドの直線を折るのが過去のデータを表現するのに最適なのかを計算します。

多くの場合、これらの点の内の一部だけで直線を折るのが最適という結果になり、その場合、これらの点において過去にトレンドの変化があったと解釈することができます。

チェンジポイントと、各チェンジポイントでのトレンドの折れ線の傾きの変化量は、トレンドビューで、緑色のバーとして表されます。

参考リンク:

入力する時系列データは、定常的(stationary)である必要はありますか?

ARMAやARIMAといった時系列予測アルゴリズムでは、入力データの定常性(stationarity)はモデルの持つ仮定に関わる重要な条件ですが、prophetでの予測においてはあまり関係がありません。

むしろ、prophetはトレンドや季節性といった、データの非定常性を検出して予測に利用しています。定常的なデータには、トレンドも季節性もありませんので、定常的なデータをprophetに与えても、常に一定値を返す予測となるだけであり、これはprophetが力を発揮するようなデータではないとも言えます。

参考リンク:

欠損のある時系列データで予測を行うことはできますか?

はい、できます。欠損のある時系列データを扱えることは、他の多くの時系列予測アルゴリズムとの比較において、Prophetの特徴的な強みの一つです。

Exploratoryはprophetをどのように呼び出しているのですか?そのコードは公開されていますか?

Exploratoryがprophetを呼び出している部分のRのコードは、こちらのgithubレポジトリで公開されています。