Secara otomatis memilih model ARIMA optimal untuk data deret waktu menggunakan prosedur dari Gomez dan Maravall (1998) serta TRAMO (1996).
Cara kerja
Komponen ini memilih model ARIMA terbaik melalui empat langkah:
Pendugaan model default
Untuk
frequency = 1, model default adalah(0,1,1).Untuk
frequency > 1, model default adalah(0,1,1)(0,1,1).
Identifikasi orde differencing: Jika parameter
diffdanseasonalDifftelah ditentukan, langkah ini dilewati. Jika tidak, uji akar unit menentukan orde differencing non-musiman d dan orde differencing musiman D.Identifikasi orde ARMA: Memilih model paling tepat berdasarkan Bayesian Information Criterion (BIC). Parameter
maxOrderdanmaxSeasonalOrdermengontrol batas atas.Perbandingan model dan pemeriksaan akhir: Statistik Q Ljung-Box membandingkan model yang diidentifikasi dengan model default. Jika kedua model tidak dapat diterima, sistem kembali ke model
(3,d,1)(0,D,1).
Untuk informasi lebih lanjut tentang ARIMA, lihat Autoregressive integrated moving average.
Batasan
Hanya berjalan pada resource komputasi MaxCompute.
Maksimal 1.200 catatan data per kelompok.
Satu kolom numerik.
Perhitungan resource
Tanpa
groupColNames:coreNum = 1 memSizePerCore = 4096Dengan
groupColNames:coreNum = floor(Jumlah total baris / 120,000) memSizePerCore = 4096
Konfigurasi komponen
Konfigurasikan x13_auto_arima dengan salah satu cara berikut:
Metode 1: Konfigurasi di konsol PAI
Konfigurasikan parameter pada halaman pipeline Machine Learning Designer.
Pengaturan Field
Parameter | Wajib | Deskripsi |
Time Series Column | Ya | Mengurutkan nilai dalam kolom value. |
Value Column | Ya | Kolom numerik yang berisi nilai deret waktu. |
Stratification Column | Tidak | Pisahkan beberapa kolom dengan koma ( |
Pengaturan Parameter
Parameter | Deskripsi | Default |
Start Date | Format: | -- |
Series Frequency | Bilangan bulat positif dalam rentang (0,12]. | -- |
Maximum of p and q | Bilangan bulat positif dalam rentang (0,4]. | -- |
Maximum of Seasonal p and q | Bilangan dalam rentang (0,2]. | -- |
Maximum of Difference d | Bilangan bulat positif dalam rentang (0,2]. | -- |
Maximum of Seasonal Difference d | Bilangan bulat positif dalam rentang (0,1]. | -- |
Difference d | Bilangan bulat positif dalam rentang (0,2]. Jika | -- |
Seasonal Difference d | Bilangan bulat positif dalam rentang (0,1]. Jika | -- |
Prediction Entries | Jumlah prediksi. Misalnya, untuk memprediksi penjualan selama 7 hari ke depan berdasarkan data sebulan terakhir, atur nilai ini menjadi | -- |
Prediction Confidence Interval | Tingkat kepercayaan untuk menghitung interval prediksi. | 0,95 |
Tolerance | Opsi. Toleransi konvergensi untuk fitting model. | 1e-5 |
Maximum Iterations | Bilangan bulat positif. | 1500 |
Execution Tuning
Parameter | Deskripsi |
Cores | Jumlah core. Sistem menentukan secara otomatis secara default. |
Memory Size | Ukuran memori per core, dalam MB. |
Metode 2: Konfigurasi dengan perintah PAI
Jalankan perintah PAI melalui skrip SQL. Untuk informasi lebih lanjut, lihat SQL Script.
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_detail2Referensi parameter
Parameter | Wajib | Deskripsi | Default |
inputTableName | Ya | Nama tabel input. | N/A |
inputTablePartitions | Tidak | Kolom fitur yang dipilih dari tabel input untuk pelatihan model. | Full table |
seqColName | Ya | Kolom deret waktu. Mengurutkan nilai dalam kolom value. | N/A |
valueColName | Ya | Kolom value. | N/A |
groupColNames | Tidak | Kolom stratifikasi. Pisahkan beberapa kolom dengan koma ( | N/A |
start | Tidak | Waktu mulai deret waktu. Format: | 1.1 |
frequency | Tidak | Frekuensi deret waktu. Bilangan bulat positif dalam rentang (0,12]. Nilai 12 menunjukkan 12 bulan (satu tahun). Untuk detailnya, lihat Format deret waktu. | 12 |
maxOrder | Tidak | Nilai maksimum p dan q. Bilangan bulat positif dalam rentang [0,4]. | 2 |
maxSeasonalOrder | Tidak | Nilai maksimum seasonal p dan q. Bilangan bulat positif dalam rentang [0,2]. | 1 |
maxDiff | Tidak | Orde differencing non-musiman maksimum d. Bilangan bulat positif dalam rentang [0,2]. | 2 |
maxSeasonalDiff | Tidak | Orde differencing musiman maksimum d. Bilangan bulat positif dalam rentang [0,1]. | 1 |
diff | Tidak | Orde differencing non-musiman d. Bilangan bulat positif dalam rentang [0,2]. Jika | -1 |
seasonalDiff | Tidak | Orde differencing musiman d. Bilangan bulat positif dalam rentang [0,1]. Jika | -1 |
maxiter | Tidak | Jumlah iterasi maksimum. Bilangan bulat positif. | 1500 |
tol | Tidak | Toleransi konvergensi. Tipe DOUBLE. | 1e-5 |
predictStep | Tidak | Jumlah entri prediksi. Bilangan bulat positif dalam rentang (0,365]. | 12 |
confidenceLevel | Tidak | Tingkat kepercayaan untuk interval prediksi. Bilangan dalam rentang (0,1). | 0,95 |
outputPredictTableName | Ya | Tabel prediksi output. | N/A |
outputDetailTableName | Ya | tabel detail output. | N/A |
outputTablePartition | Tidak | Apakah akan mengekspor data ke partisi. | Tidak mengekspor data ke partisi |
coreNum | Tidak | Jumlah core. Bilangan bulat positif. Digunakan bersama | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori per core, dalam MB. Bilangan bulat positif dalam rentang [1024, 65536]. | Ditentukan oleh sistem |
lifecycle | Tidak | Siklus hidup tabel output. | N/A |
Format deret waktu
Parameter start dan frequency mendefinisikan dua dimensi waktu, ts1 dan ts2, untuk kolom numerik.
frequencymenentukan berapa banyak unit ts2 yang muat dalam satu unit ts1.startmenggunakan formatn1.n2, artinya deret dimulai pada ts2 ke-n2 dalam ts1 ke-n1.
Konfigurasi umum:
Unit waktu | ts1 | ts2 | frequency | mulai contoh |
12 bulan/tahun | Tahun | Bulan | 12 |
|
4 kuartal/tahun | Tahun | Kuartal | 4 |
|
7 hari/minggu | Minggu | Hari | 7 |
|
1 | Unit waktu apa pun | 1 | 1 |
|
Contoh deret waktu
Diberikan: value = [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
start=1949.3, frequency=12 (data bulanan, 12 bulan per tahun)
Prediksi dimulai dari Juni 1950.
year | Jan | Feb | Mar | Apr | May | Jun | Jul | Aug | Sep | Oct | Nov | Dec |
1949 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||
1950 | 11 | 12 | 13 | 14 | 15 |
start=1949.3, frequency=4 (data kuartalan, 4 kuartal per tahun)
Prediksi dimulai dari Kuartal II 1953.
year | 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 (data harian, 7 hari per minggu)
Prediksi dimulai dari hari keempat minggu ke-1951.
week | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1949 | 1 | 2 | 3 | 4 | 5 | ||
1950 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
1951 | 13 | 14 | 15 |
start=1949.1, frequency=1 (data non-musiman)
Prediksi dimulai pada tahun 1963.
cycle | 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 |
Contoh
Siapkan data uji
Contoh ini menggunakan set data AirPassengers.csv, yang mencatat jumlah penumpang maskapai internasional per bulan dari tahun 1949 hingga 1960. Untuk informasi lebih lanjut tentang set data tersebut, lihat AirPassengers.
Data sampel:
id | number |
1 | 112 |
2 | 118 |
3 | 132 |
4 | 129 |
5 | 121 |
... | ... |
Jalankan perintah Tunnel berikut pada client MaxCompute untuk mengunggah data. Untuk informasi tentang instalasi dan konfigurasi client MaxCompute, lihat Client MaxCompute (odpscmd). Untuk informasi lebih lanjut tentang perintah Tunnel, lihat Perintah Tunnel.
create table pai_ft_x13_arima_input(id bigint, number bigint);
tunnel upload xxx/airpassengers.csv pai_ft_x13_arima_input -h true;Jalankan perintah PAI
Gunakan skrip SQL atau komponen ODPS SQL untuk menjalankan perintah 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_detailOutput
Tabel prediksi (outputPredictTableName)
Kolom | Deskripsi |
pdate | Tanggal prediksi. |
forecast | Hasil prediksi. |
lower | Batas bawah interval prediksi pada tingkat kepercayaan yang ditentukan. Default: 0,95. |
upper | Batas atas interval prediksi pada tingkat kepercayaan yang ditentukan. Default: 0,95. |
Data yang dihasilkan:

Tabel detail (outputDetailTableName)
Kolom | Deskripsi |
key | Salah satu dari berikut: |
summary | Rincian penyimpanan untuk key yang sesuai. |
Data yang dihasilkan:

FAQ
Mengapa semua hasil prediksi bernilai sama?
Hal ini terjadi ketika pelatihan model mengalami pengecualian dan kembali ke model rata-rata, yang menghasilkan rata-rata data pelatihan untuk semua prediksi. Penyebab umum meliputi ketidakstabilan setelah differencing, kegagalan konvergensi selama pelatihan, atau varians nol pada data input.
Untuk mendiagnosis error spesifik, periksa file stderr dari node individual di Logview.
Bagaimana memilih antara x13_arima dan x13_auto_arima?
x13_arima mengharuskan Anda menentukan secara manual parameter p, d, q, sp, sd, dan sq. Jika Anda tidak yakin nilai mana yang harus digunakan, pilih x13_auto_arima. Dengan x13_auto_arima, cukup atur batas atas (seperti maxOrder dan maxDiff), dan komponen akan menyetel parameter secara otomatis.
Error: Jumlah pengamatan setelah differencing kurang dari panjang deret minimum
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, 24Data pelatihan tidak mencukupi untuk model yang ditentukan. Ubah parameter frequency atau tambahkan lebih banyak data pelatihan.
Error: Orde operator MA terlalu besar
ERROR: Order of the MA operator is too largeError ini biasanya menunjukkan data pelatihan tidak mencukupi. Tambahkan lebih banyak titik data ke tabel input Anda.
Error: Deret harus memiliki setidaknya 3 tahun data lengkap
ERROR: Series to be modelled and/or seasonally adjusted must have at least 3 complete
years of dataKetika parameter musiman ditentukan, data input harus berisi setidaknya tiga tahun pengamatan lengkap.
Referensi
X-13ARIMA-SEATS adalah algoritma model autoregressive integrated moving average (ARIMA) yang disesuaikan secara musiman berdasarkan algoritma open-source X-13ARIMA-SEATS. Untuk komponen terkait dengan parameter manual, lihat x13_arima.