All Products
Search
Document Center

Platform For AI:x13_arima

Last Updated:Apr 01, 2026

x13_arima adalah algoritma peramalan deret waktu musiman yang dibangun di atas paket open-source X-13ARIMA-SEATS. Algoritma ini berfungsi seperti filter: memisahkan sinyal mendasar dalam data Anda dari kebisingan dan pola musiman, lalu memproyeksikan sinyal tersebut ke depan untuk menghasilkan prediksi.

Gunakan x13_arima jika data Anda memiliki struktur musiman yang diketahui—seperti penjualan bulanan, pendapatan kuartalan, atau trafik mingguan—dan Anda menginginkan kontrol penuh atas orde model. Jika Anda tidak yakin orde mana yang harus digunakan, gunakan x13_auto_arima sebagai gantinya. Cukup tentukan batas atas untuk setiap orde, dan x13_auto_arima akan mencari nilai optimal secara otomatis.

Cara kerja

x13_arima melakukan fitting terhadap model Seasonal ARIMA, yang dinyatakan sebagai ARIMA(p,d,q)(P,D,Q)m:

BagianParameterMakna
Non-musiman(p,d,q)Order autoregressive, order differencing, order moving average
Musiman(P,D,Q)Order autoregressive musiman, differencing musiman, order moving average musiman
PeriodemJumlah pengamatan per musim (misalnya, 12 untuk data bulanan dalam siklus tahunan)

ARIMA (Autoregressive Integrated Moving Average) diperkenalkan oleh Box dan Jenkins pada awal 1970-an dan juga dikenal sebagai model Box-Jenkins.

Batasan

BatasNilai
Baris per kelompokMaksimum 1.200 record
KolomSatu kolom numerik per eksekusi

Konfigurasi komponen

Metode 1: konfigurasi di Konsol PAI (direkomendasikan)

Pada halaman pipeline Machine Learning Designer, tambahkan komponen x13_arima dan konfigurasikan parameter berikut.

Tab Fields Setting

ParameterWajibDeskripsi
Time Series ColumnYaMengurutkan kolom numerik. Tidak memengaruhi nilai-nilainya.
Value ColumnYaKolom numerik yang akan diprediksi.
Stratification ColumnTidakNama kolom yang dipisahkan koma (misalnya, col0,col1). Model terpisah difit untuk setiap kelompok.

Parameters Setting tab

ParameterWajibRentangDefaultDeskripsi
Format (p,d,q)YaBilangan bulat non-negatif dalam [0, 36]Order ARIMA non-musiman. p: order autoregressive. d: order differencing. q: order moving average.
Start DateTidakyear.season (misalnya, 1986.1)1.1Posisi awal deret waktu. Lihat format deret waktu.
Series FrequencyTidakBilangan bulat positif dalam [1, 12]12Jumlah pengamatan per periode satuan. Nilai 12 berarti data bulanan dalam siklus tahunan.
Format (sp,sd,sq)TidakBilangan bulat non-negatif dalam [0, 36]Non-musimanOrder ARIMA musiman. sp: order autoregressive musiman. sd: differencing musiman. sq: order moving average musiman.
Seasonal CycleTidak(0, 12]12Panjang periode musiman.
Prediction EntriesTidakBilangan bulat positif dalam (0, 120]12Jumlah langkah masa depan yang akan diprediksi.
Prediction Confidence LevelTidak(0, 1)0,95Lebar interval kepercayaan untuk batas prediksi.

Tab Tuning

ParameterDeskripsi
CoresJumlah core. Ditentukan oleh sistem secara default.
MemoryMemori per core, dalam MB. Ditentukan oleh sistem secara default.

Metode 2: jalankan perintah PAI

Gunakan komponen SQL Script atau ODPS SQL untuk memanggil x13_arima secara langsung.

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_detail

Parameter

ParameterWajibDefaultDeskripsi
inputTableNameYaNama tabel input.
inputTablePartitionsTidakSeluruh tabelPartisi yang akan dibaca dari tabel input.
seqColNameYaKolom deret waktu. Hanya digunakan untuk mengurutkan kolom valueColName.
valueColNameYaKolom numerik yang akan diprediksi.
groupColNamesTidakKolom pengelompokan, dipisahkan koma (misalnya, col0,col1). Model terpisah difit untuk setiap kelompok.
orderYaOrder non-musiman dalam format p,d,q. Bilangan bulat non-negatif dalam [0, 36].
startTidak1.1Posisi awal deret waktu dalam format n1.n2. Lihat format deret waktu.
frequencyTidak12Jumlah pengamatan per periode satuan. Rentang: (0, 12]. Nilai 12 berarti 12 bulan per tahun.
seasonalTidakNon-musimanOrder musiman dalam format sp,sd,sq. Bilangan bulat non-negatif dalam [0, 36].
periodTidakSama dengan frequencyPanjang periode musiman. Rentang: (0, 100].
maxiterTidak1500Jumlah maksimum iterasi pelatihan.
tolTidak1e-5Toleransi konvergensi (DOUBLE).
predictStepTidak12Jumlah langkah masa depan yang akan diprediksi. Rentang: (0, 365].
confidenceLevelTidak0,95Tingkat kepercayaan untuk batas prediksi. Rentang: (0, 1).
outputPredictTableNameYaTabel output untuk hasil prediksi.
outputDetailTableNameYaTabel output untuk detail model.
outputTablePartitionTidakTanpa partisiSpesifikasi partisi untuk tabel output.
coreNumTidakDefault sistemJumlah core. Harus bilangan bulat positif. Digunakan bersama dengan memSizePerCore.
memSizePerCoreTidakDefault sistemMemori per core, dalam MB. Rentang: [1024, 65536].
lifecycleTidakSiklus hidup tabel output di MaxCompute.

Alokasi resource default

KondisicoreNummemSizePerCore
groupColNames tidak diatur14096 MB
groupColNames diaturpembulatan ke bawah(total baris / 120.000)4096 MB

Format deret waktu

Parameter start dan frequency secara bersama-sama menentukan bagaimana data Anda dipetakan ke waktu kalender. Bayangkan data sebagai urutan nilai yang ditempatkan ke dalam kalender dua tingkat: unit utama ts1 (misalnya, tahun) dan sub-unit ts2 (misalnya, bulan).

  • frequency — jumlah sub-unit ts2 per unit utama ts1

  • start — ditulis sebagai n1.n2, artinya n2-nya ts2 pada n1-nya ts1

Granularitasts1ts2frequencyContoh start
BulananTahunBulan121949.2 = Februari 1949
KuartalanTahunKuartal41949.2 = Kuartal II 1949
Harian (siklus mingguan)MingguHari71949.2 = Hari ke-2 minggu ke-1949
Unit tunggal kustomApa saja11949.1 = unit ke-1949

Contoh

Contoh ini menggunakan set data AirPassengers, yang mencatat jumlah penumpang maskapai internasional bulanan dari tahun 1949 hingga 1960. Untuk detail set data, lihat AirPassengers (R datasets).

Persiapkan tabel input

Tabel input memiliki dua kolom: id (nomor urut) dan number (jumlah penumpang).

idnumber
1112
2118
3132
4129
5121
......

Buat tabel dan unggah data menggunakan client MaxCompute. Untuk instruksi instalasi, lihat Client MaxCompute (odpscmd). Untuk penggunaan 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;

Set data ini menggunakan frekuensi bulanan yang dimulai dari Januari 1949, sehingga start=1949.1 dan frequency=12. Tabel berikut menunjukkan bagaimana 14 nilai [1, 2, 3, ..., 15] akan dipetakan jika start=1949.3 dan frequency=12 (bulanan, dimulai Maret 1949):

TahunJanFebMarAprMeiJunJulAgtSepOktNovDes
194912345678910
19501112131415

Contoh berikut menunjukkan pemetaan deret waktu tambahan untuk granularitas kuartalan, mingguan, dan unit tunggal menggunakan urutan nilai yang sama [1, 2, 3, ..., 15]:

Kuartalan (frequency=4, start=1949.3)

TahunQtr1Qtr2Qtr3Qtr4
194912
19503456
195178910
195211121314
19531415

Prediksi dimulai dari kuartal kedua tahun 1953.

Harian dengan siklus mingguan (frequency=7, start=1949.3)

MingguMinSenSelRabKamJumSab
194912345
19506789101112
1951131415

Prediksi dimulai dari hari keempat minggu ke-1951.

Unit tunggal (frequency=1, start=1949.1)

Siklusp1
19491
19502
19513
19524
19535
19546
19557
19568
19579
195810
195911
196012
196113
196214
196315

Prediksi dimulai pada tahun 1963.

Jalankan perintah PAI

Jalankan perintah berikut menggunakan komponen SQL Script atau ODPS SQL:

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_detail

Tabel output

outputPredictTableName — hasil prediksi

KolomDeskripsi
pdateTanggal prediksi.
forecastNilai yang diprediksi.
lowerBatas bawah interval kepercayaan (default: 95%).
upperBatas atas interval kepercayaan (default: 95%).
image

outputDetailTableName — detail model

KolomDeskripsi
keyJenis catatan: model (spesifikasi model), evaluation (metrik evaluasi), parameters (parameter pelatihan), atau log (log pelatihan).
summaryKonten detail untuk key yang sesuai.
image

FAQ

Mengapa semua hasil prediksi bernilai sama?

Model kembali ke model rata-rata, yang menghasilkan rata-rata data pelatihan untuk semua langkah prediksi. Hal ini terjadi ketika pelatihan gagal karena ketidakstabilan setelah differencing temporal, non-konvergensi, atau varians nol. Untuk melihat error pasti, buka Logview untuk pekerjaan tersebut dan periksa file stderr untuk node individual.

Bagaimana cara memilih nilai p, d, q, sp, sd, dan sq?

Jika Anda tidak yakin dengan pengaturan parameter, gunakan x13_auto_arima sebagai gantinya. Cukup tentukan batas atas untuk setiap orde, dan x13_auto_arima akan mencari nilai optimal secara otomatis.

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`

Data pelatihan terlalu singkat untuk model yang ditentukan. Ubah parameter frequency atau tambahkan lebih banyak data historis.

Error: `Order of the MA operator is too large`

Dalam kebanyakan kasus, error ini terjadi karena data pelatihan tidak mencukupi. Tambahkan lebih banyak data pelatihan.

Error: `Series to be modelled and/or seasonally adjusted must have at least 3 complete years of data`

Ketika Anda menentukan parameter musiman (seasonal), input harus berisi minimal tiga tahun data lengkap.

Langkah selanjutnya