NeuralProphet 0.2 : モデルの概要 (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 07/18/2021 (Beta 0.2.7)
* 本ページは、NeuralProphet の以下のドキュメントを翻訳した上で適宜、補足説明したものです:
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。
スケジュールは弊社 公式 Web サイト でご確認頂けます。
- お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。
- ウェビナー運用には弊社製品「ClassCat® Webinar」を利用しています。
人工知能研究開発支援 | 人工知能研修サービス | テレワーク & オンライン授業を支援 |
PoC(概念実証)を失敗させないための支援 (本支援はセミナーに参加しアンケートに回答した方を対象としています。) |
◆ お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。
株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション |
E-Mail:sales-info@classcat.com ; WebSite: https://www.classcat.com/ ; Facebook |
NeuralProphet 0.2 : モデルの概要
NeuralProphet は実践者のためのユーザフレンドリーな時系列予測ツールのニューラルネットワーク・ベースの PyTorch 実装です。これは Facebook により開発されたポピュラーな予想ツールである、Prophet により大きくインスパイアされています。NeuralProphet は完全にモジュール化アーキテクチャで開発されています、これは将来的に任意の追加コンポーネントを追加することをスケーラブルにします。私達のビジョンは解釈可能性、構成可能性のような Prophet の元の目的を維持して PyTorch をバックエンドに使用して自動微分機能のようなより多くのものを提供しながら、ユーザのための単純に使える予測ツールを開発することです。
時系列コンポーネント
NeuralProphet はコンポーネント、トレンド、季節性、自己回帰、特殊イベント、future リグレッサーと lagged リグレッサーを装備する分解可能な時系列モデルです。future リグレッサーは予測期間の未来値を知った外部変数である一方、lagged リグレッサーは観測期間の値だけを持つ外部変数です。トレンドは変化点を使用して線形または区分的 (= piece-wise) 線形トレンドのいずれかとしてモデル化できます。季節性はフーリエ項を使用してモデル化されますので、高頻度データのために複数の季節性を処理できます。自己回帰は AR-Net、時系列のための Auto-Regressive 順伝播ニューラルネットワークの実装を使用して処理されます。lagged リグレッサーはまた個別の順伝播ニューラルネットワークを使用してモデル化されます。future リグレッサーと特殊イベントは両者とも専用の係数を持つモデルの共変量としてモデル化されます。詳細については、個々のコンポーネントのドキュメントを参照してください。
データ前処理
モデルで幾つかのデータ前処理ステップを遂行します。時系列の観測値について、ユーザは値が正規化されることを望むか指定できます。デフォルトでは、y 値は min-max 正規化されます。ユーザが特に、normalize_y を true に設定する場合、データは z-score 正規化 (標準化) されます。正規化は共変量についても遂行できます。共変量の正規化のデフォルトモードは auto です。このモードでは、イベントのような二値特徴は別にして、他の総ては z-score 正規化されます。
データに欠損値がある場合にはimputation (データの補完) も遂行します。けれども、imputation はモデルで自己回帰が有効である場合にのみ成されます。そうでないなら、回帰モデルについて欠損値は実際には重要ではありません。二値データのためには特別な imputation は成されません。欠損日付についてはそれらは単純に 0 としてみなされます。y 値を含む数値データについては、正規化は 2 ステップのプロセスです。最初に、小さいギャップが線形 imputation で埋められ、それからより大きなギャップがローリング平均で埋められます。自己回帰が有効であるとき、観測された y 値は lagged 値から学習するために移動ウィンドウ形式で前処理されます。これは lagged リグレッサーのためにも行なわれます。
いつ NeuralProphet を使用するか
NeuralProphet は単一ステップとマルチステップの両者の前方予測を生成できます。現時点では、NeuralProphet はモデルを単変量で構築します。これは、(そのために) 予測を生成する想定する多くの系列を持つ場合、一度にこの一つを行なう必要があることを意味します。けれども、将来的にはグローバルな予測モデルの機能を NeuralProphet に統合することを望んでいます。
NeuralProphet は、時間につれてターゲット系列の動作を駆動できる他の外部要因があるようなシナリオのための予測モデルを構築するのに役立ちます。そのような外部情報の使用は系列の自己相関だけに依存するよりも予測モデルを大きく改良できます。NeuralProphet ツールは、予測、個々のコンポーネントとモデルの基礎的な係数を視覚化することによりモデリング・プロセス全体への洞察を得たい予測実践者に適しています。説明的なプロットを通して、ユーザは個々のコンポーネントの相互作用を視覚化できます。それらはまた正則化を通してスパース性を導入することにより必要に応じてこれらの係数を制御するためのパワーも持ちます。ドメイン知識のようにコンポーネントを加法的または乗法的に組み合わせることができます。
これは継続的な努力です。従って、NeuralProphet は今後のリリースで遥かにより多くの機能さえも装備されます。
以上