0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AutoGluon Time Series Data構造とモデル挙動 備忘録

Posted at

概要

Amazonが開発したChronosを使ってみたかったので、調べてみるとAutoGluonというAutoMLを発見。AutoGluonからChronosを使用することにした。datasetの作り方にひと癖あるので備忘録に残す。

1. データフォーマットとAutoGluonの解釈

AutoGluonにおけるデータ形式と、それがモデルにどう解釈されるか。

A. Wide Format (一般的なテーブルデータ)

横に列が並んでいる形式。AutoGluonに読み込ませる前の生データによくある形。

timestamp Stock_A Stock_B VIX
2025-01-01 100 500 20.5
2025-01-02 102 505 21.0
  • AutoGluonの扱い:
    • このままでは直接扱えない
    • 仮に Stock_A をTargetに指定した場合、Stock_BVIX は自動的に 「説明変数 (Covariates)」 として扱われる(Stock_B の予測は行われない)

B. Long Format (AutoGluonの標準 TimeSeriesDataFrame)

item_id で縦に積み上げた形式をAutoGluonは要求する。
そのため、item_idtimestamp列を追加しておき、TimeSeriesDataFrame.from_data_frameメソッドで変換する。item_idには全予測対象を指定する。

item_id timestamp Close VIX
Stock_A 2025-01-01 100 20.5
Stock_A 2025-01-02 102 21.0
Stock_B 2025-01-01 500 20.5
Stock_B 2025-01-02 505 21.0
  • AutoGluonの扱い:
    • Global Univariate Model: すべての系列 (item_id) のデータを使い、1つの共通モデル(重み) を学習する。

2. "Global Model" の正体

「Global Model」は全系列の相互作用を自動計算するものではない。

  • Local Model (従来の手法):
    • 系列ごとに個別のモデルを作る。(例:A専用の家庭教師、B専用の家庭教師)
    • Aのデータが少ないと学習できない。AとBの共通点を利用できない
  • Global Model (AutoGluonの標準):
    • 全系列を1つのモデルで学習する。(例:全員を教える塾の先生)
    • メリット: 全データの共通パターン(季節性やトレンドの法則)を学習できる (Transfer Learning)
    • 注意点: デフォルトでは 「Aの予測にBの値を使う」ことはしない。あくまで「Aのデータだけを見て、みんなから学んだ法則を使って予測する」
    • Chronos (Foundation Model): Amazon等の膨大な外部データで事前学習された「時系列版LLM」

3. "Multivariate" (多変量) の定義と実装

統計学的な定義と、ライブラリ上の扱いの違い。

  • 統計学的おいらの定義:
    • 入力変数が複数あり、互いの相関関係を利用して予測すること
  • AutoGluonの用語:
    • 入力が複数でも出力が1つなら "Univariate with Covariates" と呼ぶ
    • AutoGluonで「系列間の相互作用(Aが上がればBも上がる)」を利用させたい場合は、明示的なFeature Enginneringが必要

相関を利用するためのデータセット作成法

ただ item_id で積み上げるだけでなく、「相手の値を共変量として各行に結合する」 必要がある。

item_id timestamp Close Other_Close VIX 意味
Stock_A 2025-01-01 100 500 20.5 Aの予測に、Bの値(500)もヒントとして使う
Stock_B 2025-01-01 500 100 20.5 Bの予測に、Aの値(100)もヒントとして使う

4. predict() の挙動と作法

特定の item_id だけを予測したい場合のルール。

  • 予測対象の指定方法:
    • 引数ではなく、「渡すデータ (data)」 で指定する
    • predict(data)Stock_A の行だけが含まれていれば、出力も Stock_A の予測値だけが返ってくる
  • 必須条件:
    • 学習時に存在した 列 (Columns) は、予測用データにもすべて存在しなければならない
    • 例: Close_B を共変量として学習させたなら、Stock_A 単体の予測時でも Close_B 列(過去の実績値)を含んだ状態で渡す必要がある

5. 講演動画

Amazonが行ったAutoGluonの講演動画が出ていた。これによると800以上のAWSを含むAmazonの内部プロジェクトですでに運用されているらしい。だからエンジニアの大量解雇などができたのかもしれない。
個人的に気に入っているのは、AutoGluonはハイパラ調整を行わず、アンサンブルの重み調整に重点をおいているところ。ハイパラ調整は時間の無駄だとも述べている。そのためのPre-trainingでもあるし。

NotebookLMの要約

このチュートリアル講演録は、AutoGluon というオープンソースの自動機械学習(AutoML)ツールキットに関するもので、その機能、進化、そして将来展望を、3つの主要部分に分けて説明しています。まず、AutoGluon Tabular の最新版1.0を紹介し、動的スタッキングやTabRepoを用いた新しいポートフォリオ戦略により、AutoMLの最先端技術をどのように大きく飛躍させたかを強調しています。次に、時系列予測のためのKronosという基盤モデルを取り上げ、連続値を離散トークンに変換する手法(スケーリングと量子化)を用いて、LLM(大規模言語モデル)のアーキテクチャをゼロショット予測に応用する革新的なアプローチを解説しています。最後に、AutoGluon Assistantというプロジェクトを通じて、LLMを活用してデータの前処理や特徴量エンジニアリングを含むデータサイエンスパイプライン全体を自動化する、「ゼロコード」AutoMLの未来を探求しています。この講演は、AutoGluonがKaggleコンペティションで目覚ましい成功を収め、AutoMLがよりアクセスしやすく、強力なものになっていることを示しています。

以上

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?