時系列データの実装の詳細
これらの実装の詳細は、 AutoAI 時系列実験に固有のステージと処理について説明しています。
実装の詳細
時系列エクスペリメントについては、これらの実装と構成の詳細を参照してください。
- 実験を処理するための時系列の段階。
- パイプラインをチューニングするための 時系列最適化メトリック 。
- パイプラインを作成するための 時系列アルゴリズム 。
- サポートされる日時形式。
時系列の段階
AutoAI での時系列実験では、実験の実行時に以下の段階が含まれます:
ステージ 1: 初期化
初期化段階では、トレーニングデータを以下の順序で処理します:
- データを読み込む
- データセット L を、学習データ T と検証用データ H に分割する
- 検証、タイム・スタンプ列の処理、および遡及ウィンドウの生成を設定します。 注:
- 訓練データ( T )は、データセット( L )から保留データ( H )を引いたものに等しい。 実験を設定する際、保留データのサイズを調整することができます。 デフォルトでは、ホールドアウト・データのサイズは 20 ステップです。
- オプションで、タイム・スタンプ列を指定できます。
- デフォルトでは、信号処理方式を使用して季節期間を検出することにより、遡及ウィンドウが自動的に生成されます。 ただし、適切なルックバック期間の目安がある場合は、その値を直接指定することもできます。
ステージ 2: パイプラインの選択
パイプライン選択ステップでは、 T-Daub (上限を使用した時系列データ割り振り) と呼ばれる効率的な方法を使用します。 このメソッドは、より多くのトレーニング・データを最も有望なパイプラインに割り振り、より少ないトレーニング・データを約束のないパイプラインに割り振ることによって、パイプラインを選択します。 このようにすると、すべてのパイプラインが完全なデータ・セットを表示するわけではなく、通常は選択プロセスが高速になります。 以下のステップでは、プロセスの概要について説明します。
- すべてのパイプラインには、トレーニング・データのいくつかの小さなサブセットが順次割り振られます。 最新のデータが最初に割り振られます。
- 各パイプラインは、トレーニング・データの割り振り済みサブセットごとにトレーニングされ、テスト・データ (ホールドアウト・データ) を使用して評価されます。
- 線形回帰モデルは、前のステップで説明したデータ・セットを使用して、各パイプラインに適用されます。
- パイプラインの正確度スコアは、トレーニング・データ・セット全体に予測されます。 この方法では、各パイプラインに割り振られたデータの正確さとサイズがデータ・セットに含まれます。
- 最適なパイプラインは、予測される精度と割り当てられたランク 1 に従って選択されます。
- より多くのデータが最良のパイプラインに割り振られます。 その後、他のパイプラインの予測される正確度が更新されます。
- 前の 2 つのステップは、上位 N 個のパイプラインがすべてのデータでトレーニングされるまで繰り返されます。
ステージ 3: モデル評価
このステップでは、ウィニング・パイプライン N がトレーニング・データ・セット T全体でリトレーニングされます。 さらに、ホールドアウト・データ Hを使用して評価されます。
ステージ 4: 最終パイプライン生成
このステップでは、選定されたパイプラインを全データセット( L )を用いて再学習し、最終的なパイプラインとして生成します。
各パイプラインのリトレーニングが完了すると、パイプラインがリーダーボードに通知されます。 パイプラインの詳細を検査するか、パイプラインをモデルとして保存するかを選択できます。
ステージ 5: バックテスト
最終ステップでは、バックテスト方式を使用して、勝利したパイプラインがリトレーニングされ、評価されます。 以下のステップでは、バックテスト方式について説明します。
- トレーニングデータの長さは、バックテストの数、ギャップの長さ、およびホールドアウトのサイズに基づいて決定されます。 これらのパラメーターについて詳しくは、 時系列エクスペリメントの作成を参照してください。
- 最も古いデータから始めて、テストはトレーニング・データを使用してトレーニングされます。
- さらに、テストは最初の検証データ・セットで評価されます。 ギャップの長さがゼロ以外の場合、ギャップ内のデータはスキップオーバーされます。
- 新しいトレーニング・セットを形成するために、ホールドアウトのサイズとギャップの長さを増やすことにより、トレーニング・データ・ウィンドウを進めます。
- 新しいエクスペリメントは、この新しいデータを使用してトレーニングされ、次の検証データ・セットを使用して評価されます。
- 前の 2 つのステップは、残りのバックテスト期間についても繰り返されます。
時系列最適化指標
デフォルトの指標を受け入れるか、実験で最適化したい指標を選択してください。
| メトリック | 説明 |
|---|---|
| 対称平均絶対誤差率(SMAPE) | 適合ポイントごとに、実際の値と予測値の絶対差を、実際の絶対値と予測値の合計の半分で除算します。 次に、適合したすべてのポイントにわたって、そのようなすべての値の平均が計算されます。 |
| 平均絶対誤差(MAE) | 実測値と予測値の絶対差の平均。 |
| 二乗平均平方根誤差(RMSE) | 実測値と予測値の差の二乗の平均の平方根。 |
| R2 | モデル性能がベースラインモデル、あるいは平均モデルと比較してどの程度であるかを示す指標。 R2 は 1 以下でなければなりません。 負の R2 値は、検討中のモデルが平均モデルより悪いことを意味します。 0 R2 値は、検討中のモデルが平均モデルと同じくらい良好または不良であることを意味します。 正の R2 値は、検討中のモデルが平均モデルより優れていることを意味します。 |
テストのメトリックの確認
時系列エクスペリメントの結果を表示すると、パイプライン・リーダーボードでエクスペリメントのトレーニングに使用されるメトリックの値が表示されます。

評価されるエクスペリメント・データによって、時系列実験の正確度の測定方法が大きく異なる場合があることが分かります。
- 検証は、トレーニング・データに基づいて計算されるスコアです。
- ホールドアウトは、予約されたホールドアウト・データに対して計算されたスコアです。
- バックテストは、すべてのバックテスト・スコアの平均スコアです。
時系列アルゴリズム
これらのアルゴリズムは、時系列実験にご利用いただけます。 デフォルトで選択されているアルゴリズムを使用することも、特定のアルゴリズムを含めるか除外するようにエクスペリメントを構成することもできます。
| アルゴリズム | 説明 |
|---|---|
| ARIMA | 自己回帰積分移動平均 (ARIMA) モデルは標準的な時系列モデルであり、差分を介して非定常データを定常データに変換し、過去の値 (遅延値や遅延予測誤差など) を使用して次の値を予測することができます。 |
| コウモリ | BATS アルゴリズムは、Box- Cox 変換、ARMA 残差、トレンド、季節性因子を組み合わせて将来の値を予測する。 |
| アンサンブラー | Ensemblerは、複数の予測手法を組み合わせることで、単純な予測の精度の限界を克服し、過学習の可能性を回避します。 |
| Holt-Winters | 3 つの指数平滑法を使用して、系列のデータ・ポイントを予測します (その系列が時間の経過とともに反復する (季節性) 場合)。 ホルト・ウィンターズ・モデルには、加法型ホルト・ウィンターズと乗法型ホルト・ウィンターズの2種類があります |
| ランダムフォレスト | ツリー・ベースの回帰モデル。アンサンブル内の各ツリーは、学習セットから置換 (ブートストラップ・サンプルなど) を使用して抽出されたサンプルから作成されます。 |
| サポートベクターマシン(SVM) | SVM は、回帰と分類の両方に使用できる機械学習モデルの一種です。 SVM は、ハイパープレーンを使用してデータを別々のクラスに分割します。 |
| 線形回帰 | AR プロセスに従う残差を使用して、時系列変数と日付/時刻または時刻インデックスとの間の線形関係を作成します。 |
サポートされる日時形式
時系列実験でサポートされる日付/時刻形式は、 dateutilによって提供される定義に基づいています。
対応している日付形式は以下の通りです:
一般的な:
YYYY
YYYY-MM, YYYY/MM, or YYYYMM
YYYY-MM-DD or YYYYMMDD
mm/dd/yyyy
mm-dd-yyyy
JAN YYYY
まれ:
YYYY-Www or YYYYWww - ISO week (day defaults to 0)
YYYY-Www-D or YYYYWwwD - ISO week and day
ISO の週と日の値の数値は、 datetime.date.isocalendar() と同じロジックに従います。
対応している時刻の形式は以下の通りです:
hh
hh:mm or hhmm
hh:mm:ss or hhmmss
hh:mm:ss.ssssss (Up to 6 sub-second digits)
dd-MMM
yyyy/mm
注:
- 深夜は00:00または24:00と表記されることがあります。 小数点はピリオドまたはコンマのいずれかを使用できます。
- 日付は、「1958-01-16」のように、二重引用符付きのストリングとして送信できます。
サポートする機能
サポート・フィーチャー (外因性フィーチャーとも呼ばれる) は、予測ターゲットに影響を与える可能性がある入力フィーチャーです。 サポート・フィーチャーを使用してデータ・セットから追加の列を組み込むことで、予測を向上させ、モデルの正確度を向上させることができます。 例えば、時系列の実験で時間の経過とともに価格を予測する場合、サポート・フィーチャーとして、販売とプロモーションに関するデータが考えられます。 また、エネルギー消費量を予測するモデルでは、毎日の気温を含むため、予測の精度が向上します。
サポート・フィーチャーを使用するアルゴリズムおよびパイプライン
サポート機能を許可するのは、アルゴリズムのサブセットのみです。 例えば、Holt-winters と BATS は、サポート・フィーチャーの使用をサポートしません。 サポート機能をサポートしないアルゴリズムは、エクスペリメントの実行時にサポート機能の選択を無視します。
アルゴリズムによっては、アルゴリズムの特定のバリエーションに対してサポート機能を使用するものもあれば、サポート機能を使用しないものもあります。 例えば、RandomForestRegressorとExogenousRandomForestRegressor の2つの異なるパイプラインを生成できます。 ExogenousRandomForestRegressorのバリエーションは、RandomForestRegressorがそうでないのに対して、サポートする特徴のサポートを提供する。
この表では、アルゴリズムが時系列エクスペリメントでサポート・フィーチャーを提供するかどうかについて詳しく説明します。
| アルゴリズム | パイプライン | サポート・フィーチャーのサポートの提供 |
|---|---|---|
| ランダムフォレスト | RandomForestRegressor | いいえ |
| ランダムフォレスト | ExogenousRandomForestRegressor | はい |
| SVM | SVM | いいえ |
| SVM | ExogenousSVM | はい |
| アンサンブラー | LocalizedFlattenEnsembler | はい |
| アンサンブラー | DifferenceFlattenEnsembler | いいえ |
| アンサンブラー | FlattenEnsembler | いいえ |
| アンサンブラー | ExogenousLocalizedFlattenEnsembler | はい |
| アンサンブラー | ExogenousDifferenceFlattenEnsembler | はい |
| アンサンブラー | ExogenousFlattenEnsembler | はい |
| 回帰分析 | MT2RForecaster | いいえ |
| 回帰分析 | ExogenousMT2RForecaster | はい |
| ホルト・ウィンターズ | HoltWinterAdditive | いいえ |
| ホルト・ウィンターズ | HoltWinterMultiplicative | いいえ |
| コウモリ | コウモリ | いいえ |
| ARIMA | ARIMA | いいえ |
| ARIMA | ARIMAX | はい |
| ARIMA | ARIMAX_RSAR | はい |
| ARIMA | ARIMAX_PALR | はい |
| ARIMA | ARIMAX_RAR | はい |
| ARIMA | ARIMAX_DMLR | はい |