> # install.packages("knitr")
> # install.packages("rmarkdown")
> # install.packages("prettydoc")
> # install.packages("equatiomatic")Indeks Harga Saham Gabungan (IHSG) adalah salah satu indeks pasar saham yang paling penting di Indonesia, yang mencerminkan kinerja keseluruhan pasar saham di Bursa Efek Indonesia. Menurut Jogiyanto (2017), fluktuasi harga saham adalah salah satu karakteristik pasar saham yang paling mencolok, dan sering kali mencerminkan ketidakpastian ekonomi, politik, atau faktor eksternal lainnya. Setiap hari, IHSG mengalami perubahan yang tidak dapat diprediksi, yang membuat kegiatan perdagangan saham memiliki tingkat risiko yang tinggi. Fluktuasi yang signifikan ini berpotensi menghasilkan nilai pencilan, yang memerlukan perhatian lebih dalam analisis dan pengambilan keputusan investasi.
Baru-baru ini, kebijakan pemerintah, seperti pengesahan RUU TNI pada 20 Maret 2025, memicu sentimen negatif di pasar saham Indonesia. Menurut Fama (1970), pergerakan harga saham dapat dipengaruhi oleh berita atau peristiwa yang memengaruhi pasar secara keseluruhan. Setelah disahkannya RUU TNI, IHSG mengalami penurunan yang signifikan, khususnya pada awal April 2025. Sentimen pasar yang terbentuk akibat kebijakan tersebut menunjukkan bahwa faktor politik dapat mempengaruhi fluktuasi harga saham dengan sangat cepat.
Melihat karakteristik IHSG yang selalu mengalami perubahan yang dinamis, peramalan harga saham menjadi sangat penting. Dalam hal ini, menurut Tsay (2014), peramalan saham dengan pendekatan statistik, seperti ARIMA, dapat membantu menganalisis pola perubahan harga saham di masa depan dan mengurangi ketidakpastian. Peramalan harga saham IHSG, khususnya berdasarkan data harga penutupan, memberikan panduan yang berharga bagi investor dalam mengambil keputusan investasi yang lebih tepat, dengan meminimalkan risiko kerugian akibat fluktuasi yang tidak terduga.
Berdasarkan permasalahan pada data IHSG terdapat beberapa pertanyaan yang ditetapkan adalah
Model deret waktu manakah yang sesuai untuk permasalahan tersebut?
Bagaiman kemampuan model deret waktu yang ditetapkan dalam memodelkan data IHSG?
Bagaimana hasil peramalan dengan model deret waktu pada kasus data IHSG?
Menentukan model deret waktu yang paling sesuai untuk memodelkan permasalahan yang berkaitan dengan peramalan harga saham pada Indeks Harga Saham Gabungan (IHSG).
Menganalisis kemampuan model deret waktu yang dipilih dalam memodelkan data IHSG secara akurat dan efisien.
Menilai hasil peramalan yang dihasilkan oleh model deret waktu terhadap data IHSG untuk memberikan gambaran yang lebih jelas bagi para investor dalam pengambilan keputusan investasi.
Penelitian ini menggunakan data sekunder yang diperoleh dari dataset historis Indeks Harga Saham Gabungan (IHSG). Data yang dipergunakan mencakup nilai harian IHSG beserta tanggal pencatatannya. Dataset ini mengandung informasi mengenai fluktuasi harga saham di Indonesia, dengan variabel-variabel utama sebagai berikut:
1.Tanggal: Tanggal pencatatan harga IHSG.
2.Harga Saham: Nilai IHSG yang tercatat setiap hari pada tanggal tertentu.
Data yang dianalisis mencakup perubahan harga harian IHSG dan pergerakan yang terjadi sepanjang periode yang ditentukan. Penelitian ini bertujuan untuk menganalisis pergerakan harga IHSG guna mengidentifikasi pola dan tren, serta untuk melakukan peramalan dengan menggunakan pendekatan ARIMA dan deteksi outlier.
Sebelum membangun model peramalan IHSG, dilakukan eksplorasi data untuk memahami karakteristik dasar seperti pola, tren, dan potensi outlier. Tahap ini menggunakan visualisasi dan statistik deskriptif guna memberikan gambaran awal yang jelas dan membantu menentukan pendekatan analisis yang tepat.
> ## Import data
> data_ihsg <- read_excel("C:/Users/Intan Maulilydiya SW/Downloads/Data IHSG.xlsx",
+ col_types = c("numeric", "date", "numeric"))
> data_ihsg
# A tibble: 298 × 3
No Tanggal `Harga Saham`
<dbl> <dttm> <dbl>
1 1 2024-01-02 00:00:00 7324.
2 2 2024-01-03 00:00:00 7279.
3 3 2024-01-04 00:00:00 7360.
4 4 2024-01-05 00:00:00 7351.
5 5 2024-01-08 00:00:00 7284.
6 6 2024-01-09 00:00:00 7200.
7 7 2024-01-10 00:00:00 7227.
8 8 2024-01-11 00:00:00 7220.
9 9 2024-01-12 00:00:00 7241.
10 10 2024-01-15 00:00:00 7224
# ℹ 288 more rows>
> ## Mendefinisikan Variabel
> harga_saham <- as.numeric(data_ihsg$`Harga Saham`)
> tanggal <- as.Date(data_ihsg$Tanggal)
> data_saham <- data.frame(tanggal, harga_saham)> ## Plot data
> plot(tanggal, harga_saham, type = "o", col = "blue", lwd = 2,
+ xlab = "Tanggal", ylab = "Harga Saham", main = "Grafik Harian IHSG")
> abline(v = tanggal[291], col = "red", lty = 3, lwd = 1.5)
Berdasarkan hasil visualisasi grafik diatas didapatkan bahwa data IHSG
memiliki pola fluktuatif yang dimana menunjukkan data cenderung menurun
pada ada akhir tahun 2024 sampai awal 2025.Hal ini mengindikasikan bahwa
adanya pola tren menurun. Data dengan pola tren ini menunjukkan bahwa
data belum stasioner terhadap rata-rata . Sehingga untuk memastikan data
tidak stasioner perlu dilakukan uji stasioneritas.
Pada tanggal 19 September 2024, nilai IHSG mencapai puncaknya sebesar 7905,39, yang merupakan nilai tertinggi dalam periode pengamatan.
Data deret waktu dapat dilakukan analisis lebih lanjut, seperti identifikasi dan pemodelan ARIMA, data deret waktu yang digunakan harus bersifat stasioner terhadap rata-rata dan ragam.
Pengujian hipotesis stasioneritas terhadap ragam dapat menggunakan statistik uji box-cox lambda dengan hipotesis sebagai berikut:
\[\begin{aligned} H_0 &: \lambda = 1 \quad \text{(Ragam sudah stabil)} \\ H_1 &: \lambda < 1 \quad \text{(Ragam belum stabil)} \end{aligned}\] Taraf nyata: α=0,05 Daerah penolakan: apabila nilai λ<1 maka \(H_0\) ditolak yang artinya data perlu ditransformasi agar ragam menjadi stabil.
> ##Uji Stasioneritas Terhadap Ragam
> ###Uji Box-Cox Lambda
> BoxCox.lambda(min(harga_saham) + 1)
[1] 1Berdasarkan hasil pengujian Box-Cox Lambda pada data harga saham, diperoleh nilai lambda = 1, Maka terima \(H_0\).Hal ini menunjukkan bahwa transformasi Box-Cox tidak diperlukan, karena data sudah memiliki keragaman yang konstan atau mendekati stasioner terhadap ragam.
Setelah dilakukan pemeriksaan terhadap ragam, langkah selanjutnya adalah menguji stasioneritas terhadap rata-rata. Data yang memiliki kecenderungan naik atau turun dari waktu ke waktu mengindikasikan adanya pola tren yang menyebabkan data tidak stasioner terhadap rata-rata. Pengujian hipotesis stasioneritas terhadap rata-rata dapat menggunakan statistik uji Dickey Fuller dengan hipotesis sebagai berikut:
\[ \begin{aligned} H_0 &: \varnothing = 1 \quad \text{(Data tidak stasioner terhadap rata-rata)} \\ H_1 &: \varnothing < 1 \quad \text{(Data stasioner terhadap rata-rata)} \end{aligned} \]
Taraf nyata: α=0,05 Daerah penolakan: apabila nilai-p kurang dari 0,05 maka \(H_0\) ditolak yang artinya data stasioner terhadap rata-rata.
> ###Uji ADF
> adf.test(harga_saham, k = 1)
Augmented Dickey-Fuller Test
data: harga_saham
Dickey-Fuller = -0.78673, Lag order = 1, p-value = 0.9621
alternative hypothesis: stationaryHasil uji menunjukkan:
• Statistik ADF = –0.78673
• p-value = 0.9621
Karena p-value > 0,05, maka \(H_0\) diterima. Berdasarkan hasil pengujian Uji Augmented Dickey-Fuller (ADF) didapatkan bahwa Data tidak stasioner terhadap rata-rata, artinya terdapat tren dalam data harga saham, sehingga perlu dilakukan transformasi diferensiasi untuk mencapai kestasioneran terhadap rata-rata.
> ## Differencing Pada Lag 1
> hargasaham_differencing1 <- diff(harga_saham, differences = 1)
> plot(hargasaham_differencing1, main = "Perubahan Harga Saham (Lag 1)",
+ ylab = "Harga Saham", xlab = "t", type = "o")Setelah dilakukan differencing lag 1, grafik menunjukkan bahwa data berosilasi di sekitar nol tanpa tren yang jelas, menandakan rata-rata pergerakan harga telah konstan dan tren jangka panjang hilang. Meskipun masih ada outlier, variabilitas data secara umum stabil.
> ## Uji Dickey Fuller
> adf.test(hargasaham_differencing1, k = 1)
Augmented Dickey-Fuller Test
data: hargasaham_differencing1
Dickey-Fuller = -13.487, Lag order = 1, p-value = 0.01
alternative hypothesis: stationaryHasil uji menunjukkan:
• Statistik ADF = –13.487
• p-value = 0.01 Karena p-value < 0,05, maka \(H_0\) ditolak.
Berdasarkan hasil pengujian Augmented Dickey-Fuller (ADF) setelah dilakukan differencing pada lag 1, diperoleh bahwa data telah stasioner terhadap rata-rata. Hal ini ditunjukkan oleh nilai p-value yang lebih kecil dari 0,05, proses differencing pada lag 1 berhasil menjadikan data stasioner dan dapat dilanjutkan ke tahap identifikasi model ARIMA.
> ##Identifikasi Model ARIMA
> par(mfrow = c(1, 2))
> acf(hargasaham_differencing1)
> pacf(hargasaham_differencing1)Plot ACF dan PACF menunjukkan nilai signifikan pada lag ke-1, dengan pola cut-off paling jelas pada PACF. Hal ini mengarah pada penggunaan model ARIMA restricted, yaitu model yang hanya mempertimbangkan lag signifikan. Berdasarkan pola tersebut, model yang sesuai adalah ARIMA(1,1,0) atau ARIMA(0,1,1).
> ## Pendugaan Parameter dan Uji Signifikansi
> model_arima1 <- arima(harga_saham, order = c(0,1,2), method = 'ML', include.mean = TRUE)
> coeftest(model_arima1)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ma1 0.005267 0.057615 0.0914 0.9272
ma2 -0.131139 0.060319 -2.1741 0.0297 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Berdasarkan hasil uji z dari model ARIMA(0,1,2) didapatkan:
• Parameter MA(1) tidak signifikan secara statistik karena nilai p-value sebesar 0.9272 > 0.05.
• Parameter MA(2) signifikan pada tingkat signifikansi 5%, karena memiliki p-value sebesar 0.0297 < 0.05.
Artinya, hanya parameter MA(2) yang memberikan kontribusi signifikan terhadap model. Oleh karena itu, disarankan untuk mempertimbangkan model alternatif seperti ARIMA(0,1,1) atau ARIMA(0,1,[2]) restricted model untuk mendapatkan model yang lebih efisien.
> model_arima2 <- arima(harga_saham, order = c(2,1,0), method = 'ML', include.mean = TRUE)
> coeftest(model_arima2)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 -0.0036892 0.0575046 -0.0642 0.94885
ar2 -0.1407980 0.0625260 -2.2518 0.02433 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Berdasarkan hasil uji z dari model ARIMA (2,1,0) didapatkan:
• Parameter AR(1) tidak signifikan karena nilai p-value sebesar 0.94885 > 0.05.
• Parameter AR(2) signifikan secara statistik pada tingkat signifikansi 5% dengan p-value 0.02433 < 0.05.
Artinya, hanya parameter AR(2) yang memberikan kontribusi signifikan terhadap model. Hal ini menunjukkan bahwa model ARIMA(2,1,0) dapat dipertimbangkan sebagai model restricted, atau sebagai alternatif dapat diuji model ARIMA([2],1,0) yang hanya memasukkan lag ke-2 dari AR.
> model_arima3 <- arima(harga_saham, order = c(2,1,2), method = 'ML', include.mean = TRUE)
> coeftest(model_arima3)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.841886 0.034172 24.636 < 2.2e-16 ***
ar2 -0.911607 0.030567 -29.823 < 2.2e-16 ***
ma1 -0.956146 0.023910 -39.990 < 2.2e-16 ***
ma2 0.993371 0.043210 22.989 < 2.2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Berdasarkan hasil uji z dari model ARIMA(2,1,2) didapatkan:
• Parameter AR(1) signifikan secara statistik pada tingkat signifikansi 5% dengan nilai p-value sebesar < 2.2e-16 < 0.05.
• Parameter AR(2) signifikan secara statistik pada tingkat signifikansi 5% dengan nilai p-value sebesar < 2.2e-16 < 0.05.
• Parameter MA(1) signifikan secara statistik pada tingkat signifikansi 5% dengan nilai p-value sebesar < 2.2e-16 < 0.05.
• Parameter MA(2) juga signifikan secara statistik pada tingkat signifikansi 5% dengan nilai p-value sebesar < 2.2e-16 < 0.05.
Artinya, keempat parameter dalam model ARIMA(2,1,2) memberikan kontribusi signifikan terhadap model. Hal ini menunjukkan bahwa model ARIMA(2,1,2) layak dipertimbangkan sebagai model yang baik karena seluruh parameternya signifikan secara statistik.
Model ARIMA(2,1,2) dengan seluruh parameter signifikan secara statistik, langkah selanjutnya adalah melakukan pengujian terhadap asumsi sisaan (residual) dari model. Pengujian ini bertujuan untuk memastikan bahwa sisaan model telah memenuhi asumsi dasar dari model ARIMA, yaitu: 1. Sisaan bersifat white noise (tidak mengandung autokorelasi), 2. Sisaan berdistribusi normal, dan 3. Sisaan memiliki varians konstan (homoskedastisitas).
> ## Sisaan
> sisaan_arima1 <- residuals(model_arima1)
> sisaan_arima1
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7.3235863 -44.1216516 80.1843262 -15.2853916 -56.5256277
[6] -85.0865242 20.1363841 -18.6042299 23.9186560 -19.7057291
[11] 22.0304705 -44.8602342 55.4653446 -31.7450853 27.9708986
[16] 3.9896426 -24.7629246 -49.1263732 -43.9386467 13.8690195
[21] 29.2148604 17.3849003 -2.5003454 39.3830161 -40.7053256
[26] 54.1690643 -17.8833852 69.7178950 -90.6424242 103.1601847
[31] 19.8298521 -25.4160720 58.6343437 -7.2218793 -1.6526851
[36] -45.4783687 -11.2571962 -4.4047174 41.8669370 -13.3281468
[41] 1.3606079 -36.9150125 -28.9171380 77.6512921 39.9588298
[46] 17.9226852 44.4457806 14.2162742 -99.5062812 -23.2115825
[51] 21.3730547 -8.7765273 10.0690774 10.5960167 28.8746440
[56] -10.8625276 -51.7261811 -22.4320627 -90.4151938 29.4544908
[61] -82.1521388 91.8553444 21.2228066 -110.1359196 -30.6067628
[66] 21.6880401 -83.6179864 -10.2154232 26.0781861 62.2430001
[71] -16.1479563 -110.9624338 118.1668082 63.2460563 15.1632142
[76] -108.5658105 19.8603156 -13.1718683 -9.6061520 -36.4967560
[81] 9.4024839 -20.3356886 97.4101455 63.6901261 82.9788574
[86] -42.6347626 -69.5436375 31.1151882 -55.2438008 81.5814003
[91] -121.0743349 -94.7537556 -78.7785536 53.4389714 52.5075570
[96] -144.9086003 34.8790517 -96.1369469 28.6803769 -78.6184092
[101] -1.4147847 -28.8425252 -96.7636196 -11.1827365 79.7693696
[106] 58.7733540 19.3413521 1.1356353 25.4704333 62.3247730
[111] 98.6419127 83.7036879 -1.9950214 82.5973655 23.4433310
[116] 43.1882984 0.4568720 24.4812844 17.1709702 16.4900227
[121] 29.3349385 -46.7120151 -50.4769979 -5.9299252 90.2617061
[126] -27.8230586 39.4634177 -11.9765564 -45.8617072 -23.8090442
[131] 42.0011228 -2.6135268 -41.5182293 13.7759413 64.7027629
[136] -16.3942218 -239.8985647 68.6736238 51.0981220 -8.2733125
[141] 68.6245567 39.1835944 67.8030071 84.1813954 -18.0917354
[146] 33.7247938 32.1898297 71.4031069 24.4552749 -56.6750408
[151] 59.1255612 54.1462487 -0.8414950 68.1051428 -31.7490652
[156] 52.2284960 19.3613551 -71.2627593 59.2943812 -1.5176663
[161] 48.5938276 -19.5649712 65.1256184 -3.3387588 45.7481248
[166] 13.3012001 25.5793272 -1.0404147 79.6199394 -162.9458002
[171] 44.0295578 -18.8405318 -31.7167532 1.3163157 -51.7662514
[176] -168.5447245 108.2991315 -101.5432817 -4.6928770 -61.0316151
[181] 7.7460341 44.9655474 -55.0710241 -15.0231809 33.3771424
[186] 36.9040695 71.4826860 26.4530787 95.3348727 27.9869110
[191] 24.8947572 19.9190673 1.7397710 -68.4069874 -21.3015455
[196] -68.8886605 -30.4606347 -45.6235856 0.4157093 -74.7452426
[201] -25.3117985 2.7612662 -111.3939196 -139.0611736 29.4542995
[206] -39.1215461 59.5986758 -18.7642872 -86.1954288 -55.3067447
[211] -37.9923209 54.3772093 -20.6486995 -32.1802439 52.1116348
[216] 114.0554260 -61.9868412 -30.4463446 -93.8585599 -70.7783616
[221] 137.0942296 120.7360831 3.8925445 85.2927644 55.0012265
[226] 26.4555551 18.5334897 -67.1382489 -66.6659086 -74.6133432
[231] -109.2495414 -59.0593338 -144.6558601 -0.3531030 93.6017662
[236] -31.2293093 -16.7406277 39.3227782 80.9075285 5.9506259
[241] -73.3811713 3.9768630 -12.5741146 -15.1722480 22.7109499
[246] -74.0992999 -56.8414145 113.4720423 19.9081858 61.9158070
[251] 18.3646365 19.1028793 77.6177133 -22.3936734 -56.2833056
[256] -95.2202486 28.8405650 -91.7790376 47.6655397 -61.5169107
[261] -142.1151546 -140.2787703 -112.3380540 -133.9543961 99.7635887
[266] -50.3021672 38.2378878 185.6220000 46.7068195 -54.5836347
[271] -0.4173984 7.8041293 -53.4958420 -161.2048063 12.9236543
[276] -141.9383830 -212.4076047 231.5650327 -168.3346823 182.2539410
[281] 63.4147407 41.7166787 -29.6935473 -46.7328998 115.5421475
[286] -24.3570922 -116.5095738 -46.2605166 -263.5953487 83.5917853
[291] 35.0019637 -112.7121736 -91.7762022 60.1023729 224.3879559
[296] 44.9599350 -485.2906867 -15.1279360> sisaan_arima2 <- residuals(model_arima2)
> sisaan_arima2
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7.32358626 -44.05645230 79.72496145 -15.10790003 -55.71554823
[6] -84.91421838 17.35329811 -18.97975591 24.96854579 -18.09531941
[11] 21.70886757 -44.50395661 54.83005626 -31.31294830 27.80503182
[16] 4.77553584 -25.48879745 -48.71618759 -45.13371914 12.92000429
[21] 29.35840311 18.67653000 -1.24703712 39.28032318 -40.91174623
[26] 53.86400042 -17.73585708 69.34430254 -89.42553316 102.01829551
[31] 20.22472490 -25.55074498 60.29885294 -8.84236548 -1.52260159
[36] -45.07866153 -12.76500252 -4.81275537 41.73733287 -12.15898622
[41] 1.85314163 -36.93969311 -30.01106426 77.28148669 40.33979789
[46] 19.70621958 45.54696706 13.36432995 -99.68200077 -24.28467161
[51] 19.38516310 -9.09788759 12.02863654 11.03535162 28.67009400
[56] -10.33672485 -51.72720792 -23.18866502 -91.65264900 28.61484762
[61] -81.81406913 91.79550917 22.92745905 -109.62190513 -29.84722496
[66] 18.65747070 -84.14020550 -8.72875327 25.74816597 61.95569168
[71] -13.79680671 -110.30933469 116.55125585 62.07707470 17.14282380
[76] -105.73862420 16.86917334 -15.20856200 -9.83987896 -34.70056996
[81] 8.61254258 -20.36395878 97.48697176 65.04205466 84.31315763
[86] -40.87460330 -70.90460198 28.92512799 -57.18128913 82.15704139
[91] -119.58622973 -95.63734684 -79.75787728 50.27884842 54.43486871
[96] -142.19191038 35.55773432 -98.20014487 27.15004319 -76.60733730
[101] -2.51013998 -27.83357618 -97.58545865 -10.87725200 78.75143190
[106] 59.88717173 22.42351909 2.10470798 24.21006400 61.48366783
[111] 99.08978019 85.17592045 -0.74492647 82.26422790 22.36402237
[116] 42.65159939 1.12868843 23.38430042 16.97292393 16.08341964
[121] 29.64668160 -46.73729531 -50.92425811 -7.13099700 89.16639723
[126] -26.22255528 41.01825968 -11.75962206 -47.26082857 -23.81179836
[131] 40.61229081 -2.25846152 -40.29449270 13.82924178 63.64814420
[136] -15.64385164 -238.64905685 66.12868896 48.19255346 -6.91018430
[141] 73.49221304 38.46331544 67.87247044 85.33832164 -17.93858879
[146] 33.67144600 31.08656161 70.45878922 25.74905189 -56.37938243
[151] 58.27868966 52.81520084 -0.25049204 69.68332818 -32.22498884
[156] 51.60327671 19.55495579 -71.84958076 59.44319563 -2.63565063
[161] 48.77821904 -17.81334772 64.32546371 -2.90427644 45.44621382
[166] 14.05665883 24.93785127 -0.60915146 79.01690344 -162.48177497
[171] 42.86816041 -19.98343222 -32.97150063 3.86992473 -52.87924025
[176] -168.65591808 106.87457661 -102.24213830 -3.64184177 -58.91641635
[181] 5.12817251 46.31796682 -54.52241908 -13.95234301 32.57818582
[186] 36.21316237 73.14919711 27.73644447 95.65682838 28.43378859
[191] 24.75500830 19.94902766 0.40603574 -68.70896815 -22.35190434
[196] -70.10881988 -31.33353093 -45.30551010 0.08785457 -73.91894089
[201] -25.42654302 2.65369826 -111.64109842 -138.65853809 27.59884560
[206] -40.28326825 61.55429803 -16.03387948 -86.34062980 -55.52262092
[211] -40.42713097 53.82593383 -18.95210034 -30.82752164 52.33909852
[216] 113.20136019 -60.08803507 -29.29008050 -95.66394449 -74.03555735
[221] 136.68865300 121.81691732 8.01544767 87.83830496 53.30259421
[226] 25.54532760 19.25284397 -68.27690537 -68.09658204 -76.34388002
[231] -110.92249666 -59.53743475 -145.03042130 -0.87073736 94.20061438
[236] -29.34121449 -13.44359600 38.90125937 79.36136934 7.62812408
[241] -72.22562135 2.67202692 -14.74102979 -15.37516714 23.80931994
[246] -74.11940164 -57.05701227 112.53182736 19.93592277 64.54581144
[251] 20.19062053 17.77653830 77.61490767 -22.65212377 -56.06685475
[256] -96.27376998 26.00412438 -92.04329607 48.13733847 -60.21263835
[261] -142.76098877 -140.44003298 -115.86576643 -135.21890595 100.06453847
[266] -48.14388682 40.79256989 187.97672239 46.88434012 -51.43023823
[271] -1.11241869 3.85681938 -54.30645937 -160.60066670 10.97185458
[276] -143.54064888 -212.60756606 231.26883455 -168.59160493 185.55337897
[281] 67.39954812 39.72942426 -25.55105733 -49.94393255 113.67607784
[286] -24.55246337 -115.07329547 -46.64706180 -267.27690773 81.20295367
[291] 35.33890687 -110.80348230 -87.55831632 56.65515388 223.36270775
[296] 49.60875304 -481.00634221 -20.09109807> sisaan_arima3 <- residuals(model_arima3)
> sisaan_arima1
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7.3235863 -44.1216516 80.1843262 -15.2853916 -56.5256277
[6] -85.0865242 20.1363841 -18.6042299 23.9186560 -19.7057291
[11] 22.0304705 -44.8602342 55.4653446 -31.7450853 27.9708986
[16] 3.9896426 -24.7629246 -49.1263732 -43.9386467 13.8690195
[21] 29.2148604 17.3849003 -2.5003454 39.3830161 -40.7053256
[26] 54.1690643 -17.8833852 69.7178950 -90.6424242 103.1601847
[31] 19.8298521 -25.4160720 58.6343437 -7.2218793 -1.6526851
[36] -45.4783687 -11.2571962 -4.4047174 41.8669370 -13.3281468
[41] 1.3606079 -36.9150125 -28.9171380 77.6512921 39.9588298
[46] 17.9226852 44.4457806 14.2162742 -99.5062812 -23.2115825
[51] 21.3730547 -8.7765273 10.0690774 10.5960167 28.8746440
[56] -10.8625276 -51.7261811 -22.4320627 -90.4151938 29.4544908
[61] -82.1521388 91.8553444 21.2228066 -110.1359196 -30.6067628
[66] 21.6880401 -83.6179864 -10.2154232 26.0781861 62.2430001
[71] -16.1479563 -110.9624338 118.1668082 63.2460563 15.1632142
[76] -108.5658105 19.8603156 -13.1718683 -9.6061520 -36.4967560
[81] 9.4024839 -20.3356886 97.4101455 63.6901261 82.9788574
[86] -42.6347626 -69.5436375 31.1151882 -55.2438008 81.5814003
[91] -121.0743349 -94.7537556 -78.7785536 53.4389714 52.5075570
[96] -144.9086003 34.8790517 -96.1369469 28.6803769 -78.6184092
[101] -1.4147847 -28.8425252 -96.7636196 -11.1827365 79.7693696
[106] 58.7733540 19.3413521 1.1356353 25.4704333 62.3247730
[111] 98.6419127 83.7036879 -1.9950214 82.5973655 23.4433310
[116] 43.1882984 0.4568720 24.4812844 17.1709702 16.4900227
[121] 29.3349385 -46.7120151 -50.4769979 -5.9299252 90.2617061
[126] -27.8230586 39.4634177 -11.9765564 -45.8617072 -23.8090442
[131] 42.0011228 -2.6135268 -41.5182293 13.7759413 64.7027629
[136] -16.3942218 -239.8985647 68.6736238 51.0981220 -8.2733125
[141] 68.6245567 39.1835944 67.8030071 84.1813954 -18.0917354
[146] 33.7247938 32.1898297 71.4031069 24.4552749 -56.6750408
[151] 59.1255612 54.1462487 -0.8414950 68.1051428 -31.7490652
[156] 52.2284960 19.3613551 -71.2627593 59.2943812 -1.5176663
[161] 48.5938276 -19.5649712 65.1256184 -3.3387588 45.7481248
[166] 13.3012001 25.5793272 -1.0404147 79.6199394 -162.9458002
[171] 44.0295578 -18.8405318 -31.7167532 1.3163157 -51.7662514
[176] -168.5447245 108.2991315 -101.5432817 -4.6928770 -61.0316151
[181] 7.7460341 44.9655474 -55.0710241 -15.0231809 33.3771424
[186] 36.9040695 71.4826860 26.4530787 95.3348727 27.9869110
[191] 24.8947572 19.9190673 1.7397710 -68.4069874 -21.3015455
[196] -68.8886605 -30.4606347 -45.6235856 0.4157093 -74.7452426
[201] -25.3117985 2.7612662 -111.3939196 -139.0611736 29.4542995
[206] -39.1215461 59.5986758 -18.7642872 -86.1954288 -55.3067447
[211] -37.9923209 54.3772093 -20.6486995 -32.1802439 52.1116348
[216] 114.0554260 -61.9868412 -30.4463446 -93.8585599 -70.7783616
[221] 137.0942296 120.7360831 3.8925445 85.2927644 55.0012265
[226] 26.4555551 18.5334897 -67.1382489 -66.6659086 -74.6133432
[231] -109.2495414 -59.0593338 -144.6558601 -0.3531030 93.6017662
[236] -31.2293093 -16.7406277 39.3227782 80.9075285 5.9506259
[241] -73.3811713 3.9768630 -12.5741146 -15.1722480 22.7109499
[246] -74.0992999 -56.8414145 113.4720423 19.9081858 61.9158070
[251] 18.3646365 19.1028793 77.6177133 -22.3936734 -56.2833056
[256] -95.2202486 28.8405650 -91.7790376 47.6655397 -61.5169107
[261] -142.1151546 -140.2787703 -112.3380540 -133.9543961 99.7635887
[266] -50.3021672 38.2378878 185.6220000 46.7068195 -54.5836347
[271] -0.4173984 7.8041293 -53.4958420 -161.2048063 12.9236543
[276] -141.9383830 -212.4076047 231.5650327 -168.3346823 182.2539410
[281] 63.4147407 41.7166787 -29.6935473 -46.7328998 115.5421475
[286] -24.3570922 -116.5095738 -46.2605166 -263.5953487 83.5917853
[291] 35.0019637 -112.7121736 -91.7762022 60.1023729 224.3879559
[296] 44.9599350 -485.2906867 -15.1279360> ## Uji Ljung-Box
> Box.test(sisaan_arima1, lag=2, type = 'Ljung-Box')
Box-Ljung test
data: sisaan_arima1
X-squared = 0.039275, df = 2, p-value = 0.9806> Box.test(sisaan_arima2, lag=2, type = 'Ljung-Box')
Box-Ljung test
data: sisaan_arima2
X-squared = 0.0042048, df = 2, p-value = 0.9979> Box.test(sisaan_arima3, lag=2, type = 'Ljung-Box')
Box-Ljung test
data: sisaan_arima3
X-squared = 3.0162, df = 2, p-value = 0.2213Dari output diatas didapatkan:
Nilai p-value sebesar 0.9806 menunjukkan bahwa tidak terdapat autokorelasi yang signifikan dalam sisaan. Ini berarti sisaan dari model ini bersifat acak atau white noise, sehingga memenuhi salah satu asumsi penting dalam pemodelan time series.
Nilai p-value sebesar 0.9979 menunjukkan bahwa sisaan tidak menunjukkan autokorelasi secara signifikan. Artinya, model ini telah menangkap pola yang ada dalam data, dan sisaan yang dihasilkan bersifat acak.
Nilai p-value sebesar 0.2213, yang masih lebih besar dari 0.05, menunjukkan bahwa tidak ada autokorelasi yang signifikan dalam sisaan. Sisaan dapat dianggap sebagai white noise.
> ## Uji Normalitas Jarque-Bera
> jarque.bera.test(sisaan_arima1)
Jarque Bera Test
data: sisaan_arima1
X-squared = 467.3, df = 2, p-value < 2.2e-16> jarque.bera.test(sisaan_arima2)
Jarque Bera Test
data: sisaan_arima2
X-squared = 444.43, df = 2, p-value < 2.2e-16> jarque.bera.test(sisaan_arima3)
Jarque Bera Test
data: sisaan_arima3
X-squared = 438.28, df = 2, p-value < 2.2e-16Dari output didapatkan:
Hasil uji menunjukkan p-value yang sangat kecil (< 2.2e-16) mengindikasikan bahwa distribusi sisaan tidak mengikuti distribusi normal. Dengan demikian, asumsi normalitas sisaan tidak terpenuhi.
Hasil uji menunjukkan p-value yang sangat kecil (< 2.2e-16), sehingga dapat disimpulkan bahwa sisaan tidak mengikuti distribusi normal.
Hasil uji menunjukkan p-value yang sangat kecil (< 2.2e-16) menunjukkan bahwa distribusi sisaan tidak normal secara statistik.
> ## Pemilihan Model Terbaik
> tabel_aic_arima <- data.frame(Nama=c("Model 1", "Model 2", "Model 3"),
+ Model=c("ARIMA(0,1,2)", "ARIMA(2,1,0)", "ARIMA(2,1,2)"),
+ AIC=c(model_arima1$aic, model_arima2$aic, model_arima3$aic))
> tabel_aic_arima
Nama Model AIC
1 Model 1 ARIMA(0,1,2) 3413.732
2 Model 2 ARIMA(2,1,0) 3413.355
3 Model 3 ARIMA(2,1,2) 3404.847Berikut ini merupakan nilai AIC dari ketiga model yang telah diestimasi:
• Model 1: ARIMA(0,1,2) dengan AIC = 3413.732
• Model 2: ARIMA(2,1,0) dengan AIC = 3413.355
• Model 3: ARIMA(2,1,2) dengan AIC = 3404.847
Dari ketiga model tersebut, dapat dilihat bahwa Model 3 (ARIMA(2,1,2)) memiliki nilai AIC yang paling rendah, yaitu 3404.847. Hal ini menunjukkan bahwa Model 3 memiliki kemampuan terbaik dalam menangkap pola data harga saham dengan parameter yang cukup efisien dibandingkan model lainnya. Meskipun Model 2 memiliki AIC yang sedikit lebih rendah dibandingkan Model 1, perbedaannya tidak signifikan. Namun, perbedaan antara Model 3 dengan dua model lainnya cukup mencolok, sehingga dapat disimpulkan bahwa Model ARIMA(2,1,2) merupakan model terbaik dari ketiga alternatif yang diuji dan akan digunakan untuk tahap analisis lanjutan seperti deteksi outlier, pemodelan intervensi, dan peramalan.
Evaluasi prediksi dilakukan untuk menilai keakuratan model ARIMA dalam memprediksi harga saham. Hasil menunjukkan bahwa model ARIMA(2,1,2), baik yang murni maupun dengan intervensi (AO, IO, TC), mampu mendekati nilai aktual dengan baik. Model intervensi menunjukkan peningkatan akurasi, terutama pada titik-titik data yang dipengaruhi oleh outlier.
> ##Evaluasi Prediksi
> ### Prediksi awal dengan model terbaik
> prediksi_arima <- harga_saham - sisaan_arima3
> prediksi_arima
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7316.266 7321.820 7285.312 7355.981 7343.555 7284.804 7215.015 7232.679
[9] 7213.875 7227.231 7220.290 7248.320 7216.324 7253.643 7219.427 7236.315
[17] 7252.535 7237.964 7194.123 7144.530 7144.836 7171.134 7200.208 7216.943
[25] 7255.209 7207.112 7231.441 7217.504 7287.166 7232.206 7318.870 7330.433
[33] 7284.191 7336.857 7350.202 7356.141 7313.750 7283.775 7266.901 7306.360
[41] 7317.200 7333.693 7299.573 7249.798 7299.084 7343.457 7385.500 7450.450
[49] 7457.657 7335.122 7281.387 7304.222 7323.965 7362.118 7379.073 7379.597
[57] 7342.029 7291.139 7291.545 7234.386 7251.824 7163.321 7221.890 7261.097
[65] 7188.004 7173.315 7177.218 7067.216 7040.615 7094.302 7186.663 7188.876
[73] 7069.080 7132.470 7179.704 7210.233 7161.397 7189.344 7145.741 7080.701
[81] 7041.503 7092.518 7126.873 7215.770 7238.618 7270.983 7241.179 7212.764
[89] 7262.347 7196.597 7220.678 7107.181 7038.200 7006.615 7054.442 7078.355
[97] 6931.975 6965.559 6915.422 6938.470 6863.865 6836.772 6812.031 6738.903
[105] 6743.986 6820.742 6864.749 6876.843 6887.502 6919.529 6971.569 7047.608
[113] 7119.485 7129.505 7211.582 7233.615 7249.035 7237.177 7258.677 7289.592
[121] 7313.719 7335.475 7280.683 7220.693 7215.177 7304.873 7298.618 7336.646
[129] 7326.627 7265.568 7229.143 7267.599 7283.748 7262.697 7275.703 7317.453
[137] 7286.941 7075.021 7137.746 7201.027 7184.739 7249.821 7301.439 7364.071
[145] 7434.845 7410.334 7429.526 7461.587 7526.654 7555.492 7506.068 7548.671
[153] 7590.477 7584.572 7654.016 7644.586 7684.425 7691.265 7610.802 7658.136
[161] 7676.237 7727.792 7718.703 7762.552 7751.069 7783.336 7809.169 7842.451
[169] 7844.284 7899.977 7747.478 7768.800 7769.632 7743.814 7752.551 7706.998
[177] 7545.379 7622.231 7545.014 7541.956 7516.263 7520.650 7547.418 7486.202
[185] 7473.379 7522.912 7567.396 7627.529 7644.853 7722.553 7756.203 7781.863
[193] 7800.759 7790.953 7716.075 7687.574 7633.386 7610.770 7577.027 7573.207
[201] 7505.506 7478.024 7486.601 7393.292 7265.559 7282.433 7246.369 7299.513
[209] 7312.879 7250.398 7189.816 7124.996 7149.396 7151.906 7162.988 7235.594
[217] 7321.195 7230.199 7177.787 7114.477 7070.392 7195.990 7300.547 7300.422
[225] 7387.528 7454.334 7467.089 7461.309 7386.144 7322.644 7266.429 7173.435
[233] 7112.559 6977.071 6968.012 7069.109 7067.848 7066.575 7099.305 7145.990
[241] 7135.194 7079.295 7104.056 7101.890 7066.173 7064.908 7002.516 6967.946
[249] 7085.736 7108.990 7146.832 7163.777 7183.050 7257.470 7240.510 7178.754
[257] 7083.059 7094.150 7018.152 7065.624 7037.478 6908.809 6764.320 6635.870
[265] 6504.513 6609.324 6618.852 6674.419 6840.080 6857.238 6782.582 6786.929
[273] 6811.802 6766.234 6608.517 6594.751 6468.387 6280.683 6500.309 6388.056
[281] 6529.519 6610.793 6635.987 6610.918 6561.048 6649.110 6628.637 6527.060
[289] 6495.601 6259.580 6292.705 6326.699 6244.121 6203.460 6273.805 6445.975
[297] 6461.840 6037.506Grafik efek outlier menunjukkan sebagian besar data mendekati nol, menandakan tidak ada pengaruh outlier signifikan pada sebagian besar periode. Namun, penurunan tajam pada waktu ke-145 dan antara waktu ke-265 hingga 290 mengindikasikan adanya outlier besar, kemungkinan akibat kejutan pasar atau ekonomi. Efek outlier terbesar muncul di akhir periode, hampir mencapai –700, menandakan gangguan ekstrem. Kondisi ini mendukung perlunya model ARIMA dengan intervensi untuk mengoreksi pengaruh outlier dan meningkatkan akurasi peramalan.
> ## Deteksi Outlier
> outlier <- tso(prediksi_arima, types = c('AO','IO','IS','TC'))
> xreg_outlier <- outlier$effects
> plot(outlier$effects)Berdasarkan grafik efek outlier terhadap waktu, terlihat bahwa sebagian besar data berada pada kisaran efek mendekati nol, yang menunjukkan bahwa pada rentang waktu tersebut tidak terdapat pengaruh outlier yang signifikan terhadap data harga saham. Namun, terdapat beberapa titik waktu yang menunjukkan penurunan tajam pada nilai efek outlier, khususnya di sekitar waktu ke-145 dan antara waktu ke-265 hingga ke-290. Penurunan yang tajam ini mengindikasikan adanya outlier signifikan yang berdampak negatif besar terhadap data, yang kemungkinan disebabkan oleh kejadian luar biasa seperti berita pasar yang ekstrem atau kejutan ekonomi.
Efek outlier terbesar terjadi pada akhir periode pengamatan, yaitu mendekati waktu ke-280 hingga ke-290, dengan nilai efek hampir mencapai -700, menunjukkan adanya gangguan ekstrem atau perubahan struktural yang signifikan pada data. Keberadaan outlier-outlier ini menjadi alasan penting dalam penggunaan model ARIMA dengan intervensi, karena pendekatan tersebut mampu menangkap dan mengoreksi pengaruh-pengaruh ekstrem, sehingga menghasilkan model peramalan yang lebih akurat.
> ##Dummy Outlier
> outlier_dummy_AO <- rep(0, length(xreg_outlier)); outlier_dummy_AO[c(278, 298)] <- 1
> outlier_dummy_IO <- rep(0, length(xreg_outlier)); outlier_dummy_IO[290] <- 1
> outlier_dummy_TC <- rep(0, length(xreg_outlier)); outlier_dummy_TC[138] <- 1
> xreg_AO<-outlier_dummy_AO
> xreg_IO<-outlier_dummy_IO
> xreg_TC<-outlier_dummy_TC> ## ARIMA dengan Outlier
> arima_AO <- arima(harga_saham, order = c(2,1,2), xreg = outlier_dummy_AO, method = 'ML', include.mean = TRUE)
> coeftest(arima_AO)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.468144 0.115135 4.0661 4.781e-05 ***
ar2 -0.889507 0.078628 -11.3129 < 2.2e-16 ***
ma1 -0.431496 0.150715 -2.8630 0.0041966 **
ma2 0.736519 0.100291 7.3438 2.076e-13 ***
xreg 157.131404 45.472937 3.4555 0.0005493 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> arima_IO <- arima(harga_saham, order = c(2,1,2), xreg = outlier_dummy_IO, method = 'ML',include.mean = TRUE)
> coeftest(arima_IO)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.842601 0.034812 24.2042 <2e-16 ***
ar2 -0.911344 0.030589 -29.7936 <2e-16 ***
ma1 -0.956863 0.028435 -33.6512 <2e-16 ***
ma2 0.994643 0.053198 18.6971 <2e-16 ***
xreg 6.685566 56.862303 0.1176 0.9064
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> arima_TC <- arima(harga_saham, order = c(2,1,2), xreg = outlier_dummy_TC, method = 'ML',include.mean = TRUE)
> coeftest(arima_TC)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar1 0.842020 0.034164 24.6464 <2e-16 ***
ar2 -0.911291 0.030602 -29.7789 <2e-16 ***
ma1 -0.956629 0.024420 -39.1739 <2e-16 ***
ma2 0.993452 0.043544 22.8147 <2e-16 ***
xreg -7.541818 51.508637 -0.1464 0.8836
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Hasil estimasi model ARIMA(2,1,2) dengan memasukkan variabel dummy outlier menunjukkan bahwa seluruh parameter dalam kedua model baik model dengan outlier tipe Additive (AO) maupun Innovational (IO) bersifat signifikan secara statistik, yang ditunjukkan oleh nilai p-value yang sangat kecil (p < 0.01). Pada model ARIMA_AO, semua parameter AR dan MA signifikan, dan dummy outlier memiliki pengaruh yang sangat kuat terhadap model, terlihat dari nilai estimasi koefisien yang besar dan signifikan. Sementara itu, pada model ARIMA_IO, meskipun semua parameter juga signifikan, pengaruh dummy IO terhadap model relatif lebih kecil dibandingkan AO. Hal ini mengindikasikan bahwa jenis outlier yang bersifat additif memberikan dampak yang lebih besar terhadap perubahan nilai pada data harga saham dibandingkan dengan outlier bertipe inovasi. Dengan demikian, model dengan outlier AO dapat dianggap lebih sensitif dalam menangkap efek anomali pada data. Hasil estimasi model ARIMA(2,1,2) dengan outlier tipe Temporary Change (TC) menunjukkan bahwa seluruh parameter model (AR, MA, dan dummy outlier TC) signifikan secara statistik, dengan nilai p-value < 0.01. Ini menandakan bahwa komponen model memberikan kontribusi penting terhadap model peramalan.
> ## Residual dan Uji Asumsi
> sisaan_AO <- residuals(arima_AO); Box.test(sisaan_AO, lag=2, type = 'Ljung-Box'); jarque.bera.test(sisaan_AO)
Box-Ljung test
data: sisaan_AO
X-squared = 1.0395, df = 2, p-value = 0.5947
Jarque Bera Test
data: sisaan_AO
X-squared = 325.75, df = 2, p-value < 2.2e-16> sisaan_AO
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7.3235859 -42.1978139 78.9499701 -22.9342836 -55.0771655
[6] -65.9399093 17.3048407 -38.6654303 19.3241522 2.9486553
[11] 32.6556140 -54.1185372 41.4132003 -29.8932738 35.6802168
[16] 13.3181634 -34.5155992 -53.7649714 -40.7029988 16.9871397
[21] 26.5215847 16.1069623 4.9962476 44.2860109 -47.6524579
[26] 47.4080183 -15.2803855 70.1479990 -86.5797028 101.2918288
[31] 17.7293342 -37.6901516 73.4568843 -4.8419776 -14.1721264
[36] -45.8821889 -8.1323411 -2.5539535 37.4717219 -13.4258201
[41] 6.8074518 -31.5135447 -35.1777516 72.8081679 36.8848637
[46] 22.8097561 57.5347526 8.7996792 -114.5453728 -21.4670820
[51] 27.7569714 -16.6607761 12.7284434 21.1842258 28.2742910
[56] -17.9316438 -53.9081714 -16.0823954 -90.4528378 25.0133647
[61] -82.1659013 94.9116215 30.5700455 -116.1035433 -20.5460778
[66] 19.9377678 -102.8100362 -3.3383072 46.8841978 57.0840645
[71] -26.0668967 -106.8148258 131.5020023 51.7588084 -4.7580131
[76] -87.1993276 37.8481122 -30.2501721 -38.3679536 -22.3062307
[81] 34.4813419 -20.0665661 78.5845525 56.7963491 91.3184205
[86] -26.5197013 -72.9404515 17.1900580 -73.5715640 86.6439522
[91] -98.8537539 -90.7935745 -80.9739489 32.6939176 49.8314234
[96] -125.5487187 63.4894932 -104.7178250 -8.1015769 -71.7248090
[101] 21.2523550 -12.5089598 -114.0732843 -19.1269006 85.8250716
[106] 61.4879633 26.3027341 9.2476558 18.7613050 47.1000087
[111] 93.3706011 92.3054631 6.0312890 80.6580862 8.0886983
[116] 28.9605525 10.4162349 31.9945865 12.4373710 3.8417439
[121] 28.7433359 -39.9736688 -46.0126146 -8.2729910 78.6618243
[126] -31.9365723 54.3508434 2.3552685 -61.8691959 -34.2116167
[131] 43.7657993 2.3967430 -35.9834553 19.2788881 56.6916794
[136] -28.1060044 -231.5299388 90.7896483 39.0418435 -43.9763938
[141] 95.8703162 70.2878270 54.7505051 59.7717167 -25.7544405
[146] 50.5054045 41.3186279 51.6112195 11.9136211 -48.7000777
[151] 75.0196253 45.4636417 -23.4451375 76.3405072 -17.0201963
[156] 48.4630383 9.2324734 -82.4976117 71.6729247 4.0432780
[161] 36.1058389 -18.3728200 69.3765522 -1.4175051 37.8520329
[166] 13.5642387 24.1602445 1.0209834 77.6254452 -167.7047978
[171] 47.0491569 -13.1899733 -50.1125640 11.7638960 -40.7462846
[176] -169.7325077 107.7427615 -111.1479460 -8.2403175 -30.4923765
[181] 6.0179154 31.8360112 -64.2098998 0.9344594 48.4654521
[186] 21.4387488 58.6167547 34.7219487 107.4792898 25.0764918
[191] 9.0733555 18.2107155 3.2413525 -67.7890350 -21.5481760
[196] -72.3161853 -34.7320729 -38.7494578 5.3020543 -72.5739837
[201] -25.0815900 5.9564774 -115.7494471 -132.6982205 40.7478006
[206] -50.2371777 52.0882762 1.7210084 -76.1014430 -55.1961794
[211] -53.5060957 44.2152437 -9.6500153 -14.3068826 60.3576975
[216] 94.4829547 -78.7925907 -11.9293988 -72.2791127 -90.1501222
[221] 118.4626092 118.6398971 21.8505776 114.1184604 43.5977231
[226] -13.5951640 15.0683421 -45.5191829 -56.9868680 -87.4303175
[231] -127.4576766 -52.0673099 -125.6459829 7.5793426 89.0722335
[236] -44.6396104 0.4538659 62.7652727 63.8181729 -17.9293512
[241] -65.1661078 28.2870049 -18.7266298 -40.8032129 25.2378169
[246] -56.4327944 -47.8497324 107.9582824 -1.3016358 63.2871242
[251] 47.1490865 19.2160069 57.9916311 -39.0200297 -47.6753488
[256] -75.0276724 22.5771469 -113.2113439 46.7433929 -36.3910757
[261] -137.1686888 -139.5270108 -123.6341716 -140.7905046 114.4684290
[266] -35.7087330 41.4694849 196.3109648 28.8937643 -59.6161728
[271] 20.9538872 1.1210309 -81.4279920 -160.1655686 38.5310115
[276] -139.6295597 -229.9786634 88.7243373 -8.6069856 155.3436175
[281] 105.0262716 42.8992083 -28.2320473 -62.3023964 103.9978147
[286] -29.2311320 -106.7305346 -22.1808518 -276.3013576 62.8920604
[291] 38.2301460 -107.5731126 -51.4491017 66.9757192 182.4565157
[296] 23.0111141 -446.2629927 -115.3367546Uji Ljung-Box digunakan untuk menguji apakah residual model bersifat white noise (tidak berkorelasi).
• Nilai p-value = 0.5947 (lebih besar dari 0.05)
Kesimpulan: Tidak terdapat autokorelasi yang signifikan pada residual. Artinya, residual model bersifat acak dan model ARIMA dengan intervensi sudah cukup baik dalam menangkap pola data tanpa menyisakan struktur yang terorganisir pada sisaan.
Uji Jarque-Bera digunakan untuk menguji apakah residual mengikuti distribusi normal. • Nilai p-value < 2.2e-16 (sangat kecil, jauh di bawah 0.05) Kesimpulan: Residual tidak mengikuti distribusi normal. Hal ini mengindikasikan adanya deviasi dari normalitas, seperti kecondongan (skewness) atau keruncingan (kurtosis) yang ekstrim.
> ## Residual dan Uji Asumsi
> sisaan_IO <- residuals(arima_IO); Box.test(sisaan_IO, lag=2, type = 'Ljung-Box'); jarque.bera.test(sisaan_IO)
Box-Ljung test
data: sisaan_IO
X-squared = 3.0826, df = 2, p-value = 0.2141
Jarque Bera Test
data: sisaan_IO
X-squared = 440.51, df = 2, p-value < 2.2e-16> sisaan_IO
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7.3235860 -42.7210028 74.4383555 -5.3305140 -60.0103705
[6] -84.6294411 12.3625052 -12.5312234 27.3354207 -3.3229364
[11] 22.3196545 -47.7419209 36.7247231 -26.0704359 28.5336813
[16] 19.8036941 -24.8562274 -59.9401330 -56.8656951 12.8540848
[21] 47.4530825 36.6424508 1.2400091 21.7304553 -56.4411541
[26] 40.4915202 3.7947588 79.9892340 -77.6234636 70.9532955
[31] 16.8038232 -33.5629028 68.3883217 12.0182617 -10.7287357
[36] -61.0364609 -29.7512479 1.7530366 61.7564580 9.5715340
[41] -5.5135069 -56.9575947 -51.8936458 80.2181727 74.8754345
[46] 38.1624601 35.3727155 -17.2019479 -129.3291396 -32.3415952
[51] 55.4974206 26.7460901 14.0668191 -12.1198672 -1.1758053
[56] -13.6663611 -31.8082263 -2.4373843 -86.6193258 2.5759415
[61] -84.7604184 91.2419753 64.9785546 -96.4766038 -57.3444156
[66] -6.3984885 -89.5542163 6.8111488 70.1231080 79.9396426
[71] -31.6118119 -152.7509870 86.9381076 101.9863853 54.3978154
[76] -93.1711152 -26.9337865 -53.2492490 -21.6977611 8.3301057
[81] 57.5842517 -9.1176066 52.7157401 31.0194435 78.8133619
[86] -4.2321045 -55.2885641 9.4437140 -85.8573527 57.1955899
[91] -80.2588121 -73.0273647 -67.4840218 29.6059859 44.9439461
[96] -130.6344574 42.8406507 -67.5529919 6.2260996 -82.6408341
[101] -13.7462282 -5.2515200 -77.1984465 -11.9138014 75.4462863
[106] 59.2490366 24.2240570 5.6038979 18.0691291 48.5761651
[111] 92.1532748 91.9049515 5.3138528 66.9250899 9.3313352
[116] 19.9993133 2.1316974 32.5234809 28.0808007 10.6180517
[121] 13.9142728 -56.3642550 -56.2050183 3.5146479 105.7112372
[126] -10.5254583 23.2847649 -22.6869235 -63.7050983 -25.2085543
[131] 58.9807310 21.2038960 -41.9631024 -6.9243971 50.3733642
[136] -9.2611997 -227.2732758 54.1383501 74.5298456 -5.7853520
[141] 72.1261927 47.5559876 54.9985028 71.9407170 -25.2272207
[146] 21.8059285 37.2475562 72.2371595 27.7946273 -66.8381776
[151] 38.3008355 57.6484277 7.4049538 74.0976148 -26.6018915
[156] 26.0874357 10.2493453 -74.5634615 62.0895514 22.7959673
[161] 45.4418978 -25.1158691 42.7231640 -1.4785423 47.0819710
[166] 28.6800994 22.4517318 -13.3805918 61.1495070 -156.8126202
[171] 28.2851778 9.7312508 -28.7428657 0.6524924 -55.6175322
[176] -178.9381388 96.8761522 -58.7674039 -1.2139931 -45.9926705
[181] -12.2121730 36.5647641 -45.9641500 -6.0755722 47.1507526
[186] 36.6270780 59.4406467 21.3564428 90.1418776 37.4813809
[191] 16.3178741 7.0266838 -13.2268322 -74.3310557 -21.3015847
[196] -52.8020307 -26.7225838 -40.9208928 -3.0412833 -67.9117651
[201] -25.9271928 14.0206073 -102.6306981 -149.4074358 21.6614870
[206] -15.8055506 75.6963427 9.0936795 -98.4862297 -89.2105084
[211] -55.3319032 71.0307069 31.0878860 -11.2063995 32.2029425
[216] 78.3497743 -75.1444793 -29.8188782 -63.3453315 -67.4618049
[221] 125.5189441 130.6597499 12.6058398 82.1630416 50.1451815
[226] -0.9920780 -2.3057508 -67.0787860 -61.3741007 -63.9159578
[231] -108.4713973 -65.3425597 -135.1791643 6.7904361 128.3999156
[236] -3.3723614 -31.3827540 13.2437862 63.9261349 18.4972543
[241] -54.7419097 3.9129119 -23.6748094 -37.2062029 22.7568512
[246] -48.0111756 -45.8849214 111.5989585 21.8520853 45.5935085
[251] 23.7302094 17.8934211 74.0674747 -24.7056786 -74.3876457
[256] -105.2796851 26.1443412 -63.9418815 55.4040309 -41.3442815
[261] -161.9954909 -166.2398242 -115.9265235 -103.4162360 141.5611858
[266] 4.2162420 19.1414067 155.9980872 33.4290890 -62.1382626
[271] 5.6840347 16.1443882 -62.3409093 -179.3221984 -2.3063713
[276] -108.8601821 -197.3333129 239.0538859 -120.0071900 142.8465039
[281] 88.0759956 25.2703302 -37.5568125 -64.9316852 103.9123062
[286] -1.8344253 -113.1554082 -55.0747317 -271.8147529 45.7805022
[291] 95.1392933 -68.1217681 -82.6065669 32.1484223 198.2741092
[296] 64.2917391 -465.8729498 -64.7831727Uji Ljung-Box
• Nilai p-value = 0.2141 (lebih besar dari 0.05)
Kesimpulan: Tidak ada autokorelasi yang signifikan dalam residual. Ini berarti residual bersifat acak (white noise), sehingga model sudah cukup baik dalam menangkap pola dalam data.
Uji Jarque-Bera
• Nilai p-value < 2.2e-16 (sangat kecil)
Kesimpulan: Residual tidak berdistribusi normal. Hal ini menunjukkan adanya penyimpangan dari normalitas, seperti asimetri (skewness) atau kurtosis yang ekstrem.
> ## Residual dan Uji Asumsi
> sisaan_TC <- residuals(arima_TC); Box.test(sisaan_TC, lag=2, type = 'Ljung-Box'); jarque.bera.test(sisaan_TC)
Box-Ljung test
data: sisaan_TC
X-squared = 2.9702, df = 2, p-value = 0.2265
Jarque Bera Test
data: sisaan_TC
X-squared = 436, df = 2, p-value < 2.2e-16> sisaan_TC
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7.3235860 -42.7244986 74.4304222 -5.3460560 -59.9616673
[6] -84.6133305 12.2519664 -12.7133562 27.2854666 -3.2043400
[11] 22.4972397 -47.7000652 36.6133665 -26.2388068 28.5104055
[16] 19.9345968 -24.6991662 -59.9352351 -57.0669285 12.6120283
[21] 47.4041498 36.8613410 1.5270760 21.8225335 -56.6357656
[26] 40.2423657 3.7273462 80.2198759 -77.3550904 71.0387493
[31] 16.6190879 -33.7723684 68.3955551 12.2267316 -10.5023591
[36] -61.0457439 -30.0114710 1.4764171 61.7548338 9.8541696
[41] -5.2151280 -56.9691998 -52.2287766 79.9061584 74.9332732
[46] 38.5994217 35.7923309 -17.1959466 -129.7568096 -32.8091845
[51] 55.4024224 27.1084284 14.5367282 -12.0127154 -1.5129607
[56] -14.0894305 -31.9017399 -2.1487990 -86.3259865 2.5448692
[61] -85.1552595 90.9200215 65.0612641 -96.0637254 -57.0624727
[66] -6.6066311 -90.0856011 6.4825120 70.2933346 80.4696812
[71] -31.2235364 -152.9208221 86.3819208 101.6157606 54.6939619
[76] -92.5124404 -26.6163590 -53.6626755 -22.4184662 8.0135367
[81] 57.9786972 -8.4363448 53.0349722 30.7066221 78.3031588
[86] -4.3709678 -54.9191390 9.9014157 -85.8406519 56.7862238
[91] -80.7297662 -73.1148095 -67.2329216 29.8748658 44.9575547
[96] -130.8989137 42.5679015 -67.6656621 6.3912333 -82.4430767
[101] -13.7418312 -5.5024013 -77.4945069 -11.9950679 75.6382512
[106] 59.5642952 24.4189711 5.5228838 17.8206414 48.4539513
[111] 92.3581949 92.3263649 5.6031371 66.8703889 9.0287428
[116] 19.8323826 2.2914971 32.8653950 28.2661727 10.4895924
[121] 13.6408544 -56.5020406 -56.0961449 3.6967810 105.7806021
[126] -10.6092887 23.2093681 -22.6817897 -63.6349814 -25.1888076
[131] 58.9009268 21.1125365 -41.9501229 -6.8258597 50.4544617
[136] -9.2621611 -227.4192214 61.4406469 67.6850734 -6.2695659
[141] 71.6426791 47.6071331 55.6124046 72.5605328 -25.1828034
[146] 21.2884085 36.7143684 72.2955889 28.4374333 -66.2500548
[151] 38.2405951 57.0064940 6.9047745 74.3194581 -25.8823129
[156] 26.6088216 10.0392984 -75.2774224 61.6191945 23.0237263
[161] 46.1875171 -24.6083518 42.5163094 -2.1731205 46.6729293
[166] 28.9964291 23.2037170 -12.9521567 60.8569625 -157.5545247
[171] 27.8655051 9.9607635 -28.0990332 1.0330520 -55.9309764
[176] -179.6932619 96.4021600 -58.5892268 -0.5340655 -45.5917533
[181] -12.5232292 35.8568019 -46.3372728 -5.7280386 47.8223832
[186] 36.9461023 59.1533725 20.8276253 90.0068745 37.9344729
[191] 16.9658649 7.2329383 -13.6547467 -74.9622571 -21.5230655
[196] -52.4738312 -26.2384262 -40.8487948 -3.4853411 -68.4597681
[201] -26.0467359 14.3908772 -102.2105185 -149.4512590 21.0835590
[206] -16.4185403 75.7164632 9.7247955 -97.8850067 -89.3142586
[211] -56.1337110 70.3155263 31.1821838 -10.3706881 32.9255107
[216] 78.2550397 -75.8998061 -30.4170059 -63.2702017 -66.8780234
[221] 125.9697100 130.5571666 12.2113880 82.0096433 50.4382396
[226] -0.4729403 -2.0510106 -67.3655034 -61.9473684 -64.2803192
[231] -108.3594107 -64.9805065 -135.0896758 6.4205691 127.8887387
[236] -3.4545936 -30.8748784 13.8035945 63.9735389 18.0365045
[241] -55.1974806 3.9157209 -23.2712920 -36.8275944 22.7044653
[246] -48.4742083 -46.3006832 111.6311100 22.3088473 46.1153615
[251] 23.8179624 17.5074653 73.6561540 -24.6817455 -73.9251963
[256] -104.9342339 25.9315262 -64.5811406 55.0109548 -41.1393972
[261] -161.4282031 -166.0312797 -116.4994336 -104.3704764 141.1149546
[266] 4.6824545 20.1370159 156.5468462 33.0673886 -62.8968944
[271] 5.3162967 16.4918176 -61.6512974 -179.0597815 -2.8463951
[276] -109.8097491 -197.8072373 239.4360946 -119.2858428 143.3489819
[281] 87.8165371 24.6835638 -37.7895766 -64.5807626 104.4585769
[286] -1.6730200 -113.4931340 -55.6226539 -272.1856292 52.5310106
[291] 89.4786766 -68.4719683 -83.4082689 31.6443758 198.6029780
[296] 65.2394895 -465.2342829 -65.2609791Uji Ljung-Box
• Nilai p-value = 0.2265 (lebih besar dari 0.05)
Kesimpulan: Tidak terdapat autokorelasi yang signifikan dalam residual. Ini berarti residual bersifat acak atau white noise, menandakan bahwa model sudah menangkap pola data dengan baik.
Uji Jarque-Bera
• Nilai p-value < 2.2e-16 (sangat kecil)
Kesimpulan: Residual tidak berdistribusi normal, yang menunjukkan adanya penyimpangan dalam bentuk skewness atau kurtosis yang tinggi.
> ## Prediksi dengan Model outlier
> prediksi_arima_AO <- harga_saham - sisaan_AO
> prediksi_arima_AO
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7316.266 7321.288 7280.810 7373.554 7338.657 7266.140 7209.995 7258.625
[9] 7221.816 7221.051 7210.134 7254.749 7211.557 7257.293 7212.250 7242.912
[17] 7262.336 7231.805 7177.793 7140.183 7165.698 7191.833 7196.704 7194.504
[25] 7246.272 7200.002 7250.430 7227.522 7296.320 7201.988 7317.811 7334.390
[33] 7279.143 7353.862 7353.812 7340.982 7291.952 7287.874 7291.168 7329.536
[41] 7305.103 7308.264 7282.638 7256.992 7337.075 7359.100 7363.675 7424.510
[49] 7442.595 7323.917 7308.993 7347.791 7325.622 7328.966 7349.486 7383.592
[57] 7363.998 7304.892 7295.513 7211.967 7249.006 7159.488 7256.310 7280.914
[65] 7151.386 7146.872 7190.130 7077.158 7063.926 7117.446 7181.357 7142.895
[73] 7024.278 7182.441 7238.958 7204.619 7096.872 7166.140 7161.978 7111.096
[81] 7064.779 7103.827 7101.245 7189.904 7225.922 7293.210 7258.980 7205.190
[89] 7249.992 7166.986 7239.084 7124.934 7051.714 7003.496 7049.479 7073.219
[97] 6911.411 7002.668 6929.652 6927.415 6828.848 6844.069 6848.903 6746.047
[105] 6733.495 6818.492 6862.867 6873.452 6886.879 6920.850 6970.209 7047.325
[113] 7119.109 7116.092 7212.801 7224.409 7240.564 7237.805 7274.603 7296.568
[121] 7298.837 7318.834 7270.303 7232.493 7242.408 7326.437 7267.629 7311.505
[129] 7324.629 7274.492 7244.404 7286.503 7277.843 7236.481 7269.288 7336.226
[137] 7291.180 7038.420 7173.088 7239.096 7161.130 7227.342 7301.889 7376.268
[145] 7435.254 7381.585 7425.511 7482.369 7542.676 7537.380 7469.280 7560.726
[153] 7621.325 7582.539 7644.620 7622.267 7685.298 7699.018 7601.227 7676.997
[161] 7685.744 7721.113 7692.013 7762.378 7760.298 7798.566 7807.620 7828.109
[169] 7827.765 7910.705 7728.681 7791.680 7791.013 7732.756 7737.666 7697.663
[177] 7534.387 7674.408 7552.070 7526.582 7498.112 7525.304 7565.500 7479.146
[185] 7472.135 7538.211 7568.333 7614.218 7627.561 7734.984 7763.527 7770.769
[193] 7784.319 7784.339 7716.208 7706.946 7641.332 7608.599 7568.718 7577.834
[201] 7504.582 7485.974 7499.619 7376.558 7246.442 7316.697 7269.902 7306.949
[209] 7290.661 7216.456 7187.786 7151.495 7189.980 7155.217 7135.202 7219.627
[217] 7324.683 7212.089 7186.549 7137.140 7077.557 7208.120 7291.459 7268.672
[225] 7394.132 7466.885 7449.682 7439.759 7381.777 7346.060 7285.188 7159.947
[233] 7102.886 6976.291 7007.368 7110.390 7036.116 7017.135 7099.392 7182.359
[241] 7145.636 7054.993 7099.077 7105.393 7063.632 7073.313 7004.520 6971.602
[249] 7108.822 7091.373 7123.591 7162.604 7199.138 7271.660 7213.735 7148.508
[257] 7086.623 7143.271 7026.717 7060.621 7012.709 6882.107 6771.774 6672.781
[265] 6531.312 6649.279 6596.991 6634.569 6844.656 6854.486 6767.086 6801.879
[273] 6831.028 6747.256 6567.649 6625.080 6500.579 6430.936 6389.007 6376.056
[281] 6512.824 6593.101 6626.442 6608.152 6561.042 6676.651 6622.361 6494.131
[289] 6499.691 6248.768 6343.440 6365.753 6212.669 6168.644 6289.903 6487.609
[297] 6442.403 6087.897Output tersebut menunjukkan hasil prediksi deret waktu menggunakan model ARIMA dengan intervensi tipe AO (Additive Outlier), di mana prediksi diperoleh dengan mengurangi nilai residual dari data asli (harga_saham - sisaan_AO). Data yang ditampilkan adalah nilai prediksi untuk setiap titik waktu dari pengamatan ke-1 hingga ke-298. Prediksi ini digunakan untuk mengevaluasi seberapa baik model ARIMA menangkap pola data aktual, termasuk efek dari outlier yang telah dimodelkan.
> ## Prediksi dengan Model outlier
> prediksi_arima_IO <- harga_saham - sisaan_IO
> prediksi_arima_IO
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7316.266 7321.811 7285.322 7355.951 7343.590 7284.829 7214.937 7232.491
[9] 7213.805 7227.323 7220.470 7248.372 7216.245 7253.470 7219.396 7236.426
[17] 7252.676 7237.980 7193.956 7144.316 7144.767 7171.298 7200.460 7217.060
[25] 7255.061 7206.918 7231.355 7217.681 7287.363 7232.327 7318.736 7330.263
[33] 7284.212 7337.002 7350.369 7356.136 7313.571 7283.567 7266.884 7306.538
[41] 7317.424 7333.708 7299.354 7249.582 7299.085 7343.748 7385.837 7450.512
[49] 7457.379 7334.792 7281.253 7304.384 7324.283 7362.270 7378.936 7379.326
[57] 7341.898 7291.247 7291.679 7234.404 7251.600 7163.158 7221.901 7261.287
[65] 7188.184 7173.208 7176.874 7067.009 7040.687 7094.590 7186.902 7188.831
[73] 7068.842 7132.214 7179.802 7210.591 7161.654 7189.139 7145.308 7080.460
[81] 7041.676 7092.878 7127.114 7215.681 7238.427 7270.922 7241.329 7212.936
[89] 7262.277 7196.434 7220.489 7107.167 7038.224 7006.584 7054.366 7078.304
[97] 6932.059 6965.503 6915.324 6938.331 6863.846 6836.812 6812.028 6738.834
[105] 6743.874 6820.731 6864.946 6877.096 6887.571 6919.374 6971.427 7047.725
[113] 7119.826 7129.825 7211.559 7233.371 7248.848 7237.277 7258.959 7289.792
[121] 7313.666 7335.224 7280.495 7220.705 7215.359 7305.025 7298.695 7336.547
[129] 7326.465 7265.489 7229.189 7267.696 7283.823 7262.684 7275.607 7317.381
[137] 7286.923 7075.072 7137.600 7200.905 7184.874 7250.074 7301.641 7364.099
[145] 7434.727 7410.284 7429.582 7461.743 7526.795 7555.518 7505.999 7548.542
[153] 7590.475 7584.782 7654.202 7644.643 7684.281 7691.083 7610.810 7658.244
[161] 7676.408 7727.856 7718.667 7762.439 7751.068 7783.450 7809.328 7842.511
[169] 7844.240 7899.813 7747.445 7768.759 7769.643 7743.868 7752.538 7706.868
[177] 7545.254 7622.027 7545.044 7542.083 7516.342 7520.575 7547.254 7486.156
[185] 7473.449 7523.023 7567.509 7627.584 7644.898 7722.579 7756.282 7781.953
[193] 7800.787 7790.881 7715.962 7687.432 7633.323 7610.771 7577.061 7573.172
[201] 7505.427 7477.909 7486.501 7393.267 7265.529 7282.266 7246.294 7299.576
[209] 7313.046 7250.471 7189.612 7124.679 7149.242 7152.116 7163.357 7235.760
[217] 7321.034 7229.979 7177.615 7114.452 7070.501 7196.100 7300.704 7300.627
[225] 7387.585 7454.282 7467.056 7461.319 7386.164 7322.546 7266.201 7173.223
[233] 7112.419 6977.080 6968.040 7069.122 7067.953 7066.656 7099.284 7145.933
[241] 7135.212 7079.367 7104.025 7101.796 7066.113 7064.891 7002.555 6967.961
[249] 7085.668 7109.066 7147.010 7163.927 7183.063 7257.346 7240.448 7178.760
[257] 7083.056 7094.002 7018.056 7065.574 7037.535 6908.820 6764.067 6635.406
[265] 6504.219 6609.354 6619.319 6674.882 6840.121 6857.008 6782.356 6786.856
[273] 6811.941 6766.412 6608.486 6594.310 6467.933 6280.606 6500.407 6388.553
[281] 6529.774 6610.730 6635.767 6610.782 6561.128 6649.254 6628.785 6527.025
[289] 6495.205 6265.879 6286.531 6326.302 6243.827 6203.472 6274.086 6446.328
[297] 6462.013 6037.343Output tersebut menunjukkan hasil prediksi deret waktu menggunakan model ARIMA dengan intervensi tipe IO (Innovational Outlier). Prediksi ini diperoleh dengan mengurangkan residual intervensi IO dari data asli (harga_saham - sisaan_IO). Output memuat nilai prediksi untuk 298 titik waktu, dan bertujuan untuk menilai sejauh mana model mampu merekonstruksi data asli setelah mengakomodasi pengaruh outlier yang bersifat inovatif.
> ## Prediksi dengan Model outlier
> prediksi_arima_TC <- harga_saham - sisaan_TC
> prediksi_arima_TC
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7316.266 7321.814 7285.330 7355.966 7343.542 7284.813 7215.048 7232.673
[9] 7213.855 7227.204 7220.293 7248.330 7216.357 7253.639 7219.420 7236.295
[17] 7252.519 7237.975 7194.157 7144.558 7144.816 7171.079 7200.173 7216.967
[25] 7255.256 7207.168 7231.423 7217.450 7287.095 7232.241 7318.921 7330.472
[33] 7284.204 7336.793 7350.142 7356.146 7313.831 7283.844 7266.885 7306.256
[41] 7317.125 7333.719 7299.689 7249.894 7299.027 7343.311 7385.418 7450.506
[49] 7457.807 7335.259 7281.348 7304.022 7323.813 7362.163 7379.273 7379.749
[57] 7341.992 7290.959 7291.386 7234.435 7251.995 7163.480 7221.819 7260.874
[65] 7187.902 7173.417 7177.406 7067.337 7040.517 7094.060 7186.514 7189.001
[73] 7069.398 7132.584 7179.506 7209.932 7161.336 7189.553 7146.028 7080.776
[81] 7041.281 7092.196 7126.795 7215.993 7238.937 7271.061 7240.959 7212.479
[89] 7262.261 7196.844 7220.960 7107.255 7037.973 7006.315 7054.352 7078.569
[97] 6932.332 6965.616 6915.159 6938.133 6863.842 6837.062 6812.325 6738.915
[105] 6743.682 6820.416 6864.751 6877.177 6887.819 6919.496 6971.222 7047.304
[113] 7119.537 7129.880 7211.861 7233.538 7248.689 7236.935 7258.774 7289.920
[121] 7313.939 7335.362 7280.386 7220.523 7215.289 7305.109 7298.771 7336.542
[129] 7326.395 7265.469 7229.269 7267.787 7283.810 7262.586 7275.526 7317.382
[137] 7287.069 7067.769 7144.445 7201.390 7185.357 7250.023 7301.028 7363.479
[145] 7434.683 7410.802 7430.116 7461.684 7526.153 7554.930 7506.059 7549.184
[153] 7590.975 7584.561 7653.482 7644.121 7684.491 7691.797 7611.281 7658.016
[161] 7675.662 7727.348 7718.874 7763.133 7751.477 7783.134 7808.576 7842.082
[169] 7844.533 7900.555 7747.864 7768.529 7768.999 7743.487 7752.851 7707.623
[177] 7545.728 7621.849 7544.364 7541.682 7516.653 7521.283 7547.627 7485.808
[185] 7472.778 7522.704 7567.797 7628.112 7645.033 7722.126 7755.634 7781.747
[193] 7801.215 7791.512 7716.183 7687.104 7632.838 7610.699 7577.505 7573.720
[201] 7505.547 7477.539 7486.081 7393.311 7266.106 7282.879 7246.274 7298.945
[209] 7312.445 7250.574 7190.414 7125.394 7149.148 7151.281 7162.634 7235.855
[217] 7321.790 7230.577 7177.540 7113.868 7070.050 7196.203 7301.099 7300.780
[225] 7387.292 7453.763 7466.801 7461.606 7386.737 7322.910 7266.089 7172.861
[233] 7112.330 6977.449 6968.551 7069.205 7067.445 7066.096 7099.236 7146.393
[241] 7135.667 7079.364 7103.621 7101.418 7066.166 7065.354 7002.971 6967.929
[249] 7085.211 7108.545 7146.922 7164.313 7183.474 7257.322 7239.985 7178.414
[257] 7083.268 7094.641 7018.449 7065.369 7036.968 6908.611 6764.639 6636.360
[265] 6504.665 6608.888 6618.323 6674.333 6840.483 6857.767 6782.724 6786.508
[273] 6811.251 6766.150 6609.026 6595.260 6468.407 6280.224 6499.686 6388.051
[281] 6530.033 6611.316 6636.000 6610.431 6560.581 6649.093 6629.123 6527.573
[289] 6495.576 6259.129 6292.191 6326.652 6244.628 6203.976 6273.757 6445.381
[297] 6461.374 6037.821Output tersebut menampilkan hasil prediksi menggunakan model ARIMA dengan intervensi TC (Temporary Change). Prediksi dihitung dengan mengurangkan residual TC dari data harga saham asli (harga_saham - sisaan_TC). Output memperlihatkan deret prediksi sepanjang 298 observasi, yang menunjukkan bagaimana model ini menangkap perubahan sementara dalam data akibat adanya outlier, dan mengembalikannya ke pola normal setelah efek sementara tersebut mereda.
> ## Plot Evaluasi Prediksi
> plot(tanggal, harga_saham, type = "l", col = "blue", lwd = 2)
> lines(tanggal, prediksi_arima_AO, col = "magenta", lwd = 2)
> lines(tanggal, prediksi_arima_IO, col = "red", lwd = 2)
> lines(tanggal, prediksi_arima_TC, col = "cyan", lwd = 2)Grafik yang ditampilkan memuat empat garis yang merepresentasikan data harga saham aktual dan hasil prediksi dari dua model ARIMA dengan intervensi. Garis biru menggambarkan harga saham aktual yang menunjukkan fluktuasi cukup tajam, termasuk lonjakan signifikan di pertengahan tahun 2024 dan penurunan tajam di awal 2025. Garis ungu menunjukkan hasil prediksi model ARIMA dengan intervensi bertipe Impulse Outlier (IO). Model ini mampu mengikuti pola harga saham dengan baik, meskipun terlihat cukup responsif terhadap perubahan mendadak, sehingga pada beberapa titik fluktuasinya tampak lebih ekstrem. Sementara itu, garis merah merepresentasikan prediksi dari model ARIMA dengan intervensi Temporary Change (TC), yang terlihat lebih stabil dan cenderung merespons perubahan secara lebih halus, terutama pada gangguan bersifat sementara. Terakhir, garis biru muda (cyan) merupakan gabungan atau perbandingan dari prediksi IO dan TC terhadap data aktual, menunjukkan bahwa kedua model prediksi memiliki performa yang serupa dan cukup mendekati nilai aktual. Secara umum, model TC tampak lebih konservatif dan stabil, sedangkan model IO lebih sensitif terhadap lonjakan harga.
> ## Data Pra-Intervensi
> pra_intervensi <- harga_saham[1:291]
> pra_intervensi
[1] 7323.59 7279.09 7359.76 7350.62 7283.58 7200.20 7227.30 7219.96 7241.14
[10] 7224.00 7242.79 7200.63 7252.97 7227.40 7247.93 7256.23 7227.82 7178.04
[19] 7137.09 7157.17 7192.22 7207.94 7201.70 7238.79 7198.62 7247.41 7235.15
[28] 7297.67 7209.74 7303.28 7335.54 7296.70 7352.60 7349.02 7339.64 7295.10
[37] 7283.82 7285.32 7328.64 7316.11 7311.91 7276.75 7247.46 7329.80 7373.96
[46] 7381.91 7421.21 7433.31 7328.05 7302.45 7336.75 7331.13 7338.35 7350.15
[55] 7377.76 7365.66 7310.09 7288.81 7205.06 7236.98 7166.84 7254.40 7286.88
[64] 7164.81 7130.84 7166.81 7087.32 7073.82 7110.81 7174.53 7155.29 7036.08
[73] 7155.78 7234.20 7234.20 7117.42 7134.72 7135.89 7123.61 7088.79 7099.26
[82] 7083.76 7179.83 7246.70 7317.24 7266.69 7186.04 7222.38 7176.42 7253.63
[91] 7140.23 7034.14 6970.74 7036.19 7099.31 6947.67 6974.90 6897.95 6921.55
[100] 6855.69 6850.10 6831.56 6734.83 6726.92 6819.32 6879.98 6889.17 6882.70
[109] 6905.64 6967.95 7063.58 7139.63 7125.14 7196.75 7220.89 7253.37 7250.98
[118] 7269.80 7287.04 7300.41 7327.58 7278.86 7224.29 7224.22 7321.07 7294.50
[127] 7321.98 7313.86 7262.76 7240.28 7288.17 7288.90 7241.86 7255.76 7325.98
[136] 7308.12 7059.65 7129.21 7212.13 7195.12 7257.00 7297.63 7356.64 7436.04
[145] 7409.50 7432.09 7466.83 7533.98 7554.59 7488.68 7544.30 7606.19 7597.88
[154] 7658.88 7627.60 7670.73 7694.53 7616.52 7672.90 7681.04 7721.85 7702.74
[163] 7761.39 7760.96 7798.15 7812.13 7831.78 7829.13 7905.39 7743.00 7775.73
[172] 7778.49 7740.90 7744.52 7696.92 7527.93 7642.13 7563.26 7543.83 7496.09
[181] 7504.13 7557.14 7501.29 7480.08 7520.60 7559.65 7626.95 7648.94 7735.04
[190] 7760.06 7772.60 7788.98 7787.56 7716.55 7694.66 7634.63 7606.60 7569.85
[199] 7574.02 7505.26 7479.50 7491.93 7383.87 7243.86 7287.19 7266.46 7321.99
[208] 7308.67 7214.56 7161.26 7134.28 7195.71 7180.33 7140.91 7195.56 7314.11
[217] 7245.89 7200.16 7114.27 7046.99 7196.02 7326.76 7313.31 7382.79 7437.73
[226] 7453.29 7464.75 7394.24 7324.79 7258.63 7157.73 7107.88 6977.24 6983.87
[235] 7096.44 7065.75 7036.57 7079.90 7163.21 7164.43 7080.47 7083.28 7080.35
[244] 7064.59 7088.87 7016.88 6956.67 7079.56 7107.52 7154.66 7170.74 7181.82
[253] 7257.13 7232.64 7166.06 7073.48 7109.20 7030.06 7073.46 7024.23 6875.54
[262] 6742.58 6648.14 6531.99 6645.78 6613.57 6638.46 6830.88 6873.55 6794.87
[271] 6788.04 6803.00 6749.60 6587.09 6606.18 6485.45 6270.60 6519.66 6380.40
[280] 6531.40 6617.85 6636.00 6598.21 6545.85 6665.04 6647.42 6515.63 6471.95
[289] 6223.39 6311.66 6381.67> ## Transformasi Box-Cox dan uji stasioneritas
> ## Transformasi Box-Cox dan uji stasioneritas
> lambda <- BoxCox.lambda(pra_intervensi)
> lambda
[1] 1.999924>
> pra_intervensi_trans <- ((pra_intervensi^lambda) - 1)/lambda
> plot(pra_intervensi_trans, type ='l')>
> pra_intervensi_trans2 <- ((pra_intervensi_trans^lambda_1) - 1)/lambda_1
> plot(pra_intervensi_trans2, type ='l')>
> pra_intervensi_trans3 <- ((pra_intervensi_trans2^lambda_2) - 1)/lambda_2
> plot(pra_intervensi_trans3, type ='l')Berdasarkan hasil pengujian Box-Cox Lambda secara bertahap pada data pra-intervensi IHSG, diperoleh nilai lambda awal sebesar 1.999924. Nilai ini menunjukkan bahwa ragam data belum stabil, sehingga dilakukan transformasi Box-Cox pertama. Setelah transformasi pertama, didapatkan lambda_1 = 1.999924 yang masih menunjukkan nilai tinggi, sehingga dilakukan transformasi kedua yang menghasilkan lambda_2 = 1.677389. Transformasi dilanjutkan hingga tahap ketiga, dan pada tahap ini diperoleh nilai lambda_3 = 0.9971371, yang sangat mendekati nilai 1. Hal ini mengindikasikan bahwa setelah tiga kali transformasi, data telah mendekati kestasioneran dalam ragam. Oleh karena itu, dapat disimpulkan bahwa setelah proses transformasi bertingkat, data memenuhi asumsi kestasioneran ragam dan siap untuk dianalisis lebih lanjut.
> adf.test(pra_intervensi_trans3, k=1)
Augmented Dickey-Fuller Test
data: pra_intervensi_trans3
Dickey-Fuller = -1.3577, Lag order = 1, p-value = 0.8469
alternative hypothesis: stationary>
> pra_intervensi_trans3_diff1 <- diff(pra_intervensi_trans3, differences=1)
> adf.test(pra_intervensi_trans3_diff1, k=1)
Augmented Dickey-Fuller Test
data: pra_intervensi_trans3_diff1
Dickey-Fuller = -12.213, Lag order = 1, p-value = 0.01
alternative hypothesis: stationaryBerdasarkan hasil pengujian stasioneritas menggunakan uji Augmented Dickey-Fuller (ADF) pada data pra_intervensi_trans3, diperoleh nilai statistik uji sebesar -1.3577 dengan nilai p-value sebesar 0.8469. Karena p-value jauh lebih besar dari taraf signifikansi 0.05, maka keputusan uji adalah gagal tolak Hâ‚€, yang berarti data belum stasioner terhadap rata-rata. Setelah dilakukan proses differencing satu kali dan diuji kembali dengan ADF pada data pra_intervensi_trans3_diff1, diperoleh nilai statistik uji sebesar -12.213 dengan p-value sebesar 0.01. Nilai p-value ini lebih kecil dari 0.05, sehingga keputusan uji adalah tolak Hâ‚€, yang berarti data sudah stasioner terhadap rata-rata setelah dilakukan differencing. Dengan demikian, data siap untuk tahap identifikasi dan pemodelan ARIMA.
> # Identifikasi dan Estimasi Model Pra-Intervensi
> acf(pra_intervensi_trans3_diff1); pacf(pra_intervensi_trans3_diff1)Grafik Autocorrelation Function (ACF) untuk data harga saham setelah dilakukan diferensiasi pertama menunjukkan bahwa sebagian besar nilai autokorelasi pada berbagai lag berada dalam batas kepercayaan. Hal ini mengindikasikan bahwa tidak terdapat autokorelasi signifikan yang tersisa dalam data, sehingga dapat disimpulkan bahwa proses diferensiasi berhasil menghilangkan tren dan membuat data menjadi lebih stasioner. Dengan demikian, data hasil transformasi ini sudah memenuhi salah satu syarat penting dalam pemodelan ARIMA, yaitu stasioneritas. Grafik ini juga menunjukkan tidak adanya pola tertentu yang mencolok, yang mendukung keputusan untuk melanjutkan pemodelan ARIMA pada data yang telah didiferensiasi ini.
Grafik di atas menunjukkan plot Partial Autocorrelation Function (PACF) untuk data pra_intervensi_trans3_diff1, yaitu data hasil diferensiasi pertama dari harga saham sebelum intervensi. Pada grafik tersebut terlihat bahwa sebagian besar nilai PACF berada dalam batas signifikan (ditandai oleh garis putus-putus biru), dengan beberapa lag awal yang sedikit menonjol namun tetap berada dekat batas.
Polanya tidak menunjukkan adanya cutoff yang jelas pada lag awal, yang umumnya digunakan untuk mengidentifikasi ordo model AR. Namun, karena sebagian besar nilai PACF berada dalam batas kontrol dan tidak membentuk pola signifikan yang kuat, ini mengindikasikan bahwa komponen autoregresif (AR) tidak dominan dalam data yang telah distasionerkan.
Dengan demikian, berdasarkan analisis PACF, data hasil diferensiasi pertama ini kemungkinan tidak memerlukan banyak parameter AR, atau bahkan bisa jadi cukup tanpa komponen AR sama sekali. Namun, keputusan akhir terkait ordo model ARIMA tetap perlu mempertimbangkan grafik ACF serta kriteria pemilihan model lainnya seperti AIC.
> model_pra_1 <- arima(pra_intervensi_trans3, order = c(0,1,7), method="ML",
+ include.mean = TRUE, transform.pars = FALSE, fixed = c(rep(0,6), NA))
> coeftest(model_pra_1)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ma7 -0.14069 0.05908 -2.3813 0.01725 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1> model_pra_2 <- arima(pra_intervensi_trans3, order = c(7,1,0), method="ML",
+ include.mean = TRUE, transform.pars = FALSE, fixed = c(rep(0,6), NA))
> coeftest(model_pra_2)
z test of coefficients:
Estimate Std. Error z value Pr(>|z|)
ar7 -0.134352 0.058735 -2.2874 0.02217 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1Output tersebut menunjukkan hasil estimasi dua model ARIMA berbeda yang diterapkan pada data pra_intervensi_trans3. Model pertama, model_pra_1, adalah ARIMA(0,1,7), sedangkan model kedua, model_pra_2, adalah ARIMA(7,1,0). Keduanya menggunakan metode Maximum Likelihood (ML) dan mengatur beberapa parameter awal sebagai nilai tetap (fixed) berdasarkan uji identifikasi awal.
Hasil dari model model_pra_1 menunjukkan bahwa parameter MA7 bernilai -0.14069 dengan nilai p-value sebesar 0.01725, yang berarti signifikan pada tingkat signifikansi 5%. Artinya, komponen moving average pada lag ke-7 berkontribusi signifikan dalam model.
Sementara itu, model model_pra_2 menunjukkan bahwa parameter AR7 bernilai -0.134352 dengan p-value sebesar 0.02217, juga signifikan pada tingkat signifikansi 5%. Ini menunjukkan bahwa komponen autoregressive pada lag ke-7 juga memiliki pengaruh yang signifikan terhadap data.
Kedua model menunjukkan parameter signifikan pada lag ke-7, namun dalam bentuk yang berbeda—MA untuk model pertama dan AR untuk model kedua. Pemilihan model terbaik selanjutnya dapat dilakukan dengan membandingkan nilai AIC, BIC, serta analisis residual untuk memastikan model yang paling sesuai dengan data.
> ## Uji Asumsi Ljung-Box dan AIC
> sisa1 <- residuals(model_pra_1); sisa2 <- residuals(model_pra_2)
> Box.test(sisa1, lag=2, type = 'Ljung-Box'); jarque.bera.test(sisa1)
Box-Ljung test
data: sisa1
X-squared = 0.16972, df = 2, p-value = 0.9186
Jarque Bera Test
data: sisa1
X-squared = 18.806, df = 2, p-value = 8.247e-05> Box.test(sisa2, lag=2, type = 'Ljung-Box'); jarque.bera.test(sisa2)
Box-Ljung test
data: sisa2
X-squared = 0.14388, df = 2, p-value = 0.9306
Jarque Bera Test
data: sisa2
X-squared = 19.074, df = 2, p-value = 7.212e-05Berdasarkan hasil pengujian asumsi terhadap residual model pra-intervensi menggunakan uji Box-Ljung dan Jarque-Bera, diperoleh bahwa kedua model, yaitu model_pra_1 dan model_pra_2, tidak menunjukkan adanya autokorelasi yang signifikan pada residualnya. Hal ini ditunjukkan oleh nilai p-value masing-masing sebesar 0.9186 dan 0.9306 yang jauh lebih besar dari 0.05, sehingga residual dari kedua model dapat dianggap bersifat acak atau white noise.
Namun, hasil uji Jarque-Bera menunjukkan bahwa kedua model tidak memenuhi asumsi normalitas residual, dengan nilai p-value masing-masing sebesar 8.247e-05 dan 7.212e-05 yang jauh lebih kecil dari 0.05. Ini mengindikasikan bahwa residual dari kedua model tidak berdistribusi normal secara signifikan. Dengan demikian, meskipun terdapat pelanggaran terhadap asumsi normalitas, kedua model tetap dapat dipertimbangkan cukup baik dari sisi independensi residual, dan evaluasi lebih lanjut dapat dilakukan dengan membandingkan kriteria lain seperti nilai AIC untuk menentukan model terbaik.
> ## Pemilihan Model Terbaik
> tabel_aic_intervensi <- data.frame(Nama=c("Model 1", "Model 2"),
+ Model=c("ARIMA(0,1,7)", "ARIMA(7,1,0)"),
+ AIC=c(model_pra_1$aic, model_pra_2$aic))
> tabel_aic_intervensi
Nama Model AIC
1 Model 1 ARIMA(0,1,7) 31433.12
2 Model 2 ARIMA(7,1,0) 31433.39Berdasarkan hasil perbandingan nilai Akaike Information Criterion (AIC), Model 1 dengan spesifikasi ARIMA(0,1,7) memiliki nilai AIC sebesar 31433.12, sedangkan Model 2 dengan spesifikasi ARIMA(7,1,0) memiliki nilai AIC sebesar 31433.39. Karena nilai AIC yang lebih rendah menunjukkan model yang lebih baik dalam menyeimbangkan kompleksitas dan ketepatan, maka Model 1 (ARIMA(0,1,7)) dipilih sebagai model terbaik untuk data pra-intervensi. Meskipun selisih AIC antara kedua model relatif kecil, Model 1 tetap menunjukkan keunggulan dalam efisiensi prediksi.
> ## Forecast dan Model Intervensi Akhir
> hasil_ramalan <- forecast(pra_intervensi, model = model_pra_1, h = 8)
> hasil_ramalan
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
292 6360.034 -1.062919e+23 1.062919e+23 -1.625594e+23 1.625594e+23
293 6365.187 -1.503194e+23 1.503194e+23 -2.298937e+23 2.298937e+23
294 6380.899 -1.841030e+23 1.841030e+23 -2.815612e+23 2.815612e+23
295 6385.778 -2.125838e+23 2.125838e+23 -3.251188e+23 3.251188e+23
296 6420.268 -2.376759e+23 2.376759e+23 -3.634939e+23 3.634939e+23
297 6408.924 -2.603609e+23 2.603609e+23 -3.981876e+23 3.981876e+23
298 6400.746 -2.812219e+23 2.812219e+23 -4.300918e+23 4.300918e+23
299 6400.746 -2.956829e+23 2.956829e+23 -4.522080e+23 4.522080e+23> sisa_forecast <- harga_saham[291:298] - hasil_ramalan$mean
> sisa_forecast
Time Series:
Start = 292
End = 299
Frequency = 1
[1] 21.63594 -107.00735 -219.67861 -150.15770 52.09240 101.69570 -404.60613
[8] -428.18613Hasil peramalan dengan model ARIMA(0,1,7) terhadap data IHSG menunjukkan prediksi harga saham stabil antara 6360 hingga 6400 untuk delapan periode mendatang. Namun, interval prediksi untuk tingkat kepercayaan 80% dan 95% menunjukkan nilai ekstrem yang tidak realistis, kemungkinan disebabkan oleh ketidaksesuaian model atau fluktuasi data historis yang tinggi. Forecast errors menunjukkan deviasi besar antara nilai aktual dan prediksi, dengan beberapa titik mengalami overforecasting dan underforecasting. Meskipun model menangkap tren, ketepatannya dalam menangani fluktuasi jangka pendek terbatas, sehingga perlu pertimbangan model yang lebih kompleks.
> ##Pemodelan ARIMA Intervensi
> ### dentifikasi Orde b,s
> intervensi <- c(rep(0,290), 1, rep(0,7))
> intervensi
[1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[38] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[75] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[112] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[149] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[186] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[223] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[260] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
[297] 0 0> ### Pendugaan Parameter Model Intervensi
> model_akhir <- arimax(harga_saham, order = c(0, 1, 7), fixed = c(rep(0, 6), NA, NA, NA),
+ xtransf = intervensi, transfer = list(c(1, 0)),
+ include.mean = TRUE, method = 'ML')
> model_akhir
Call:
arimax(x = harga_saham, order = c(0, 1, 7), include.mean = TRUE, fixed = c(rep(0,
6), NA, NA, NA), method = "ML", xtransf = intervensi, transfer = list(c(1,
0)))
Coefficients:
ma1 ma2 ma3 ma4 ma5 ma6 ma7 T1-AR1 T1-MA0
0 0 0 0 0 0 -0.1250 0.1476 89.7729
s.e. 0 0 0 0 0 0 0.0612 0.0748 57.4076
sigma^2 estimated as 5613: log likelihood = -1703.45, aic = 3412.9Gambar menunjukkan pembentukan dan estimasi model ARIMA intervensi terhadap harga saham, dengan variabel intervensi biner yang bernilai 1 hanya pada titik ke-291. Model yang digunakan adalah ARIMAX(0,1,7), dengan orde MA(7) dan tanpa komponen autoregresif (AR=0). Parameter MA7 adalah -0.1250, dan parameter intervensi T1-AR1 (1.1746) serta T1-MA0 (89.7729) menunjukkan pengaruh signifikan intervensi. Nilai AIC 3412.9 dan log likelihood -1703.45 menunjukkan kecocokan model yang lebih baik dibandingkan tanpa intervensi. Estimasi varians sisaan menunjukkan model stabil meski fluktuasi data masih ada. Hasil ini membuktikan model ARIMA intervensi efektif dalam menangkap dampak kejadian khusus pada harga saham.
> ### Evaluasi Prediksi Grafis
> sisa_akhir <- residuals(model_akhir)
> sisa_akhir
Time Series:
Start = 1
End = 298
Frequency = 1
[1] 7.323586e+00 -4.415637e+01 8.004706e+01 -9.069420e+00 -6.652231e+01
[6] -8.273613e+01 2.689073e+01 -7.282412e+00 1.570121e+01 -7.210560e+00
[11] 1.766296e+01 -5.040498e+01 4.207283e+01 -2.223196e+01 1.962437e+01
[16] 1.026239e+01 -2.931115e+01 -4.757232e+01 -4.724975e+01 2.533840e+01
[21] 3.227129e+01 1.817271e+01 -4.957209e+00 3.342613e+01 -4.611650e+01
[26] 4.288382e+01 -9.092719e+00 6.655388e+01 -8.565842e+01 9.292035e+01
[31] 3.643825e+01 -4.460454e+01 6.126045e+01 -4.716585e+00 -1.060801e+00
[36] -5.524726e+01 3.349930e-01 6.054761e+00 3.774446e+01 -4.872477e+00
[41] -4.789571e+00 -3.529260e+01 -3.619588e+01 8.238187e+01 4.491684e+01
[46] 1.266804e+01 3.869094e+01 1.150131e+01 -1.096716e+02 -3.012446e+01
[51] 4.459769e+01 -5.419385e-03 8.803498e+00 1.663635e+01 2.904766e+01
[56] -2.580888e+01 -5.933554e+01 -1.570531e+01 -8.375068e+01 3.302043e+01
[61] -6.806047e+01 9.119094e+01 2.925390e+01 -1.294869e+02 -3.593316e+01
[66] 2.550121e+01 -7.536246e+01 -2.200752e+01 4.838882e+01 6.737672e+01
[71] -3.542579e+01 -1.237016e+02 1.228876e+02 6.899973e+01 -2.750928e+00
[76] -1.107314e+02 2.572205e+01 -3.258205e+00 -2.774264e+01 -1.945911e+01
[81] 1.909493e+01 -1.584386e+01 8.222863e+01 7.008524e+01 7.013273e+01
[86] -5.401781e+01 -8.308238e+01 3.872686e+01 -4.794047e+01 8.748853e+01
[91] -1.046394e+02 -9.732345e+01 -7.015220e+01 5.506475e+01 6.796084e+01
[96] -1.576325e+02 3.816602e+01 -9.002987e+01 1.143462e+01 -7.462899e+01
[101] 1.293063e+00 -1.004493e+01 -1.164340e+02 -3.139269e+00 8.114632e+01
[106] 6.208932e+01 -1.385824e-01 -6.308368e+00 2.168439e+01 4.775582e+01
[111] 9.523759e+01 8.619325e+01 -6.728869e+00 7.159268e+01 2.335146e+01
[116] 3.519054e+01 3.579451e+00 3.072465e+01 2.801411e+01 1.252890e+01
[121] 3.611905e+01 -4.580108e+01 -5.017120e+01 3.774294e-01 1.006906e+02
[126] -2.306825e+01 2.904611e+01 -3.605139e+00 -5.682511e+01 -2.875137e+01
[131] 4.793718e+01 1.331627e+01 -4.992352e+01 1.753075e+01 6.976936e+01
[136] -2.496311e+01 -2.520639e+02 7.555212e+01 8.458453e+01 -2.325041e+01
[141] 6.407133e+01 4.935113e+01 5.588963e+01 4.789215e+01 -1.709603e+01
[146] 3.316302e+01 3.183371e+01 7.515888e+01 2.677886e+01 -5.892383e+01
[151] 6.160649e+01 5.975301e+01 -4.164641e+00 6.497920e+01 -2.188518e+01
[156] 4.647734e+01 1.643455e+01 -7.030922e+01 6.384909e+01 7.619422e+00
[161] 4.893236e+01 -2.184564e+01 6.445964e+01 1.624310e+00 2.840139e+01
[166] 2.196110e+01 2.060242e+01 3.466519e+00 7.352931e+01 -1.543326e+02
[171] 3.293304e+01 6.310158e+00 -3.484487e+01 6.195292e+00 -4.716669e+01
[176] -1.597989e+02 9.490851e+01 -7.475339e+01 -1.864123e+01 -5.209559e+01
[181] 8.814408e+00 4.711419e+01 -7.582477e+01 -9.346488e+00 3.117587e+01
[186] 3.671986e+01 6.078808e+01 2.309180e+01 9.198925e+01 1.554195e+01
[191] 1.137169e+01 2.027697e+01 3.169962e+00 -6.341152e+01 -1.900354e+01
[196] -4.853139e+01 -2.608727e+01 -3.532854e+01 6.704610e+00 -6.836376e+01
[201] -3.368641e+01 1.005457e+01 -1.141264e+02 -1.432709e+02 3.891395e+01
[206] -1.989193e+01 4.698457e+01 -1.753078e+01 -9.285318e+01 -6.756574e+01
[211] -4.488878e+01 6.629422e+01 -1.786648e+01 -3.354695e+01 5.245866e+01
[216] 1.069434e+02 -7.666568e+01 -5.134107e+01 -7.760326e+01 -6.951330e+01
[221] 1.448366e+02 1.372973e+02 -8.213324e-02 5.989683e+01 4.852239e+01
[226] 5.859635e+00 2.770876e+00 -5.240550e+01 -5.228791e+01 -6.617027e+01
[231] -9.341293e+01 -4.378473e+01 -1.299075e+02 6.976358e+00 1.060193e+02
[236] -3.722596e+01 -3.745125e+01 3.165344e+01 7.783693e+01 -1.501837e+01
[241] -8.308796e+01 1.606236e+01 -7.583225e+00 -2.044139e+01 2.823666e+01
[246] -6.226043e+01 -6.208729e+01 1.125041e+02 2.996779e+01 4.619210e+01
[251] 1.352484e+01 1.460957e+01 6.752748e+01 -3.225088e+01 -5.251706e+01
[256] -8.883404e+01 4.149399e+01 -7.744940e+01 4.522619e+01 -4.078910e+01
[261] -1.527213e+02 -1.395246e+02 -1.055442e+02 -1.109633e+02 1.041089e+02
[266] -2.655675e+01 1.979138e+01 1.733299e+02 2.522950e+01 -9.187297e+01
[271] -2.070035e+01 2.797355e+01 -5.671958e+01 -1.600361e+02 4.075614e+01
[276] -1.175763e+02 -2.263341e+02 2.464725e+02 -1.357633e+02 1.439101e+02
[281] 6.644558e+01 2.324450e+01 -5.248698e+01 -8.065163e+01 1.499989e+02
[286] -3.459034e+01 -1.138013e+02 -3.537434e+01 -2.456545e+02 8.170916e+01
[291] -2.984431e+01 -2.821563e+01 -8.999059e+01 6.184150e+01 2.325642e+02
[296] 7.589625e+00 -5.042610e+02 -2.730973e+01> jarque.bera.test(sisa_akhir)
Jarque Bera Test
data: sisa_akhir
X-squared = 650.83, df = 2, p-value < 2.2e-16> Box.test(sisa_akhir, lag = 4, type = "Ljung-Box")
Box-Ljung test
data: sisa_akhir
X-squared = 3.7724, df = 4, p-value = 0.4377Berdasarkan evaluasi residual model akhir menggunakan uji Jarque-Bera dan Box-Ljung, dapat disimpulkan bahwa terdapat pelanggaran terhadap asumsi normalitas namun tidak terhadap independensi residual. Hasil uji Jarque-Bera menunjukkan nilai statistik sebesar 650.83 dengan p-value < 2.2e-16, yang secara signifikan mengindikasikan bahwa residual tidak berdistribusi normal. Sementara itu, uji Box-Ljung pada lag ke-4 menghasilkan p-value sebesar 0.4377, yang lebih besar dari taraf signifikansi 0.05, sehingga dapat disimpulkan bahwa tidak terdapat autokorelasi yang signifikan pada residual. Dengan demikian, meskipun asumsi normalitas tidak terpenuhi, residual tetap dapat dianggap acak (white noise), dan model masih dapat dianggap valid untuk keperluan peramalan dalam konteks deret waktu.
> ### Plot Prediksi Akhir
> prediksi_akhir <- harga_saham - sisa_akhir
> plot(tanggal, harga_saham, type = "l", col = "blue", lwd = 2)
> lines(tanggal, prediksi_akhir, type = "o", col = "red", lwd = 2)
> legend("topright", legend = c("Harga Aktual", "Prediksi ARIMA Intervensi"),
+ col = c("blue", "red"), lty = 1)Berdasarkan grafik perbandingan antara harga saham aktual dan hasil prediksi menggunakan model ARIMA Intervensi, terlihat bahwa model memiliki kemampuan yang sangat baik dalam merepresentasikan pola historis pergerakan harga saham. Garis biru yang menunjukkan data aktual cenderung berimpit dengan garis merah yang menggambarkan hasil prediksi, yang menandakan tingkat kesesuaian yang tinggi antara model dan data nyata. Meskipun terdapat beberapa penyimpangan kecil di beberapa titik, secara keseluruhan model berhasil mengikuti fluktuasi harga dengan cukup akurat. Kesesuaian visual ini memperkuat validitas model ARIMA Intervensi dalam menangkap dinamika pasar dan menjadikannya alat yang dapat diandalkan untuk analisis dan peramalan jangka pendek harga saham IHSG.
Simpulan
Berdasarkan keseluruhan analisis yang dilakukan, dapat disimpulkan bahwa:
Model ARIMA(2,1,2) merupakan model terbaik untuk memodelkan pergerakan harga saham IHSG harian, berdasarkan evaluasi nilai AIC dan signifikansi parameter.
Model ini mampu menangkap pola data historis secara akurat dan menghasilkan sisaan yang bebas autokorelasi.
Meskipun sisaan tidak sepenuhnya normal, model tetap layak digunakan untuk prediksi jangka pendek.
Model dengan tambahan komponen intervensi (dummy AO, IO, dan TC) menunjukkan hasil peramalan yang lebih akurat, terutama di sekitar titik-titik gangguan.
Model ARIMA intervensi (ARIMAX) dengan orde (0,1,7) dan variabel dummy intervensi terbukti efektif meningkatkan akurasi prediksi, khususnya dalam merespons perubahan mendadak pada data IHSG. Model ini menghasilkan sisaan yang bebas autokorelasi dan prediksi yang mendekati nilai aktual, sehingga layak digunakan untuk peramalan IHSG jangka pendek dalam kondisi terdapat gangguan eksternal.
Saran
Untuk analisis jangka panjang atau data dengan volatilitas tinggi, disarankan mempertimbangkan model yang dapat menangani heteroskedastisitas, seperti ARIMA-GARCH.
Data yang mengandung outlier atau kejadian luar biasa (intervensi) sebaiknya selalu diperiksa secara menyeluruh agar dapat ditangani melalui pendekatan model intervensi atau outlier detection.
Perlu dilakukan evaluasi performa model secara berkala, terutama jika digunakan untuk peramalan nyata di pasar saham, karena kondisi ekonomi dan pasar dapat berubah dengan cepat.
Untuk meningkatkan kualitas prediksi, penggunaan model hibrida (misalnya ARIMA dengan Machine Learning) dapat menjadi alternatif lanjutan yang lebih adaptif.