Laboratorium Statistika dan Komputasi Matematika
Fakultas Matematika dan Ilmu Pengetahuan Alam
:: Praktikum Statistika menggunakan R ::
08. Analisis Deret Waktu
Analisis Deret Waktu
Kelompok Keilmuan Statistika
MA2181 Analisis Data / MA2081 Statistika Dasar / MA2082 Biostatistika
Copyright 2020 © KK Statistika, FMIPA – ITB
1
Menentukan karakteristik data seperti kestasioneran, tren, dan musiman melalui scatter plot data terhadap waktu.
Memahami mekanisme stokastik yang berkembang menjadi observasi barisan.
Menentukan model deret waktu stasioner.
TUJUAN
1
2
3
Copyright 2020 © KK Statistika, FMIPA – ITB
2
Alur Pemodelan
Identifikasi Model
Estimasi Parameter
Uji Diagnostik
Uji White Noise :
Uji Ljung-Box (uji residu)
Stasioner
Mean dan variansi konstan
Non-stasioner
Mean dan variansi tidak konstan
3
Informasi Data
Data berikut merupakan data yang akan digunakan sebagai contoh dalam analisis deret waktu menggunakan program R.
Informasi data :
Data penutupan harga suatu saham X dari bulan Januari 2000 sampai Agustus 2006. Data tersebut dapat diperoleh dari dataset di R
> library(readxl)
> data <- read_excel("DATA DERET WAKTU.xlsx", sheet = "harga saham")
> library(forecast)
> data_1 = ts(data$`harga (Euro)`)
> plot(data_1,main="Grafik Harga Saham X",ylab="Harga (Euro)",xlab="bulan",type='o')
4
Identifikasi Model
5
Kestasioneran
Model deret waktu dibagi menjadi 2, yaitu:
Kestasioneran data dapat langsung dilihat dari plot obsevasi terhadap waktu, dengan ciri-ciri:
Beberapa uji yang dapat digunakan untuk menguji kestasioneran data adalah dengan melihat plot ACF (visual), atau uji akar unit (ADF).
Model Stasioner
(a)
(b)
(c)
Tren
Musiman
Stasioner
6
Uji Kestasioneran
Plot ACF
Uji ADF
> library(tseries)
> adf.test(data_1)
Augmented Dickey-Fuller Test
data: data_1
Dickey-Fuller = -3.4878, Lag order = 4, p-value = 0.04854
alternative hypothesis: stationary
> acf(data_1)
7
Identifikasi Model
> data_2 = diff(data_1)
> plot(data_2,main="Grafik Diferensiasi Harga Saham X",ylab="Diferensiasi", xlab="bulan",type='o')
Model Non Stasioner
8
Uji Kestasioneran (2)
Plot ACF
Uji ADF
> adf.test(data_2)
Augmented Dickey-Fuller Test
data: data_2
Dickey-Fuller = -3.5701, Lag order = 4, p-value = 0.0415
alternative hypothesis: stationary
> acf(data_2)
9
Model Deret Waktu Stasioner
AR(p)
MA(q)
ARMA(p,q)
10
Identifikasi Orde
Cara menentukan calon model-model yang digunakan, kita dapat lihat dari grafik ACF dan PACF. Berikut pola grafik ACF dan PACF untuk data stasioner:
Model | ACF | PACF |
AR(p) | Eksponensial turun / gelombang sinus | Cut-Off lag - p |
MA(q) | Cut-Off lag - q | Eksponensial turun / gelombang sinus |
ARMA(p,q) | Eksponensial turun | Eksponensial turun |
Untuk data tidak stasioner → ARIMA(p,d,q) *dengan d → jumlah diferensiasi
11
Identifikasi Orde
Autocorrelation Function (ACF)
Partial Autocorrelation Function (PACF)
> acf(data_2, main="Grafik ACF")
> pacf(data_2, main="Grafik PACF")
Model yang mungkin : ARIMA(1,1,1), ARI(1,1), dan IMA(1,1)
12
ESTIMASI PARAMETER
13
Metode Manual
ARIMA(1,1,0)
ARIMA(0,1,1)
ARIMA(1,1,1)
> model_ari = arima(data_1,order = c(1,1,0))
> summary(model_ari)
Call:
arima(x = data_1, order = c(1, 1, 0))
Coefficients:
ar1
0.2853
s.e. 0.1148
sigma^2 estimated as 1655: log likelihood = -404.9, aic = 813.79
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 3.838368 40.43069 30.44963 0.08134817 0.6382453 0.9353089 -0.02474631
> model_ima = arima(data_1,order = c(0,1,1))
> summary(model_ima)
Call:
arima(x = data_1, order = c(0, 1, 1))
Coefficients:
ma1
0.2234
s.e. 0.0975
sigma^2 estimated as 1682: log likelihood = -405.51, aic = 815.03
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.621663 40.75552 30.65098 0.09748598 0.6426706 0.9414937 0.02342115
> model_arima = arima(data_1,order = c(1,1,1))
> summary(model_arima)
Call:
arima(x = data_1, order = c(1, 1, 1))
Coefficients:
ar1 ma1
0.3572 -0.0769
s.e. 0.2705 0.2735
sigma^2 estimated as 1653: log likelihood = -404.86, aic = 815.71
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 3.69139 40.40992 30.50208 0.07832834 0.6393913 0.93692 -0.01540324
14
Metode Automatic
> model = auto.arima(data_1)
> summary(model)
Series: data_1
ARIMA(2,1,2)
Coefficients:
ar1 ar2 ma1 ma2
-0.2845 -0.4978 0.5520 0.7875
s.e. 0.2610 0.1632 0.2056 0.1255
sigma^2 estimated as 1592: log likelihood=-401.58
AIC=813.16 AICc=813.98 BIC=825.01
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.518713 38.63334 29.40163 0.09558053 0.6171848 0.9031178 -0.003937922
diperoleh model ARIMA(2,1,2)
15
Akurasi Model
MEAN SQUARE ERROR (MSE) |
|
MEAN ABSOLUTE ERROR (MAE) |
|
ROOT MSE (RMSE) |
|
MEAN ERROR (ME) |
|
MEAN ABSOLUTE PERCENTAGE ERROR (MAPE) |
|
MEAN PERCENTAGE ERROR (MPE) |
|
MEAN ABSOLUTE SCALE RROR (MASE) |
|
16
Pemilihan Model Deret Waktu
Model yang dipilih adalah model dengan akurasi tinggi yaitu nilai residual terkecil.
ARIMA(1,1,0)
ARIMA(0,1,1)
ARIMA(1,1,1)
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 3.838368 40.43069 30.44963 0.08134817 0.6382453 0.9353089 -0.02474631
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.621663 40.75552 30.65098 0.09748598 0.6426706 0.9414937 0.02342115
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 3.69139 40.40992 30.50208 0.07832834 0.6393913 0.93692 -0.01540324
Training set error measures:
ME RMSE MAE MPE MAPE MASE ACF1
Training set 4.518713 38.63334 29.40163 0.09558053 0.6171848 0.9031178 -0.003937922
ARIMA(2,1,2)
Model terbaik dengan residual terkecil adalah ARIMA(2,1,2)
17
> summary(model)
Series: data_1
ARIMA(2,1,2)
Coefficients:
ar1 ar2 ma1 ma2
-0.2845 -0.4978 0.5520 0.7875
s.e. 0.2610 0.1632 0.2056 0.1255
Model terbaik ARIMA(2,1,2) dengan taksiran parameter pada R
18
UJI DIAGNOSTIK
19
Uji Diagnostik
Model deret waktu dikatakan cocok jika :
Plot residual tersebar di sekitar nol tanpa tren.
Histogram residual dekat dengan garis merah distribusi normal
nilai korelasi residual pada setiap lag berada dalam batas signifikansi.
20
> checkresiduals(model)
Ljung-Box test
data: Residuals from ARIMA(2,1,2)
Q* = 5.0344, df = 6, p-value = 0.5394
Model df: 4. Total lags used: 10
Rataan nol dan variansi residual konstan
nilai korelasi residual pada setiap lag berada dalam batas signifikansi, artinya residual saling bebas
Residual berdistribusi normal
21
PREDIKSI
22
Prediksi
23
Prediksi
> (prediksi = forecast(model, h = 5))
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
81 4862.526 4811.391 4913.660 4784.323 4940.729
82 4856.365 4773.808 4938.922 4730.105 4982.626
83 4859.748 4747.713 4971.783 4688.405 5031.091
84 4861.852 4731.913 4991.791 4663.128 5060.577
85 4859.570 4715.074 5004.065 4638.583 5080.556
> plot(prediksi,main="Grafik Harga Saham X", ylab= "Diferensiasi", xlab="bulan",type='o')
24
Tim Penyusun
Dr. Utriweni Mukhaiyar
Dosen KK Statistika
Kepala Laboratorium Statistika dan Komputasi Statistika
Nur’ainul Miftahul Huda, M.Si
Asisten KK Statistika
Pengajar Semester I – 2020/2021
Dr. Udjianna S. Pasaribu
Dosen KK Statistika, MA2181 Analisis Data
Dr. Utriweni Mukhaiyar
Dosen KK Statistika, MA2082 Biostatistika
Dr. Sandy Vantika
Dosen KK Statistika,
MA2181 Analisis Data / MA2081 Statistika Dasar
Dr. Rr. Kurnia Novita Sari
Dosen KK Statistika, MA2181 Analisis Data
Dr. Sapto Wahyu Indratno
Dosen KK Statistika, MA2082 Biostatistika
Yuli Sri Afrianti, S.Si., MT, MBA.
Dosen KK Statistika,
MA2181 Analisis Data / MA2081 Statistika Dasar
Copyright 2020 © KK Statistika, FMIPA – ITB
25
Selamat Praktikum!
Copyright 2020 © KK Statistika, FMIPA – ITB
26