#Membangkitkan y, Arima(1,2,0):mu=0.25,phi=0.65
set.seed(101)
e<-rnorm(125,0,1)
n<-length(e)
mu<-0.15
shi<-0.55
Output 1:
Output 2:
#Differencing ordo 1
plot.ts(y.dif1, lty=1, xlab="waktu", ylab="Data y.dif1
ordo 1")
points(y.dif1,col="red")
acf(y.dif1,lag.max = 20)
adf.test(y.dif1, alternative =
c("stationary"),k=trunc((length(y)-1)^(1/3)))
Output 1:
Output 2:
#Uji ADF
Augmented Dickey-Fuller Test
data: y.dif1
Dickey-Fuller = -1.6871, Lag order = 4, p-value = 0.7061
alternative hypothesis: stationary
Interpretasi:
Berdasarkan plot diatas data yang dibangkitkan merupakan data
yang tidak stasioner. Hal ini diindikasikan berdasarkan pola yang
ditunjukkan oleh plot Correlogram yaitu pola yang menurun secara
perlahan. Dan berdasarkan hasil uji ADF dengan taraf signifikansi α =5
diatas dapat diketahui bersama bahwa, p−value=0.7061 > α = 0.05
sehingga keputusan yang diambil adalah Terima H0 artinya data yang
telah dibangkitkan dan dilakukan differencing 1 kali merupakan data yang
tidak stasioner. Sehingga untuk data perlu dilakukan proses differencing
ordo 2
Program:
#Cek Kestasioneran 2
y.dif2 <- diff(y,difference=2)
#Differencing ordo 2
plot.ts(y.dif2, lty=1, xlab="waktu", ylab="Data y.dif1
ordo 1")
points(y.dif2,col="purple")
acf(y.dif2,lag.max = 20,col="purple")
adf.test(y.dif2,alternative=c("stationary"),k=trunc((leng
th(y)-1)^(1/3)))
Output 1:
Output 2:
#Uji ADF
data: y.dif2
Dickey-Fuller = -3.8736, Lag order = 4, p-value = 0.01831
alternative hypothesis: stationary
Interpretasi:
Berdasarkan plot diatas data yang telah dibangkitkan dan dilakukan
differencing 2 kali merupakan data yang kemungkinan stasioner. Hal ini
diindikasikan berdasarkan pola yang ditunjukkan oleh plot Correlogram
yaitu bahwa pola yang terdapat lag. Maka, untuk memastikan hal ini akan
dilakukan uji ADF yang mana berdasarkan ujinya dapat kita ambil
kesimpulan bahwa p−value = 0.026735 < α = 0.05 sehingga keputusan
yang diambil adalah Tolak H0 artinya data yang telah dibangkitkan dan
dilakukan differencing 2 kali merupakan data yang stasioner.
b. Identifikasi kandidat model yang sesuai berdasarkan ACF, PACF, dan
EACF
Program:
#Pengidentifikasian model
Output ACF:
Output PACF:
Output EACF:
> eacf(y.dif2)
AR/MA
0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 x x o o o o o o o o o o o o
1 x x x o o o o o o o o o o o
2 x x o o o o o o o o o o o o
3 o x o o o o o o o o o o o o
4 x x o o o o o o o o o o o o
5 x o x o o o o o o o o o o o
6 x o o o o o o o o o o o o o
7 x o o x o o o o o o o o o o
Interpretasi:
Berdasarkan dari ketiga pengindetifikasian model diatas dapat kita
lihat bahwa hasilnya berbeda-beda yaitu ACF memiliki model yang
berbeda dengan PACF.
c. Menentukan model terbaik berdasarkan nilai AIC-nya
Program:
#Pendugaan parameter dan penentuan model terbaik
Berdasarkan kandidat Model hasil identifikasi
arima(y.dif2, order=c(2,0,0),method="ML") #ARIMA(2,2,0)
arima(y.dif2, order=c(1,0,1),method="ML") #ARIMA(1,2,1)
arima(y.dif2, order=c(1,0,0),method="ML") #ARIMA(1,2,0)
Output:
Interpretasi:
Berdasarkan dari ketiga model diatas dapat kita ambil model terbaik
berdasarakn nilai AIC-nya yaitu ARIMA (1,2,0) dengan Nilai AIC =
277.77 seperti yang dapat kita lihat dari hasil output diatas.
d. Membandingkan penduga parameter yang diperoleh untuk model terbaik
pada poin (c) dengan nilai parameter yang sesungguhnya
Program:
#ARIMA(1,2,0)
model <- arima(y.dif2, order=c(1,0,0),method="ML")
model
dugaan <- fitted(model)
cbind(y.dif2,dugaan)
Output:
Output 2:
Output 3:
Interpretasi:
Berdasarkan hasil diatas penduga parameter ^μ=0.2899 dengan nilai
∅^ =0.5654 jika dibandingkan dengan data Y yang dibangkitkan yaitu
ARIMA(1,2,0) dengan parameter ^μ=0.25 dengan nilai ∅=0.65 sigma^2
estimated as 0.9529 adalah nilai dugaan bagi σ 2e. Model terbaik yang
diperoleh yaitu model ARIMA(1,2,0) adalah model yang sama dengan
model awal yang digunakan untuk membangkitkan data.
2. Membangkitkan data (n=125) berupa model ARIMA(2,1,2) dengan μ = 0.25,
∅ 1=−0.75, ∅ 2=−0.60, θ1=0.45, θ2=−0.85 serta et ~ Normal(0,1).
Program:
library(forecast)
library(TTR)
library(TSA)
library(graphics)
y <- c(1:n)
for (i in 4:n){
y[i] <- mu + y[i-1] + shi1*y[i-1] - shi1*y[i-2] + shi2*y[i-
2] - shi2*y[i-3] +e[i] - theta1*e[i-1] - theta2*e[i-2]
}
y <- y[-c(1:25)]
plot.ts(y, lty=1, xlab="Waktu", ylab="Data Asal (y)")
points(y)
acf(y, lag.max=20) #cek kestasioneran
#Pengindentifikasian Model
acf(y.dif1, lag.max=20)
pacf(y.dif1, lag.max=20)
eacf(y.dif1)
Program:
library(forecast)
library(TTR)
library(TSA)
library(graphics)
y <- c(1:n)
for (i in 4:n){
y[i] <- mu + y[i-1] + shi1*y[i-1] - shi1*y[i-2] + shi2*y[i-
2] - shi2*y[i-3] +e[i] - theta1*e[i-1] - theta2*e[i-2]
}
y <- y[-c(1:25)]
plot.ts(y, lty=1, xlab="Waktu", ylab="Data Asal (y)")
points(y)
acf(y, lag.max=20)
#cek kestasioneran
y.dif1 <- diff(y, difference=1)
plot.ts(y.dif1, lty=1, xlab="Waktu", ylab="Data Y.Diff Ordo
1")
points(y.dif1)
Output 1:
Output 2:
Program:
#Pengindentifikasian Model
acf(y.dif1, lag.max=20)
pacf(y.dif1, lag.max=20)
eacf(y.dif1)
Output ACF:
Output PACF:
Output EACF:
b. Menentukan model terbaik berdasarkan nilai AIC-nya
Program:
#Pendugaan Parameter dan Penentuan Model Terbaik
# Berdasarkan Kandidat Model Hasil Identifikasi
Output:
c. Melakukan analisis diagnostic pada model terbaik
Program:
#Plot dan nilai dugaan berdasarkan model terbaik
model <- arima(y.dif1, order=c(2,0,2),method="ML")
model
dugaan <- fitted(model)
cbind(y.dif1,dugaan)
Output 1:
Output 2:
> cbind(y.dif1,dugaan)
Time Series:
Start = 1
End = 99
Frequency = 1
y.dif1 dugaan
1 -2.22665437 -1.15764185
2 2.53291450 2.01126204
3 -2.59828702 -1.41557716
4 -0.43995216 1.34191808
5 2.81856329 2.08939878
6 -2.89950431 -3.24537921
7 0.89935054 1.20916110
8 3.98293600 1.65304468
9 -6.40167702 -4.73510198
10 7.23882431 5.59012578
11 -1.59945257 -3.82775956
12 -2.62319626 -2.31688644
13 2.94288198 4.96734845
14 0.68818064 0.26029611
15 -4.58566189 -3.75960795
16 4.33903399 4.04052243
17 -0.87462641 -1.35264954
18 -2.00719732 -1.47345690
19 2.69136631 2.85610583
20 -0.44027791 -1.04347848
21 -3.10824554 -1.35631413
22 4.44196542 4.17794726
23 -2.30608334 -2.98092627
24 2.67402892 -0.58433766
25 -2.50142748 -1.65142627
26 2.04922277 3.77611375
27 -1.45308028 0.24256474
28 0.21661546 -0.35198773
29 -0.56673100 -0.85288369
30 1.78262158 0.85180023
31 -1.82746543 -1.03977074
32 2.67318879 1.80092102
33 0.08178984 -1.87990661
34 -2.04192285 -1.57334440
35 2.91757301 3.56693440
36 -0.05820777 -0.89158837
37 -3.06763995 -2.27784451
38 3.13482472 3.63498671
39 0.40629354 -0.84360374
40 -0.93703099 -2.83216035
41 2.39989996 0.75440543
42 0.49483415 -0.33359788
43 0.86801911 -0.50228717
44 -1.49747468 -0.71098155
45 0.97010231 2.41341249
46 -0.11012120 0.40873412
47 -1.84879559 -1.14544204
48 -0.38281917 1.59116831
49 3.60503242 1.94733832
50 -5.41304554 -4.74439182
51 4.53746739 4.02148222
52 -2.07872229 -1.04698759
53 -0.36752581 0.28379673
54 1.19974354 1.10080550
55 -0.73920052 -1.05988797
56 0.25600160 0.04169557
57 0.62779068 0.58806570
58 -0.81193820 -0.22253666
59 0.17176367 0.82761685
60 1.10824904 0.38638097
61 -2.35638170 -1.61007022
62 3.32573851 2.36268627
63 -3.04648796 -2.09289275
64 0.67547907 1.98651583
65 1.48584599 1.25582967
66 -3.24921018 -2.45053400
67 1.36907423 2.44091330
68 1.88723145 0.85458494
69 -4.71604910 -3.34095286
70 5.06125762 4.27880213
71 -3.62516863 -2.53650422
72 1.54175927 1.40013335
73 0.84797792 0.05855706
74 -0.75473726 -1.52921262
75 0.72602555 0.58041075
76 -0.24483772 0.65969846
77 -0.66620014 0.60503517
78 2.26779196 0.76058150
79 -2.05047303 -2.93734026
80 1.81916995 1.31380488
81 -0.44149296 0.45359100
82 0.96663699 0.45493413
83 -0.95251880 -1.26348981
84 -0.34164214 0.67341823
85 0.85185563 1.77708045
86 -1.33904356 -0.58569061
87 -0.70935700 0.38246325
88 1.97353987 1.41525699
89 -1.72357330 -2.05403811
90 1.30469737 0.73123268
91 -0.51967364 0.16213594
92 0.01307118 0.73632549
93 0.65403941 0.30483710
94 -1.79323826 -1.04966697
95 3.27286754 1.87892288
96 -1.26940725 -2.57888159
97 1.68035132 -0.12176031
98 0.01366588 -0.18724818
99 1.03410859 0.69897185
Output 1:
Output 2:
Interpretasi:
Berdasarkan dari hasil perbandingan antara penduga parameter yang
diperoleh untuk model terbaik dengan parameter yang sesungguhnya dapat
kita lihat pada hasil output diatas dimana pada output pertama dapat kita
lihat bahwa itu termasuk kedalam penduga parameter berdasarkan model
terbaik menurut AIC-nya. Sedangkan pada hasil output kedua merupakan
hasil dari analisis diagnostic pada model terbaik.Sehingga dari kedua
model diatas terdapat suatu perbedaan.
e. Menentukan nilai ramalan untuk 5 waktu kedepan berdasarkan model
terbaik
Program:
prediksi <- forecast(dugaan,h=5);prediksi
Output: