x13_arima adalah algoritma yang digunakan untuk analisis deret waktu, dirancang khusus untuk penyesuaian data musiman. Algoritma ini didasarkan pada paket open-source X-13ARIMA-SEATS dan menggabungkan pemodelan ARIMA dengan teknik penyesuaian musiman untuk meningkatkan akurasi prediksi serta efektivitas analisis data.
Informasi latar belakang
ARIMA diperkenalkan dalam metode Box-Jenkins oleh Box dan Jenkins pada awal 1970-an untuk peramalan deret waktu. Model ARIMA juga dikenal sebagai model Box-Jenkins.
Deskripsi Algoritma:
Skala yang Didukung
Baris: maksimum 1.200 catatan data dalam satu kelompok
Kolom: satu kolom numerik
Metode Perhitungan Sumber Daya
Metode perhitungan default jika parameter groupColNames tidak ditentukan:
coreNum=1 memSizePerCore=4096Metode perhitungan default jika parameter groupColNames ditentukan:
coreNum = floor(Jumlah total baris/120.000) memSizePerCore=4096
Konfigurasikan komponen
Anda dapat menggunakan salah satu dari metode berikut untuk mengonfigurasi komponen x13_arima:
Metode 1: Konfigurasikan komponen di konsol PAI
Anda dapat mengonfigurasi parameter komponen x13_arima di halaman pipeline Machine Learning Designer. Tabel berikut menjelaskan parameter-parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Time Series Column | Wajib. Parameter ini hanya digunakan untuk mengurutkan nilai dalam kolom numerik. |
Value Column | Wajib. | |
Stratification Column | Opsional. Anda dapat memisahkan beberapa kolom dengan koma (,), seperti col0,col1. Deret waktu dibuat untuk setiap grup. | |
Parameters Setting | Format | Format yang didukung adalah p,d,q. p, d, dan q adalah bilangan bulat non-negatif dalam rentang [0,36].
|
Start Date | Format yang didukung adalah tahun.musim. Contoh: 1986.1. | |
Series Frequency | Nilainya harus bilangan bulat positif dalam rentang [1,12]. | |
Format | Format yang didukung adalah sp,sd,sq. sp, sd, dan sq adalah bilangan bulat non-negatif dalam rentang [0,36].
| |
Seasonal Cycle | Nilainya harus angka dalam rentang (0,12]. Nilai default: 12. | |
Prediction Entries | Nilainya harus bilangan bulat positif dalam rentang (0,120]. Nilai default: 12. | |
Prediction Confidence Level | Nilainya harus angka dalam rentang (0,1). Nilai default: 0,95. | |
Tuning | Cores | Jumlah inti. Secara default, sistem menentukan nilainya. |
Memory | Ukuran memori per inti. Unit: MB. |
Metode 2: Konfigurasikan komponen dengan menggunakan perintah PAI
Anda dapat menggunakan skrip SQL untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.
PAI -name x13_arima
-project algo_public
-DinputTableName=pai_ft_x13_arima_input
-DseqColName=id
-DvalueColName=number
-Dorder=3,1,1
-Dstart=1949.1
-Dfrequency=12
-Dseasonal=0,1,1
-Dperiod=12
-DpredictStep=12
-DoutputPredictTableName=pai_ft_x13_arima_out_predict
-DoutputDetailTableName=pai_ft_x13_arima_out_detailParameter | Wajib | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel input. | Tidak tersedia |
inputTablePartitions | Tidak | Kolom fitur yang dipilih dari tabel input untuk pelatihan. | Tabel lengkap |
seqColName | Ya | Kolom deret waktu. Parameter ini hanya digunakan untuk mengurutkan nilai dalam kolom valueColName. | Tidak tersedia |
valueColName | Ya | Kolom numerik. | Tidak tersedia |
groupColNames | Tidak | Kolom pengelompokan. Anda dapat memisahkan beberapa kolom dengan koma (,). Contoh: col0,col1. Deret waktu dibuat untuk setiap grup. | Tidak tersedia |
order | Ya | p menunjukkan koefisien autoregresif. d menunjukkan selisih. q menunjukkan koefisien regresi bergerak. Nilainya harus bilangan bulat non-negatif dalam rentang [0,36]. | Tidak tersedia |
start | Tidak | Tanggal mulai deret waktu. Nilainya harus string dalam format tahun.musim, seperti 1986.1. Untuk informasi lebih lanjut, lihat Format deret waktu. | 1.1 |
frequency | Tidak | Frekuensi deret waktu. Nilainya harus bilangan bulat positif dalam rentang (0,12]. Untuk informasi lebih lanjut, lihat Format deret waktu. | 12 Catatan Nilai 12 menunjukkan 12 bulan per tahun. |
seasonal | Tidak | sp menunjukkan koefisien autoregresif musiman. sd menunjukkan selisih musiman. sq menunjukkan koefisien regresi bergerak musiman. Nilainya harus bilangan bulat non-negatif dalam rentang [0,36]. | Bukan musiman |
period | Tidak | Siklus musiman. Nilainya harus angka dalam rentang (0,100]. | frekuensi |
maxiter | Tidak | Jumlah maksimum iterasi. Nilainya harus bilangan bulat positif. | 1500 |
tol | Tidak | Toleransi. Nilainya bertipe DOUBLE. | 1e-5 |
predictStep | Tidak | Jumlah entri prediksi. Nilainya harus bilangan bulat positif dalam rentang (0,365]. | 12 |
confidenceLevel | Tidak | Tingkat kepercayaan. Nilainya harus angka dalam rentang (0,1). | 0,95 |
outputPredictTableName | Ya | Tabel output prediksi. | Tidak tersedia |
outputDetailTableName | Ya | Tabel detail. | Tidak tersedia |
outputTablePartition | Tidak | Menentukan apakah akan mengekspor data ke partisi. | Tidak mengekspor data ke partisi |
coreNum | Tidak | Jumlah inti. Nilainya harus bilangan bulat positif. Parameter ini digunakan bersama dengan memSizePerCore. | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori setiap inti. Unit: MB. Nilainya harus bilangan bulat positif dalam rentang [1024,64 × 1024]. | Ditentukan oleh sistem |
lifecycle | Tidak | Lifecycle tabel output. | Tidak tersedia |
Format deret waktu
Parameter start dan frequency menentukan dimensi waktu ts1 dan ts2 untuk kolom numerik.
Parameter frequency menentukan frekuensi data dalam periode unit, yaitu frekuensi ts2 dalam setiap ts1.
Nilai parameter start dalam format n1.n2. Ini menunjukkan bahwa tanggal mulai adalah n2 ts2 dalam n1 ts1.
Unit Waktu | ts1 | ts2 | frequency | start |
12 bulan/tahun | Tahun | Bulan | 12 | 1949.2 menunjukkan bulan kedua tahun 1949. |
4 kuartal/tahun | Tahun | Kuartal | 4 | 1949.2 menunjukkan kuartalkedua tahun 1949. |
7 hari/minggu | Minggu | Hari | 7 | 1949.2 menunjukkan hari kedua pada minggu ke-1949. |
1 | Semua unit waktu | 1 | 1 | 1949.1 menunjukkan tahun 1949, atau hari ke-1949 atau jam ke-1949. |
Contoh: value=[1,2,3,5,6,7,8,9,10,11,12,13,14,15]
menunjukkan bahwa unit waktu adalah 12 bulan per tahun, dan prediksi dimulai dari Juni tahun 1950.Tahun
Jan
Feb
Mar
Apr
Mei
Jun
Jul
Agu
Sep
Okt
1949
1
2
3
4
5
6
7
8
9
10
1950
11
12
13
14
15
menunjukkan bahwa unit waktu adalah empat kuartal per tahun, dan prediksi dimulai dari kuartal kedua tahun 1953.Tahun
Qtr1
Qtr2
Qtr3
Qtr4
1949
1
2
1950
3
4
5
6
1951
7
8
9
10
1952
11
12
13
14
1953
14
15
menunjukkan bahwa unit waktu adalah tujuh hari per minggu, dan prediksi dimulai dari hari keempat pada minggu ke-1951.Minggu
Sun
Sen
Sel
Rab
Kam
Jum
Sat
1949
1
2
3
4
5
1950
6
7
8
9
10
11
12
1951
13
14
15
menunjukkan bahwa prediksi dimulai pada tahun 1963.00.Siklus
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 dataset AirPassengers.csv, yang mencatat jumlah penumpang penerbangan internasional setiap bulan dari tahun 1949 hingga tahun 1960. Untuk informasi lebih lanjut tentang dataset, lihat AirPassengers.
id | number |
1 | 112 |
2 | 118 |
3 | 132 |
4 | 129 |
5 | 121 |
... | ... |
Jalankan perintah Tunnel berikut di klien MaxCompute untuk mengunggah data. Untuk informasi tentang cara menginstal dan mengonfigurasi klien MaxCompute, lihat Klien 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 xxxx/airpassengers.csv pai_ft_x13_arima_input -h true;Jalankan perintah PAI
Anda dapat menggunakan SQL script atau komponen ODPS SQL untuk menjalankan perintah PAI berikut:
PAI -name x13_arima
-project algo_public
-DinputTableName=pai_ft_x13_arima_input
-DseqColName=id
-DvalueColName=number
-Dorder=3,1,1
-Dseasonal=0,1,1
-Dstart=1949.1
-Dfrequency=12
-Dperiod=12
-DpredictStep=12
-DoutputPredictTableName=pai_ft_x13_arima_out_predict
-DoutputDetailTableName=pai_ft_x13_arima_out_detailDeskripsi Output
Tabel Output outputPredictTableName
Deskripsi Kolom
Nama kolom
Komentar
pdate
Tanggal prediksi.
forecast
Kesimpulan prediksi.
lower
Batas bawah hasil prediksi ketika tingkat kepercayaan ditentukan. Tingkat kepercayaan default adalah 0,95.
upper
Batas atas hasil prediksi ketika tingkat kepercayaan ditentukan. Tingkat kepercayaan default adalah 0,95.
Gambar berikut menunjukkan data.

Tabel Output outputDetailTableName
Deskripsi Kolom
Nama kolom
Komentar
key
model: model yang digunakan.
evaluation: hasil evaluasi.
parameters: parameter pelatihan.
log: log pelatihan.
summary
Detail penyimpanan.
Gambar berikut menunjukkan data.

FAQ
Mengapa Hasil Prediksi Sama?
Jika terjadi pengecualian selama pelatihan model, model rata-rata akan dipanggil. Dalam hal ini, semua hasil prediksi adalah rata-rata dari data pelatihan. Pengecualian umum termasuk ketidakstabilan setelah pembelajaran perbedaan temporal, pelatihan tanpa konvergensi, dan varians 0. Anda dapat melihat file stderr dari node individual di Logview untuk mendapatkan informasi spesifik tentang pengecualian.
Bagaimana Cara Mengonfigurasi Parameter Komponen?
Anda perlu mengonfigurasi parameter p, d, q, sp, sd, dan sq untuk komponen x13_arima. Jika Anda tidak yakin dengan pengaturan parameter, kami sarankan Anda menggunakan komponen x13_auto_arima.
Anda hanya perlu menetapkan batas atas untuk parameter komponen tersebut, dan komponen akan secara otomatis menyesuaikan parameter.
Pesan Kesalahan:
ERROR: Jumlah observasi setelah differencing dan/atau estimasi AR bersyarat adalah 9, yang kurang dari panjang seri minimum yang diperlukan untuk model yang diestimasi, 24Data pelatihan tidak mencukupi. Ubah parameter frekuensi atau tambahkan lebih banyak data pelatihan.
Pesan Kesalahan:
ERROR: Urutan operator MA terlalu besarDalam kebanyakan kasus, kesalahan ini terjadi karena data pelatihan tidak mencukupi.
Pesan Kesalahan:
ERROR: Seri yang akan dimodelkan dan/atau disesuaikan secara musiman harus memiliki setidaknya 3 tahun data lengkapJika Anda telah menentukan parameter musiman, setidaknya tiga tahun data diperlukan.
Referensi
Anda perlu mengonfigurasi parameter seperti p, d, q, sp, sd, dan sq untuk komponen x13_arima. Jika Anda tidak yakin bagaimana mengonfigurasi parameter, kami sarankan Anda menggunakan komponen x13_auto_arima. Anda hanya perlu menentukan batas atas untuk parameter komponen ini, dan sistem secara otomatis menentukan nilai parameter optimal. Untuk informasi lebih lanjut, lihat x13_auto_arima.