Outlier adalah pengamatan yang memiliki nilai jauh berbeda dari nilai lainnya atau dapat dikatakan bahwa data tersebut tidak mencerminkan data secara keseluruhan. Pada kenyataannya pengamatan yang merupakan outlier sering ada pada data yang akan dianalisis.Outlier dapat disebabkan oleh berbagai hal tak terduga yang muncul dan mempengaruhi nilai pengamatan sehingga berubah menjadi ekstrim seketika. Menurut Wei (2006) konsekuensi dari adanya hal tak terduga dapat menciptakan pengamatan melenceng yang tidak konsisten seperti deret waktu lainnya.Maka dari itu, penelitian ini bertujuan untuk membrikan gambaran dalam melakukan pemodelan outlier dengan RStudio
Statistika deskriptif adalah metode-metode yang berkaitan dengan pengumpulan dan penyajian suatu data sehingga memberikan informasi yang berguna (Walpole, 1995). Statistik deskriptif berfungsi untuk mendeskripsikan atau memberi gambaran terhadap objek yang diteliti melalui data sampel atau populasi (Sugiyono,2007). Data yang disajikan dalam statistik deskriptif biasanya dalam bentuk ukuran pemusatan data (Kuswanto, 2012). Salah satu ukuran pemusatan data yang biasa digunakan adalah mean (Fauzy, 2009).
Additive Outlier Additive outlier merupakan jenis outlier yang mempengaruhi pengamatan tunggal tanpa mempengaruhi deret lainnya dan biasanya terjadi sebagai akibat dari kesalahan yang dibuat dalam merekap data. Model dari additive outlier dapat ditulis sebagai berikut: \[ Z_{~t~}= X_{~t~}+ ω_{~i~}I^{(T)}_{~t~} \tag{1} \]
Level Shift (LS) Level shift adalah perubahan yang mempengaruhi deret pada satu waktu tertentu dan bersifat permanen hingga akhir pengamatan. Model dari level shift dapat ditulis sebagai berikut: \[ Z_{~t~}= X_{~t~}+ \frac {ω_~i~}{1-B} I^{(T)}_{~t~} \tag{2} \]
Transitory Change(TC) Transitory change adalah suatu kejadian di mana outlier menghasilkan efek terhadap pengamatan menurun secara eksponensial dengan parameter δ dan dampak awal ωi. Model dari transitory change dapat ditulis sebagai berikut: \[ Z_{~t~}= X_{~t~} + \frac {1}{1-δB} ω_{~i~}I^{(T)}_{~t~} \tag{3} \]
Inovational Outlier Inovational outlier merupakan jenis outlier yang mempengaruhi pengamatan setelah terjadinya pencil sehingga mengganggu susunan deret waktu. Model dari innovational outlier dapat ditulis sebagai berikut: \[ Z_{~t~}= X_{~t~}+ \frac {θ(B)}{φ(B)} ω_{~i~}I^{(T)}_{~t~} \tag{4} \] ## Deteksi Outlier Menggunakan Prosedur Iteratif Berikut ini merupakan tahapan-tahapan dalam pendeteksian outlier menggunakan metode iteratif (Tsay, 1988):
Diasumsikan bahwa tidak ada perubahan ragam (tidak terdapat outlier pada data) dan telah diketahui model untuk data deret waktu tersebut sehingga dapat diperoleh parameter duga dan sisaan berdasarkan model.
Menghitung rasio ragam menggunakan nilai sisaan yang telah didapatkan pada tahapan sebelumnya sehingga didapatkan nilai minimum dan maksimum rasio ragam. Jika nilai minimum dan maksimum rasio ragam dilambangkan dengan \[ λ_{V,min} \] dan \[ λ_{V,max} \] maka dapat ditetapkan persamaan seperti berikut: \[ \begin{aligned} λ_{V,min} &=Min[r_{~d~}|h<d<n-h] \\ λ_{V,max} &=Max[r_{~d~}|h<d<n-h] \end{aligned} \tag{5} \] di mana h merupakan bilangan bulat positif yang telah ditentukan berdasarka angka minimum sisaan yang digunakan untuk menduga ragam pada awal hingga akhir data.
Jika dimisalkan \[ λ_{V}=Max[λ_{V,max},λ^{-1}_{V,max}] \] maka tahapan selanjutnya ialah membandingkan λv dengan nilai titik kritis C yang telah ditetapkan.Nilai titik kritis C yang banyak digunakan ialah 2.5, 3.0 atau 3.5.Jika λV < C, maka dapat disimpulkan bahwa tidak ada perubahan ragam yang signifikan dan iterasi dihentikan. Disisi lain, jika λV ≥ C , maka perubahan ragam telah terdeteksi. Pengamatan yang tak terduga perubahannya ialah ketika λV signifikan, hal ini dapat dikatakan sebagai d0.
Sesuaikan perubahan varians dengan membentuk proses yang dimodifikasi untuk Zt* sebagai berikut: \[ Z^{*}_{~t~} saat : t< d_{~0~} = Z_{~t~} \\Z^{*}_{~t~} saat : t> d_{~0~}= Z_{bar}+λ^{-1/2}_{V}(Z_{~t~}-Z_{bar}) \tag{6} \] di mana Zbar merupakan rata-rata contoh dari Zt, maka langkah selanjutnya ialah kembali ke tahapan 1 di mana\[Z^{*}_{~t~}\]yang digunakan sebagai pengamatan.
Data yang digunkana dalam penelitian ini adalah data rivers (yang dianggap sebagai data deret waktu untuk keperluan latihan analisis)
library(TSA)##
## Attaching package: 'TSA'
## The following objects are masked from 'package:stats':
##
## acf, arima
## The following object is masked from 'package:utils':
##
## tar
library(tidyverse)## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✔ ggplot2 3.3.6 ✔ purrr 0.3.4
## ✔ tibble 3.1.7 ✔ dplyr 1.0.9
## ✔ tidyr 1.2.0 ✔ stringr 1.4.0
## ✔ readr 2.1.2 ✔ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ readr::spec() masks TSA::spec()
library(tidyr)TSA digunakan untuk analisis data time series,untuk library tidyverse berfungsi untuk pengolahan data import dan export data, membuat visualisasi data, dan pemodelan data sedangkan untuk library tidyr digunakan untuk merapikan data seperti handling missing value yang berfungsi menangani data yang hilang atau tidak lengkap.
data.frame(rivers)## rivers
## 1 735
## 2 320
## 3 325
## 4 392
## 5 524
## 6 450
## 7 1459
## 8 135
## 9 465
## 10 600
## 11 330
## 12 336
## 13 280
## 14 315
## 15 870
## 16 906
## 17 202
## 18 329
## 19 290
## 20 1000
## 21 600
## 22 505
## 23 1450
## 24 840
## 25 1243
## 26 890
## 27 350
## 28 407
## 29 286
## 30 280
## 31 525
## 32 720
## 33 390
## 34 250
## 35 327
## 36 230
## 37 265
## 38 850
## 39 210
## 40 630
## 41 260
## 42 230
## 43 360
## 44 730
## 45 600
## 46 306
## 47 390
## 48 420
## 49 291
## 50 710
## 51 340
## 52 217
## 53 281
## 54 352
## 55 259
## 56 250
## 57 470
## 58 680
## 59 570
## 60 350
## 61 300
## 62 560
## 63 900
## 64 625
## 65 332
## 66 2348
## 67 1171
## 68 3710
## 69 2315
## 70 2533
## 71 780
## 72 280
## 73 410
## 74 460
## 75 260
## 76 255
## 77 431
## 78 350
## 79 760
## 80 618
## 81 338
## 82 981
## 83 1306
## 84 500
## 85 696
## 86 605
## 87 250
## 88 411
## 89 1054
## 90 735
## 91 233
## 92 435
## 93 490
## 94 310
## 95 460
## 96 383
## 97 375
## 98 1270
## 99 545
## 100 445
## 101 1885
## 102 380
## 103 300
## 104 380
## 105 377
## 106 425
## 107 276
## 108 210
## 109 800
## 110 420
## 111 350
## 112 360
## 113 538
## 114 1100
## 115 1205
## 116 314
## 117 237
## 118 610
## 119 360
## 120 540
## 121 1038
## 122 424
## 123 310
## 124 300
## 125 444
## 126 301
## 127 268
## 128 620
## 129 215
## 130 652
## 131 900
## 132 525
## 133 246
## 134 360
## 135 529
## 136 500
## 137 720
## 138 270
## 139 430
## 140 671
## 141 1770
plot(rivers,ylab='miles',xlab='Bulan', type='o')
## ACF dan PACF
acf(rivers)pacf(rivers)arima(rivers,order=c(1,0,1),method='ML',include.mean = T)##
## Call:
## arima(x = rivers, order = c(1, 0, 1), include.mean = T, method = "ML")
##
## Coefficients:
## ar1 ma1 intercept
## 0.6722 -0.3037 600.5013
## s.e. 0.1089 0.1300 78.1898
##
## sigma^2 estimated as 195087: log likelihood = -1058.97, aic = 2123.93
riv.m1=arima(rivers,order=c(1,0,1),method='ML',include.mean = T)
detectAO(riv.m1)## [,1] [,2] [,3]
## ind 66.000000 68.000000 101.000000
## lambda2 3.960429 6.431511 4.213812
detectIO(riv.m1)## [,1] [,2] [,3]
## ind 66.000000 68.000000 101.000000
## lambda1 5.101067 7.537988 3.692812
riv.m2=arimax(rivers,order=c(1,0,1),xreg=data.frame(AO1=1*(AO=seq(rivers)==66
),
AO2=1*(AO=seq(rivers)==68)),io=c(101),method='ML')
riv.m2##
## Call:
## arimax(x = rivers, order = c(1, 0, 1), xreg = data.frame(AO1 = 1 * (AO = seq(rivers) ==
## 66), AO2 = 1 * (AO = seq(rivers) == 68)), method = "ML", io = c(101))
##
## Coefficients:
## ar1 ma1 intercept AO1 AO2 IO.101
## 0.5006 -0.1386 554.7690 1901.098 2536.1000 1690.1187
## s.e. 0.1376 0.1564 47.5944 318.759 326.7884 317.8851
##
## sigma^2 estimated as 107512: log likelihood = -1016.92, aic = 2045.84
tsdiag(riv.m2,gof=15,omit.initial=F)
## Model Outlier
plot(rivers,ylab='miles',xlab='Bulan', type='o')
points(fitted(riv.m2))Data dibangkitkan dengan cara simulasi data rivers dengan lebar 4,875 dan tinggi 2,5 serta ukuran poin adalah 8 melalui fungsi win.graph() dan dilanjutkan dengan membuat kerangka data, koleksi dari variabel-variabel yang mana memiliki karakteristik seperti matriks dengan fungsi data.frame(). Selanjutnya dilakukan pembentukan grafik data dengan fungsi plot().
\[ \begin{aligned} Z_{~t~}&= Model AO + Model IO \\ Z_{~t~}&= (Z~t~= X~t~+ ω~i~I^{(T)}_{~t~}) + (Z~t~= X~t~+ \frac {θ(B)}{φ(B)} ω~i~I^{(T)}_{~t~}) \\ Z_{~t~}&= 554,769 + (-0,2768_{~a_t~} + 1901,0983I^{(66)}_{~t~} + 2536,10I^{(68)}_{~t~} - 467,9394I^{(101)}_{~t~}) \end{aligned} \] # DAFTAR PUSTAKA
Materi praktikum metode peramalan