ARIMA dengan STATA: Pengertian, Tutorial, Cara dan Langkah
Dalam kesempatan ini kita akan membahas Pengertian, Tutorial, Cara dan Langkah atau Prosedur melakukan analisis ARIMA dengan STATA. Artikel ini untuk melengkapi artikel sebelumnya tentang Tutorial ARIMA dengan EViews yang mana dalam artikel sebelumnya tersebut telah kami jelaskan juga konsep ARIMA mulai dari uji stasioneritas, cara mengidentifikasi model terbaik hingga peramalan atau forecasting.
Dalam artikel kali ini, kita tidak akan fokus lagi pada konsep ARIMA sebab sudah kami jelaskan sebelumnya. Melainkan kita langsung saja fokus pada tutorial ARIMA dengan STATA.
Data yang digunakan disini sama dengan yang sebelumnya, hanya kita ubah bentuk deret watunya dari Kuartal menjadi Harian atau Daily. Silahkan anda bisa download data tersebut DISINI.
Tutorial ARIMA dengan STATA
Persiapan Data
Tahap pertama adalah import data dari excel ke dalam aplikasi STATA. Caranya bisa menggunakan menu import data di aplikasi STATA yaitu pada menu klik File -> Import -> Excel Spreadsheet (*.xls, *.xlsx). Kemudian setelah muncul jendela import excel, klik tombol Browse dan cari file excel yang akan diimpor. Pada Worksheet, arahkan atau pilih sheet yang akan diimport. Kemudian centang Import first row as variable names. Pastikan cell range sudah benar sesuai dengan cell range yang ada di file excel. Selanjutnya klik OK.
Cara lain import data dari excel dapat menggunakan perintah berikut:
import excel “D:\Datablog 2024\Tutorial\ARIMA STATA\Dataset_Arima.xlsx“, sheet(“Dataset“) firstrow clear
Kode D:\Datablog 2024\Tutorial\ARIMA STATA\Dataset_Arima.xlsx menunjukkan nama file excel dan lokasi disimpan di komputer anda. Silahkan sesuaikan dengan lokasi file excel yang anda download sebelumnya disimpan. Sedangkan kode Dataset menunjukkan nama sheet tempat data yang akan diimport.
Jika langkah anda benar, maka tampilan data akan sebagai berikut:
Data terdiri dari 2 variabel yaitu Time dan x1. Dimana Time sebagai deret waktu atau time series yang berbentuk data harian atau daily. Sedangkan x1 adalah variabel yang akan diprediksi ARIMA dengan STATA ini.
Deklarasi Data untuk Analisis ARIMA dengan STATA
Sebelum melakukan analisis ARIMA dengan STATA, kita harus terlebih dahulu melakukan deklarasi data time series. Caranya adalah ketikkan perintah atau syntax sebagai berikut pada kotak Command: tsset Time, daily.
Kode tsset adalah kode deklarasi data time series, sedangkan Time adalah variabel yang dijadikan referensi time series. Sedangkan daily adalah opsi yang menentukan bahwa data berbetuk harian atau daily. Jika data tahunan, ganti daily dengan yearly. Jika bulanan ganti dengan monthly dan jika data kuartal maka ganti dengan quarterly.
Uji Stasioneritas
Uji Stasioneritas Pada Data Level
Tahap pertama dalam serangkaian analisis ARIMA dengan STATA, yang perlu dilakukan adalah Uji Stasioneritas. Uji Stasioneritas akan kita lakukan menggunakan uji akar unit dengan metode Augmented Dickey Fueller. Caranya adalah ketikkan perintah berikut: dfuller x1, regress.
Hasil uji akar unit menggunakan ADF test pada data level menunjukkan bahwa nilai absolut dari Z-Hitung sebesar 0,318 dimana lebih rendah dari pada nilai absolut batas kritis pada probabilitas 5% yaitu sebesar 2,888, maka terima H0 atau yang artinya data level x1 adalah tidak stasioner.
Begitu pula analisis menggunakan MacKinnon, nilai p value sebesar 0,9781>0,05 maka terima H0 atau yang artinya data level x1 adalah tidak stasioner. Jadi disimpulkan bahwa data x1 pada level adalah tidak stasioner. Maka selanjutnya adalah uji stasioneritas pada data first difference atau ordo pertama.
Uji Stasioneritas Pada Data First Difference
Untuk melakukan uji stasioneritas pada first difference caranya adalah ketikkan perintah berikut: dfuller D.x1, regress. Kode diatas sama dengan analisis akar unit pada level, hanya saja yang berbeda adalah nama variabelnya menjadi D.x1. Kode D.x1 artinya data first difference dari x1.
Hasil uji akar unit menggunakan ADF test pada data first difference menunjukkan bahwa nilai absolut dari Z-Hitung sebesar 14,719 dimana lebih besar dari pada nilai absolut batas kritis pada probabilitas 5% yaitu sebesar 2,888, maka terima H1 atau yang artinya data first difference x1 adalah stasioner.
Begitu pula analisis menggunakan MacKinnon, nilai p value sebesar 0,0000≤0,05 maka terima H1 atau yang artinya data first difference x1 adalah stasioner. Jadi disimpulkan bahwa data x1 pada first difference adalah stasioner.
Oleh karena data telah stasioner pada first difference, maka unsur d atau differencing pada model ARIMA(p,d,q) adalah 1.
Seumpama data tidak stasioner pada first difference, maka dilanjutkan uji stasioneritas pada data second difference. Cara melakukannya sama dengan cara diatas, hanya saja berbeda nama variabelnya dalam perintah ARIMA dengan STATA, yaitu kode D.x1 diubah menjadi D2.x1. Sehingga kodenya secara lengkap adalah: dfuller D2.x1, regress.
Perbadingan Data Level dengan Data First Difference
Mari kita bandingkan data level sebelum dilakukan first difference dengan data first difference menggunakan diagram. Caranya ketikkan perintah:
twoway (tsline x1) (tsline D.x1, lcolor(red) lwidth(thick) lpattern(dash)), legend(on)
Hasilnya adalah sebagai berikut:
Berdasarkan diagram diatas, data level tidak stasioner terhadap mean atau rata-rata. Sedangkan data first difference telah stasioner pada mean atau rata-rata.
Dalam tutorial ARIMA dengan STATA ini kita sudah selesai uji stasioneritas dan mendapatkan unsur d dalam model ARIMA(p,d,q). Maka selanjutnya adalah langkah mendapatkan nilai p dan q.
Correlogram
Correlogram disini digunakan untuk menentukan unsur p dan q di dalam model ARIMA(p,d,q). Tahap pertama adalah menentukan unsur q atau MA menggunakan diagram ACF atau autoregression. Caranya adalah ketikkan perintah: ac D.x1. Kode tersebut menggunakan D.x1 sebab unsur differencing atau d dalam langkah uji stasioneritas diatas menunjukkan first difference atau d=1. Jika seumpama data stasioner pada second difference maka kita menggunakan kode variabel D2.x1.
Output dari perintah ac D.x1 dalam tutorial ARIMA dengan STATA ini adalah sebagai berikut:
Berdasarkan diagram ACF diatas, tampak bahwa Cut off terjadi setelah Lag ke-2, maka unsur q dalam ARIMA(p,d,q) adalah 2.
Tahap kedua adalah menentukan unsur p atau AR menggunakan diagram PACF atau partial autoregression. Caranya adalah ketikkan perintah: pac D.x1. Kode tersebut menggunakan D.x1 sebab unsur differencing atau d dalam langkah uji stasioneritas diatas menunjukkan first difference atau d=1. Jika seumpama data stasioner pada second difference maka kita menggunakan kode variabel D2.x1.
Output dari perintah pac D.x1 dalam tutorial ARIMA dengan STATA ini adalah sebagai berikut:
Berdasarkan diagram PACF diatas, tampak bahwa Cut off terjadi setelah Lag ke-1, maka unsur p dalam ARIMA(p,d,q) adalah 1.
Berdasarkan diagram ACF dan PACF diatas, maka unsur p atau AR yang mungkin adalah 1 sedangkan unsur q atau MA yang mungkin adalah 2. Sehingga model ARIMA yang dapat digunakan antara lain: ARIMA(0,1,1), (0,1,2), (1,1,0), (1,1,1) dan (1,1,2). Secara keseluruhan ada 5 opsi model yang dapat dibentuk.
Overfitting
Untuk melakukan Overfitting dalam ARIMA dengan STATA adalah kita harus melakukan analisis ARIMA untuk setiap opsi model yang akan dibentuk. Oleh karena ada 5 opsi model ARIMA, maka kita akan melakukan analisis ARIMA 5 model.
Berikut akan kita coba analisis ARIMA dengan STATA pada opsi model pertama yaitu ARIMA(0,1,1) atau ARIMA dengan unsur p = 0, d = 1 dan q = 2, dimana p = AR, d = differencing dan q = MA.
Analisis ARIMA(0,1,1)
Langkah ARIMA STATA
Silahkan ketikkan perintah berikut kemudian tekan ENTER.
* ARIMA(0,1,1) *
arima x1, arima(0,1,1)
Kode diatas adalah kode analisis ARIMA(0,1,1), dimana x1 adalah variabelnya. Hasilnya adalah sebagai berikut:
Berdasarkan output ARIMA dengan STATA diatas, nilai p value dari MA(1) adalah sebesar 0,060>0,05 maka terima H0 atau tidak signifikan. jadi dalam model ini tidak ada variabel yang signifikan.
Menampilkan Nilai AIC, BIC dan LL
Selanjutnya ketikkan perintah:
estat ic
Setelah anda tekan ENTER, maka akan tampil output dari nilai AIC, BIC dan Log Likelihood ratio atau LL:
Berdasarkan hasil analisis diatas, nilai LL sebesar -245,622. Semakin besar nilai LL maka akan semakin baik model tersebut. Nilai AIC sebesar 497,244 dan nilai BIC sebesar 505,6806. Semakin kecil nilai AIC dan BIC maka model semakin baik.
Uji Autokorelasi
Untuk uji autokorelasi pada model ARIMA dengan STATA, ketikkan perintah berikut kemudian tekan Enter:
predict res1, residuals
corrgram res1
Kode predict res1, residuals diatas adalah perintah untuk menghasilkan nilai residual dari analisis ARIMA sebagai variabel baru yang diberi nama res1. Sedangkan perintah corrgram res1 adalah perintah untuk membuat correlogram dari variabel residual yang telah diberi nama sebelumnya sebagai res1.
Berdasarkan correlogram pada residual diatas, nilai p value uji Q sebagian besar adalah kurang dari 0,05 maka dapat disimpulkan bahwa ARIMA tidak memenuhi syarat non autokorelasi.
Uji Heteroskedastisitas
Untuk uji heteroskedastisitas pada model ARIMA dengan STATA, ketikkan perintah berikut kemudian tekan Enter:
gen ressq1=res1^2
corrgram ressq1
Kode gen ressq1=res1^2 diatas adalah perintah untuk membuat variabel baru yang diberi nama ressq1 yang mana variabel tersebut merupakan nilai kuadrat dari residual res1. Sedangkan perintah corrgram ressq1 adalah perintah untuk membuat correlogram dari variabel kuadrat residual yang telah diberi nama sebelumnya sebagai ressq1.
Berdasarkan correlogram pada kuadrat residual diatas, nilai p value uji Q sebagian besar atau semua adalah lebih besar dari 0,05 maka dapat disimpulkan bahwa ARIMA memenuhi syarat non heteroskedastisitas.
Uji Normalitas
Untuk uji normalitas pada model ARIMA dengan STATA, ketikkan perintah berikut kemudian tekan Enter:
swilk res1
Kode tersebut maksudnya adalah menguji normalitas dari variabel residual yang pada langkah sebelumnya telah dihasilkan dan diberi nama res1. Metode uji normalitas yang digunakan adalah Shapiro Wilk.
Hasil uji normalitas pada residual menggunakan uji shapiro wilk menunjukkan nilai p value sebesar 0,90215>0,05 maka terima H0 atau yang berarti residual berdistribusi normal. maka model ARIMA dengan STATA ini memenuhi syarat normalitas.
Uji Stabilitas
Uji stabilitas model pada analisis ARIMA dengan STATA dapat dilakukan menggunakan penilaian terhadap Modulus. Jika nilai Modulus semuanya kurang dari 1 maka model stabil. Sebaliknya jika ada modulus yang lebih dari 1 maka model tidak stabil.
Caranya adalah ketikkan perintah berikut:
Sedangkan tampilan tabel adalah sebagai berikut:
Berdasarkan diagram diatas, tampak bahwa plot ada di dalam lingkaran dimana sejalan dengan tabel bahwasanya nilai modulus tidak ada yang diluar rentang nilai 1. Pada tabel tersebut, nilai modulus sebesar 0,196882<1 maka dapat disimpulkan bahwa model ARIMA ini stabil.
Sejauh ini kita telah selesai melakukan analisis secara lengkap pada ARIMA(0,1,1) menggunakan aplikasi STATA. Silahkan simpan semua kesimpulan dari tahap ini ke dalam tabel.
Kesimpulan tersebut adalah sebagai berikut: Nilai AIC sebesar 497.244, nilai BIC sebesar 505.6806. Nilai LL sebesar -245.622. Jumlah variabel yang signifikan tidak ada atau 0. Asumsi Normalitas dan Heteroskedastisitas terpenuhi. Dan asumsi autokorelasi tidak terpenuhi.
Analisis ARIMA dengan STATA pada Opsi Model Lainnya
Tahap selanjutnya adalah melakukan analisis kembali pada opsi model lainnya, yaitu antara lain: ARIMA(0,1,2), (1,1,0), (1,1,1) dan (1,1,2).
Secara lengkap, kode STATA untuk melaksanakan semua analisis tersebut adalah sebagai berikut:
Syntax ARIMA(0,1,2)
* ARIMA(0,1,2) *
arima x1, arima(0,1,2)
estat ic
predict res2, residuals
corrgram res2
gen ressq2=res2^2
corrgram ressq2
swilk res2
estat aroots
Syntax ARIMA(1,1,0)
* ARIMA(1,1,0) *
arima x1, arima(1,1,0)
estat ic
predict res3, residuals
corrgram res3
gen ressq3=res3^2
corrgram ressq3
swilk res3
estat aroots
Syntax ARIMA(1,1,1)
* ARIMA(1,1,1) *
arima x1, arima(1,1,1)
estat ic
predict res4, residuals
corrgram res4
gen ressq4=res4^2
corrgram ressq4
swilk res4
estat aroots
Syntax ARIMA(1,1,2)
* ARIMA(1,1,2) *
arima x1, arima(1,1,2)
estat ic
predict res5, residuals
corrgram res5
gen ressq5=res5^2
corrgram ressq5
swilk res5
estat aroots
Memilih Model Terbaik Dalam Overfitting
Jika tahapan diatas sudah dilakukan semuanya dan setiap kesimpulan dimasukkan ke dalam tabel, maka seharusnya tabel yang di dapat adalah sebagai berikut:
Berdasarkan tabel kesimpulan overfitting diatas, untuk kelima model semuanya stabil. Model yang memenuhi semua asumsi adalah model (0,1,2) dan model (1,1,2). Dari kedua model tersebut, yang paling banyak signifikan variabelnya adalah model (1,1,2). Selain itu berdasarkan nilai LL terbesar dan AIC serta BIC terendah juga model (1,1,2). Maka kesimpulan yang dapat diambil adalah: model terbaik yang dipilih oleh peneliti adalah model ARIMA(1,1,2).
Forecast atau Peramalam ARIMA dengan STATA
Untuk melakukan forecast atau peramalan ARIMA dengan STATA, anda harus melakukan ulang perintah model ARIMA yang terpilih. Dalam hal ini, sesuai dengan hasil tutorial ARIMA STATA kita diatas sebelumnya, ARIMA terpilih adalah ARIMA(1,1,2). maka ketikkan perintah sebagai berikut:
* Model terpilih *
arima x1, arima(1,1,2)
Selanjutnya lakukan forecast dengan syntax sebagai berikut:
* Forecast *
predict y, y
predict yd, y dynamic(td(4April2023))
predict xb, xb
tsline x1 xb y yd
Kode diatas menunjukkan bahwa forecast atau peramalan ARIMA dengan STATA ini dilakukan untuk meramal Y Prediksi secara dinamis mulai tanggal 4 April. Hasilnya adalah sebagai berikut:
Demikian telah kami jelaskan secara singkat tutorial bagaimana cara melakukan analisis ARIMA dengan STATA. Semoga artikel ini dapat bermanfaat.
Daftar Pustaka
Ansley, C. F., and R. J. Kohn. 1985. Estimation, filtering, and smoothing in state space models with incompletely specified initial conditions. Annals of Statistics 13: 1286-1316.
Ansley, C. F., and P. Newbold. 1980. Finite sample properties of estimators for autoregressive moving average models. Journal of Econometrics 13: 159-183.
Hamilton, J. D. 1994. Time Series Analysis. Princeton: Princeton University Press.
Harvey, A. C. 1989. Forecasting, Structural Time Series Models and the Kalman Filter. Cambridge: Cambridge University Press.