すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:x13_auto_arima

最終更新日:Dec 25, 2024

x13-auto-arimaコンポーネントは、自己回帰統合移動平均 (ARIMA) モデルの自動選択プログラムを使用します。 このコンポーネントは、TRAMO (1996) で編集されたGomezおよびMaravall (1998) プログラムに基づいています。 このトピックでは、Platform for AI (PAI) が提供するx13_auto_arimaコンポーネントを設定する方法について説明します。

背景情報

次のプロセスに基づいてx13_auto_arimaを選択します。

  • デフォルトモデル推定

    frequency = 1の場合、デフォルトモデルは (0,1,1) である。

    frequency > 1の場合、デフォルトモデルは (0,1,1)(0,1,1) である。

  • 差分順序の識別

    diffseasonalDiffパラメータを指定する場合は、この手順をスキップしてください。

    ユニットルートテストを使用して、差dと季節差Dを決定します。

  • ARMAモデル注文の特定

    ベイズ情報基準 (BIC) に基づいて最も適切なモデルを選択します。 maxOrderおよびmaxSeasonalOrderパラメーターは、この手順で有効になります。

  • 識別されたモデルとデフォルトモデルの比較

    Ljung-Box Q統計を使用してモデルを比較します。 両方のモデルが受け入れられない場合は、(3,d,1)(0,D,1) モデルを使用します。

  • 最終モデルチェック

arimaの詳細については、「wiki」をご参照ください。 アルゴリズム使用法の注意:

  • 支えられたスケール

    • 行: グループ内の最大1,200のデータレコード

    • 列: 1つの数値列

  • リソースの計算方法

    • groupColNamesパラメーターが指定されていない場合のデフォルトの計算方法:

      coreNum=1
      memSizePerCore=4096
    • groupColNamesパラメーターが指定されている場合のデフォルトの計算方法:

      coreNum = floor(Total number of rows/120,000)
      memSizePerCore=4096

制限事項

MaxComputeのコンピューティングリソースのみに基づいて、x13_auto_arimaコンポーネントを使用できます。

コンポーネントの設定

方法1: PAIコンソールでコンポーネントを設定する

Machine Learning Designerのパイプラインページで、x13_auto_arimaコンポーネントのパラメーターを設定できます。 下表に、各パラメーターを説明します。

タブ

パラメーター

説明

フィールド設定

時系列列

必須。 このパラメーターは、値列の値をソートするためにのみ使用されます。

値列

必須。

層化コラム

必要に応じて、 col0、col1など、複数の列をコンマ (,) で区切ることができます。 グループごとに時系列が作成されます。

パラメーター設定

開始日

サポートされている形式はyear.seasonです。 例: 1986.1

シリーズ周波数

値は (0,12) の範囲の正の整数でなければなりません。

最大pとq

値は (0,4) の範囲の正の整数でなければなりません。

最大の季节pとq

値は (0,2) の範囲の数値でなければなりません。

最大差d

値は (0,2) の範囲の正の整数でなければなりません。

最大の季節差d

値は (0,1) の範囲の正の整数でなければなりません。

差d

値は (0,2) の範囲の正の整数でなければなりません。

diffパラメーターとmaxDiffパラメーターの両方が指定されている場合、maxDiffパラメーターは有効になりません。

diffパラメーターは、seasonalDiffパラメーターと一緒に使用する必要があります。

季節差d

値は (0,1) の範囲の正の整数でなければなりません。

seasonalDiffパラメーターとmaxSeasonalDiffパラメーターの両方を指定した場合、maxSeasonalDiffパラメーターは有効になりません。

predictNum

予測の数。 たとえば、先月の1日の売上を使用して新しい週の売上を予測する場合、予測の数は7です。 階層化列が選択された場合、各グループは7つの予測を有する。

値は (0,120) の範囲の正の整数でなければなりません。

予測信頼区間

デフォルト値: 0.95

公差

必要に応じて、 デフォルト値: 1e-5

最大イテレーション

値は正の整数である必要があります。 デフォルト値: 1500

実行チューニング

コア

コアの数。 デフォルトでは、システムが値を決定します。

メモリ

コアあたりのメモリサイズ。 単位:MB。

方法2: PAIコマンドを使用してコンポーネントを構成する

CLIを使用して、コンポーネントパラメーターを設定できます。 SQLスクリプトを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。

PAI -name x13_auto_arima
    -project algo_public
    -DinputTableName=pai_ft_x13_arima_input
    -DseqColName=id
    -DvalueColName=number
    -Dstart=1949.1
    -Dfrequency=12
    -DpredictStep=12
    -DoutputPredictTableName=pai_ft_x13_arima_out_predict2
    -DoutputDetailTableName=pai_ft_x13_arima_out_detail2

パラメーター

必須 / 任意

説明

デフォルト値

inputTableName

対象

入力テーブルの名前。

非該当

inputTablePartitions

非対象

モデルトレーニング用に入力テーブルから選択されたフィーチャ列。

フルテーブル

seqColName

対象

時系列列。 このパラメーターは、値列の値をソートするためにのみ使用されます。

非該当

valueColName

対象

値の列。

非該当

groupColNames

非対象

階層化の列。 col0、col1など、複数の列をコンマ (,) で区切ることができます。 グループごとに時系列が作成されます。

非該当

start

非対象

時系列の開始時刻。 値は、1986.1など、year. seasonical形式の文字列である必要があります。 詳細については、「時系列形式」をご参照ください。

1.1

周波数

非対象

時系列の周波数。 値は (0,12) の範囲の正の整数でなければなりません。 詳細については、「時系列形式」をご参照ください。

12

説明

12の値は12か月 (1年) を示します。

maxOrder

非対象

pとqの最大値。 値は [0,4] の範囲の正の整数でなければなりません。

2

maxSeasonalOrder

非対象

季節のpとqの最大値。 値は [0,2] の範囲の正の整数でなければなりません。

1

maxDiff

非対象

差dの最大値。 値は [0,2] の範囲の正の整数でなければなりません。

2

maxSeasonalDiff

非対象

季節差dの最大値。 値は [0,1] の範囲の正の整数でなければなりません。

1

diff

非対象

差d。 値は [0,2] の範囲の正の整数でなければなりません。

diffパラメーターとmaxDiffパラメーターの両方が指定されている場合、maxDiffパラメーターは有効になりません。

diffパラメーターは、seasonalDiffパラメーターと共に使用する必要があります。

-1

説明

− 1の値は、差dが指定されていないことを示す。

seasonalDiff

非対象

季節の違いd。 値は [0,1] の範囲の正の整数でなければなりません。

seasonalDiffパラメーターとmaxSeasonalDiffパラメーターの両方を指定した場合、maxSeasonalDiffパラメーターは有効になりません。

-1

説明

値 − 1は、季節差dが指定されていないことを示す。

maxiter

非対象

反復の最大数。 値は正の整数である必要があります。

1500

tol

非対象

公差。 値はDOUBLE型です。

1e-5

predictStep

非対象

予測エントリの数。 値は (0,365) の範囲の正の整数でなければなりません。

12

confidenceLevel

非対象

信頼レベル。 値は (0,1) の範囲の数値でなければなりません。

0.95

outputPredictTableName

対象

出力テーブル。

非該当

outputDetailTableName

対象

詳細テーブル。

非該当

outputTablePartition

非対象

データをパーティションにエクスポートするかどうかを指定します。

パーティションにデータをエクスポートしない

coreNum

非対象

コアの数。 値は正の整数である必要があります。 このパラメーターは、memSizePerCoreと共に使用されます。

システムによって決定される

memSizePerCore

非対象

各コアのメモリサイズ。 単位:MB。 値は [1024,64 × 1024] の範囲の正の整数でなければなりません。

システムによって決定される

ライフサイクル

非対象

出力テーブルのライフサイクル。

非該当

時系列形式

startおよびfrequencyパラメーターは、数値列の時間ディメンションts1およびts2を指定します。

  • frequencyパラメータは、単位期間内のデータ周波数を指定し、各ts1におけるts2の周波数を意味する。

  • startパラメーターの値はn1.n2形式です。 これは、n1番目のts1において、開始日がn2番目のts2であることを示す。

時間の単位

ts1

ts2

周波数

start

12ヶ月 /年

1 か月

12

1949.2は1949年の2番目の月を示します。

4四半期 /年

3 か月

4

1949.2は1949年の第2四半期を示します。

7日 /週

1 日

7

1949.2は1949週目の2日目を示します。

1

任意の時間単位

1

1

1949.1は、1949年、または1949日または時間を示します。

例: value=[1,2,3,5,6,7,8,9,10,11,12,13,14,15]

  • start=1949.3、frequency=12は、単位時間が年12ヶ月であることを示し、予測は1950年の6月から開始されます。

    1月

    2月

    3月

    4月

    5月

    6月

    7月

    8月

    9月

    10月

    11月

    12月

    1949

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    1950

    11

    12

    13

    14

    15

  • start=1949.3、frequency=4は、単位時間が年4四半期であることを示し、予測は年1953の第2四半期から開始されます。

    Qtr1

    Qtr2

    Qtr3

    Qtr4

    1949

    1

    2

    1950

    3

    4

    5

    6

    1951

    7

    8

    9

    10

    1952

    11

    12

    13

    14

    1953

    15

  • start=1949.3、frequency=7は、単位時間が週7日であることを示し、予測は1951週目の4日目から開始されます。

    サン

    火曜日

    水曜日

    1949

    1

    2

    3

    4

    5

    1950

    6

    7

    8

    9

    10

    11

    12

    1951

    13

    14

    15

  • start=1949.1、frequency=1は、予測が1963.00で始まることを示す。

    サイクル

    p1

    1949

    1

    1950

    2

    1951

    3

    1952

    4

    1953

    5

    1954

    6

    1955

    7

    1956

    8

    1957

    9

    1958

    10

    1959

    11

    1960

    12

    1961

    13

    1962

    14

    1963

    15

テストデータの準備

この例では、AirPassengers.csvデータセットを使用しています。このデータセットには、1949年から1960年までの毎月の国際航空会社の乗客数が記録されています。 データセットの詳細については、「AirPassengers」をご参照ください。

id

番号

1

112

2

118

3

132

4

129

5

121

...

...

MaxComputeクライアントで次のTunnelコマンドを実行して、データをアップロードします。 MaxComputeクライアントのインストール方法と設定方法については、「MaxComputeクライアント (odpscmd) 」をご参照ください。 Tunnelコマンドの詳細については、「Tunnelコマンド」をご参照ください。

create table pai_ft_x13_arima_input(id bigint,number bigint);
tunnel upload xxx/airpassengers.csv pai_ft_x13_arima_input -h true;

PAIコマンドの実行

SQLスクリプトまたはODPS SQLコンポーネントを使用して、次のPAIコマンドを実行できます。

PAI -name x13_auto_arima
    -project algo_public
    -DinputTableName=pai_ft_x13_arima_input
    -DseqColName=id
    -DvalueColName=number
    -Dstart=1949.1
    -Dfrequency=12
    -DmaxOrder=4
    -DmaxSeasonalOrder=2
    -DmaxDiff=2
    -DmaxSeasonalDiff=1
    -DpredictStep=12
    -DoutputPredictTableName=pai_ft_x13_arima_auto_out_predict
    -DoutputDetailTableName=pai_ft_x13_arima_auto_out_detail

アウトプットの説明

  • 出力テーブルoutputPredictTableName

    • フィールドの説明

      列名

      コメント

      pdate

      予測の日付。

      予測

      予測の結論。

      低い

      信頼レベルが指定された場合、予測の下限閾値が得られる。 デフォルトの信頼レベルは0.95です。

      アッパー

      予測の上限閾値は、信頼レベルが指定されたときに生じる。 デフォルトの信頼レベルは0.95です。

    • 生成されたデータ

      image

  • 出力テーブルoutputDetailTableName

    • フィールドの説明

      列名

      コメント

      キー

      • model: 使用中のモデル。

      • evaluation: 評価結果。

      • parameters: トレーニングパラメータ。

      • log: トレーニングログ。

      概要

      ストレージの詳細。

    • 生成されたデータ

      image

よくある質問

  • なぜ予測結果は同じですか?

    モデルトレーニング中に例外が発生した場合、平均モデルが呼び出されます。 この場合、全ての予測結果は訓練データの平均である。 一般的な例外には、時間差学習後の不安定性、収束のないトレーニング、および分散0が含まれます。 Logviewで個々のノードのstderrファイルを表示して、例外に関する特定の情報を取得できます。

  • コンポーネントパラメーターを設定するにはどうすればよいですか。

    x13_arimaコンポーネントのp、d、q、sp、sd、およびsqパラメーターを設定する必要があります。 パラメーター設定に自信がない場合は、x13_auto_arimaコンポーネントを使用することを推奨します。

    コンポーネントの上限のみを設定する必要があります。 コンポーネントは自動的にパラメータを調整します。

  • エラーメッセージ: Error: 差分および /または条件付きAR推定後の観測数は9であり、推定されたモデルに必要な最小系列長24

    トレーニングデータが不十分です。 周波数パラメータを変更するか、トレーニングデータを追加します。

  • エラーメッセージ: エラー: MA演算子の順序が大きすぎます

    ほとんどの場合、このエラーはトレーニングデータが不十分なために発生します。

  • エラーメッセージ: エラー: モデル化および /または季節調整するシリーズには、少なくとも3年間のデータが必要です

    季節パラメータを指定した場合は、少なくとも3年間のデータが必要です。

関連ドキュメント

X-13-ARIMAは、オープンソースX-13ARIMA-SEATSアルゴリズムに基づく季節調整済み自己回帰統合移動平均 (ARIMA) モデルアルゴリズムです。 x13_arimaコンポーネントを使用してデータを処理できます。 詳細については、「x13_auto_arima」をご参照ください。