LoginSignup
12
15

More than 1 year has passed since last update.

最先端時系列データ分析モデルETSformerを使ってみた

Posted at

概要

本記事は、Salesforceが2022年に発表した最先端の時系列データ分析モデルであるETSformerの紹介です。多くの時系列タスクでSOTAを達成したと論文には書かれています。まだQiitaやKaggleにはETSformerについての記載が無いので記事を書いてみようと思いました。
また、Streamlitを用いてウェブアプリ化し、ETSformerを手軽に体験できるようにしました!

ETSformerとは

ETSformerの論文についてChatGPT先生に聞いてみました。ChatGPT先生は論文の解説も端的でわかりやすいですね!
※ただし、たまに間違ったことを言うこともあるので注意が必要です。


You:「ETSformer: Exponential Smoothing Transformers for Time-Series Forecasting」という論文について解説してください。

ChatGPT:「ETSformer: Exponential Smoothing Transformers for Time-Series Forecasting」という論文では、時系列データ分析において、Transformers アーキテクチャを採用したモデルを提案しています。
このモデルは、時系列データを処理するために、Exponential Smoothing (指数平滑) という手法を組み合わせています。指数平滑は、過去のデータを加重平均して、未来のデータを予測する手法です。このモデルでは、指数平滑を行う部分を、Transformers のエンコーダー部分に対応させています。
また、このモデルでは、指数平滑では表現できないような複雑な時系列パターンも処理できるように、複数の Transformes ブロックを組み合わせることで、より複雑な時系列データを処理することができるようになっています。
このモデルは、様々な時系列データセットを用いて評価されており、他のモデルよりも優れた精度を発揮することが示されています。


手軽にETSformerを体験できるウェブアプリをつくりました!

Streamlitを用いてウェブアプリ化し、ETSformerを体験できるようにしました。
こちらからアプリを体験できます。
ETSformerは、Exponential Smoothing (指数平滑)とTransformerの合せ技です。パラメータチューニングが少し大変かもしれません。今回は論文のパラメータをそのまま用いています。

アプリのスクショ
アプリのスクショ.png

Kaggleで使うには?

実際に使う際は、ETSformer-pytorchを使用するのが簡単です。ただし、Pythonのバージョンが3.8以上である必要があるので、Kaggleのノートブック環境ではPythonのバージョンが足りずインストールできないです。GCPを使うか、ローカルで動かす必要があります。
※2022年12月現在KaggleのPythonのバージョンは3.7.12でダウングレードもアップグレードもできないです。

まとめ

この記事では、最先端の時系列データ分析モデルであるETSformerの紹介を行いました。また、それを体感できるウェブアプリを実装しました。
画像認識や自然言語処理ではディープラーニングがデファクトスタンダードですが、時系列タスクにおいては勾配ブースティング系のLightGBMなどがKaggleにおいては猛威を振るっています。近い将来に時系列タスクにおいても、ディープラーニングがデファクトスタンダードになるのか楽しみにしています。

ソースコード

ソースコードはGitHubで公開しています。参考になれば嬉しいです。
https://github.com/Isaka-code/ETSFormer-practice

参考文献

この記事は以下の情報を参考にして執筆しました。

@misc{woo2022etsformer,
    title   = {ETSformer: Exponential Smoothing Transformers for Time-series Forecasting}, 
    author  = {Gerald Woo and Chenghao Liu and Doyen Sahoo and Akshat Kumar and Steven Hoi},
    year    = {2022},
    eprint  = {2202.01381},
    archivePrefix = {arXiv},
    primaryClass = {cs.LG}
}
12
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
15