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

Platform For AI:x13_auto_arima

最終更新日:Aug 14, 2024

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

背景情報

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

  • default model estimation

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

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

  • identification of differencing orders

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

    unit root testsを使用して、差dと季節差Dを決定します。

  • identification of ARMA model orders

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

  • comparison of identified model with default model

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

  • final model checks

有馬の詳細については、「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

値は (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

入力テーブルの名前。

N/A

inputTablePartitions

不可

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

フルテーブル

seqColName

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

N/A

valueColName

値の列。

N/A

groupColNames

不可

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

N/A

start

不可

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

1.1

frequency

不可

時系列の周波数。 値は (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

出力テーブル。

N/A

outputDetailTableName

詳細テーブル。

N/A

outputTablePartition

不可

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

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

coreNum

不可

コアの数。 値は正の整数でなければなりません。 このパラメーターは、memSizePerCoreと共に使用されます。

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

memSizePerCore

不可

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

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

lifecycle

不可

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

N/A

時系列形式

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

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

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

時間単位:

ts1

ts2

周波数

start

12ヶ月 /年

12

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

4四半期 /年

3 か月

4

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

7日 /週

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

      予測の日付。

      forecast

      予測の結論。

      lower

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

      upper

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

    • 生成されたデータ

      image

  • 出力テーブルoutputDetailTableName

    • フィールドの説明

      列名

      コメント

      key

      • model: 使用中のモデル。

      • evaluation: 評価結果。

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

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

      summary

      ストレージの詳細。

    • 生成されたデータ

      image

よくある質問

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

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

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

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

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

  • エラーメッセージ: ERROR: Number of observations after differencing and/or conditional AR estimation is 9, which is less than the minimum series length required for the model estimated, 24

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

  • エラーメッセージ: ERROR: Order of the MA operator is too large

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

  • エラーメッセージ: ERROR: Series to be modelled and/or seasonally adjusted must have at least 3 complete years of data

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

関連ドキュメント

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