2019の20日目の記事です。devblog.thebase.inDataStrategyの岡が担当します。何?ProphetはFacebook社製の時系列予測ライブラリです。RとPythonから利用でき下記gitで公開されています。ググってもさらっとした解説の日本語ドキュメントしかない印象です。Prophetの元となる論文は下記にて公開されています。https://peerj.com/preprints/3190.pdf冒頭だけ読むと、時系列分析の知見のない人でもドメイン知識を組み込みながら予測ができるようなツールを目指して開発されたようです。Scale」となっていて「Scale」というのはここでは「誰でも使える、スケールしやすい予測ツール」みたいな意味で使われています。論文に書かれているProphetのモデル式をしっかり理解できるように丁寧になぞっていこう、というのがこの記事の趣旨です。複数の要素から成り立っていて、これらの要素に分解することで理論値の予測ができる、という考え方があります。Prophetでは、時系列は下記のような構成要素をもつと捉えています。時系列はこれらの要素の和と捉え下記のようなモデル式を組み立てています。このモデル式を理解するため、誤差項以外の3要素を一つずつ見ていきます。ロジスティック非線形トレンド線形トレンドの2種類があります。1のほうから読み解いてみます。ロジスティック非線形トレンドごく単純化すると下記のように表されます。これはロジスティック曲線をベースに作られているそうなので比べてみます。中身がシンプルになっています。どのようになるか図示してみます。下限と上限が決まっています。この基本となる式(2)に一つずつの3要素を継ぎ足してトレンド関数の形に近づけていきます。いう流れを持つ現象はロジスティック曲線で説明されることがあります。つけることでこの上限を設定しています。3,...と変化させると先ほどの曲線は下図のように変化します。値に等しくなり、これで上限を設定できるようになりました。1,...と変化させると曲線は下図のように変化します。大きいほど曲線が急になり、小さいほど緩やかになるのが見て取れます。「傾き」のようなものだと解釈できます。