Python でのタイミング解析ツールキットの推奨事項 (2)

ガイド

前のツイートでは、Python でのタイミング解析ツールキットの推奨事項 (1)で、タイミング機能エンジニアリング、sklearn ベースのタイミング モデリング、およびより高度なタイミング モデリング ツールに焦点を当てた、タイミング解析用の 3 つのツールキットを紹介しました。今日、この記事では、タイミング解析に役立つ 4 つのツールキット (Prophet、Merlion、Darts、および GluonTS) を紹介します。

前回のツイートのスタイルを引き継いで、この記事では主に 4 つのタイミング ツールキットについて、機能の位置付け、主な機能、ツールキットの長所と短所を含めて簡単に紹介し、詳細な参考資料として関連する論文、ドキュメント、および github アドレスをリストします。

01 預言者

dbd530115da0216d182ba10a848cdd02.png

Prophetは、英語の原義には「予言者」「預言者」という意味があり、時系列に置くと当然時系列予測に使われます。これは、Facebook によって 2017 年に設計された時系列分析ツールです。主に時系列予測に位置付けられています。時系列予測のためのいくつかの主流のモデリング手法に従って区別される場合、Prophet は統計モデルのジャンルに属するはずです。Prophet の最新バージョンはバージョン 1.0 で、その前のバージョンは 0.7 で、1.0 から開始されたばかりです。ツールキットの名前は prophet に変更され、以前のツールキットは fbprophet と呼ばれていましたが、メインのタイミング予測モデルは Prophet と呼ばれています。Prophet ツールキットのパフォーマンスは依然として非常に強力です。最も重要なことは、自動化の程度が非常に高いことです。完全なデフォルト パラメータでも良好な結果が得られるため、他の多くのタイミング ツールキットにそれが統合されています。

6511784cef806baaf18151a8e0b9bb5d.png

ただし、主に pystan に依存するインストールの問題により、Prophet ツールキットのインストールは少し面倒です。練習後、conda ソースを使用して直接 conda install prophet を実行すると、スムーズにインストールを完了でき、エクスペリエンスは良好です。

Prophet の時系列予測を実現するための基本的な考え方は、時系列をコンポーネントごとに傾向と季節性に分解することです。ここでの季節性には、年、月、週、その他の日付属性の季節性だけでなく、より一般的な要素も含まれます。周期性)、誤差項(Error)、休日などの特別な日の影響(Holiday)を考慮します。他の古典的な統計的時系列予測モデルと比較して、Prophet はコンポーネントをより詳細に分類するだけでなく、トレンドの変化点 (Trend Changepoint) を考慮し、祝日 (中国のお祭り期間中など) の二重休日の影響もサポートします。 、国慶節と中秋節が重なっています)、祝日がタイミングに及ぼす影響をさらに考慮するためです。

Prophet が時系列予測を実行するとき、入力データ型としてデータフレームを使用します。データフレームには 2 つのフィールド ds と y が含まれる必要があります。ここで、ds は時間列を表し、y は時系列変数を表します。その後、次のように楽しむことができます。 Fit インターフェイスと予測インターフェイスを直接呼び出します。同時に、Prophet は予測結果を簡単に視覚的に比較することもできます。下図の黒い散布点は実際の値で、青い領域は予測の信頼範囲です。

51760e480ae6a27ed4ba740fa918e87c.png

Prophet に関する関連参考情報は次のとおりです。

论文:https://peerj.com/preprints/3190.pdf
文档:https://facebook.github.io/prophet/docs
GitHub:https://github.com/facebook/prophet (13.9K star)

02 マーライオン

b7c007ca419a18f316c41da5686c4181.png

Merlionは、米国セールスフォース社が新たに提供を開始したタイミング解析ツールで、タイミング予測(Forecasting)と異常検知(Anomaly Detection)を主な位置付けとしています。

個人的に、Salesforce についての私の理解は、AutoML ツール transmogify を使用することから来ています。これも、salesforce によって開始された Spark.ml に基づく自動機械学習フレームワークです。

Merlion は、今回比較したいくつかのタイミング解析ツールの中で比較的後発のツールであるため、ある程度の後発優位性があります。時系列予測と異常検出に関する限り、Merlion は単変量時系列分析と多変量時系列分析の両方をサポートし、モデル融合 (Ensemble) と AutoML 機能 (モデル選択と自動チューニングを備えたモデルとして理解できます) もサポートしています。参照関数の級数モデリング)。次の図は、Merlion の github と他のいくつかのタイミング解析ツールの機能範囲の比較です。

91958d8457b35a33c5592f556b720f33.png

時系列予測タスクに特化して、Merlion は一般に統計モデルと機械学習モデルをサポートしています。その中で、統計モデルには ARIMA、ETS、その他の一般的なモデルが含まれ、Prophet も統合されています。一方、機械学習モデルは主にデシジョン ツリー ベースの統合モデルです。 RFやGBなど。同時に、前述したように、Merlion には AutoML 機能が組み込まれており、モデルの選択とパラメーターの調整を実現し、複数のモデルの予測結果を簡単に統合することもできます。それはすべてのデータを取得します。状況を設定します。Prophet と同様に、Merlion も実際の値、予測結果、信頼区間の間の比較曲線の自動描画をサポートしています。これは、下の図に示すように、Prophet よりも直感的です。

b23305fcb704ecc793e43052496fa2f3.png

Merlion は個人的に初期によく使っていたツールなので、オフラインインストール(github からソースコードをダウンロードして、そのフォルダを pip install する)を推奨します。Prophet とは異なり、Merlion は単変量と多変量の両方をサポートしているため、カスタム入力データ形式である TimeSeries タイプが組み込まれていますが、データフレームからの読み込みと変換にも非常に便利です。

マーライオンに関する関連参考情報は次のとおりです。

论文:https://arxiv.org/abs/2109.09265
文档:https://opensource.salesforce.com/Merlion/v1.1.0/index.html
GitHub:https://github.com/salesforce/Merlion (2.3k star)

03 ダーツ

aa7c424105b6bc518f2a3adac44922e2.png

Darts ツールキットは強力なタイミング解析ツールでもあり、多くのモデルとタスク シナリオをサポートし、同じく組み込み統合モデルの 1 つである Prophet を含む、高度に統合された呼び出しメソッドを提供します。次の図は、Darts の Github にあるモジュール関数配列であり、サポートされているモデルと使用されているタイミング予測シナリオを確認できます。

6729cf23e1c365829d78d9af552864e1.png

Darts に対する私の第一印象は、どちらもモデルの標準入力として TimeSeries データ型をカスタマイズしていることを含め、マーライオンに非常に近いということです。ただし、この 2 つの主な違いも明らかであり、次のように要約できます。

  • Merlion がサポートするタイミング分析タスクにはタイミング予測と異常検出が含まれますが、Darts はタイミング予測の問題のみに焦点を当てています。

  • Merlion がサポートするモデルは主に統計モデルと従来の機械学習モデルですが、Darts がサポートするモデルはさらに豊富で、最大の特徴は Transformer、TCN などの新しい時系列モデリング手法を含む深層学習モデルです。

さらに、Darts ツールキットは、パイプラインや自動パラメーター調整などの機能もサポートしており、比較的完全なエンジニアリング サポートを備えたツールキットとみなすことができます。ただし、それを使用しようとしたときの個人的な経験はあまり良くありません7271a33e811cf912d4b1118324f64e15.png

Darts に関する関連参考情報は次のとおりです。

论文:https://arxiv.org/abs/2110.03224
文档:https://unit8co.github.io/darts
GitHub:https://github.com/unit8co/darts (3.3k star)

04 グルーオンTS

18897495ec011b649143dbc7e3490d2b.png

AutoML テクノロジーを理解している読者は、Amazon が AutoGluon と呼ばれる AutoML フレームワークをリリースしていることを知っているはずです。私はそのとき初めて gluon について知り、これが Amazon によって開始されたディープ ラーニング フレームワークであることを知りました (ただし、詳しく説明されていませんでした)。 GluonTS は、Gluon エコシステムにおけるタイミング モデリングのためのツールキットであり、より正確には深層学習に基づく確率的タイミング モデル ツールです。タイミング分析タスクに関しては、すべてタイミング予測をサポートしています。異常検出タスク。

率直に言って、私個人としては、GluonTS は公式論文を読むレベルにとどまっており、実際のツールを調べて使用したことがないため、そのパフォーマンスの説明は見たり聞いたりするだけで、実践に欠けています。 , なのでここではやりません さらに紹介。

GluonTS に関する関連参考情報は次のとおりです。

论文:https://arxiv.org/abs/1906.05264v1
文档:https://ts.gluon.ai/
GitHub:https://github.com/awslabs/gluon-ts/(2.4k star)

05 まとめ

全体として、4 つのタイミング ツールキットにはそれぞれ独自の特徴と機能があります。

  • Prophet の関数は比較的単一であり、単変量時系列予測モデルにのみ適しており、このモデルのみをサポートしています。しかし同時に、このモデルは非常に専門的で成熟したものでもあり、GitHub 上のスターの数は 13,000 にも上り、他の多くのタイミング解析ツールキットに必要な統合モデルの 1 つとなっています。

  • Merlion は、時系列予測および異常検出シナリオに位置付けられています。単変量時系列と多変量時系列の両方をサポートしています。モデルは主に統計モデルと機械学習モデルです。ハイライトの 1 つは、時系列モデリングをサポートする Auto 機能と、時系列モデリングをサポートする Ensemble 機能です。複数のモデル。

  • Darts は時系列分析ツールの名手でもあります. 主に時系列予測タスクを指向していますが, モデルの豊富さにおいてより優れています. ハイライトは, Transformer, TCN などを含む多くの深層学習モデルをサポートしていることです.シーケンスモデルの新星。

  • GluonTSは、Amazon Gluonエコシステムの時系列モデリングツールであり、ディープラーニングモデルを中心とした時系列解析ツールであり、時系列予測や異常検知などを対象としていますが、モデル的にはMerlionやDartsに若干劣ります。柔軟性。

以前のツイートで紹介した tsfresh、tslearn、sktime の 3つのツールと、この記事で紹介した Prophet、Merlion、Darts、GluonTS の 4 つのツールを考慮すると、主流の時系列データ分析タスクには基本的に十分です同時に、これに基づいて、これらのツールをより適切に使用および制御できるように、関連する理論的基盤を改善することがより重要であり、本物のアルゴリズムエンジニアになることは無駄ではありません。

947de0029f8996a7dbedd0254ce82b6f.png

関連書籍:

おすすめ

転載: blog.csdn.net/weixin_43841688/article/details/122295505