R06 STA1341-ARIMA
Package
library("TTR")
library("TSA")
library("graphics")
library("forecast")Model ARIMA(2,1,2)
Membangkitkan Data
#Kasus ARIMA(2,1,2)
set.seed(1234)
e<-rnorm(175,0,1)
n<-length(e)
#Pembangkitan y
mu<-1.25
phi1<-0.6
phi2<--0.75
tetha1<--0.3
tetha2<-0.65
y<-c(1:n)
for (i in 4:n) {y[i]<-mu+((1+phi1)*y[i-1])+((phi2-phi1)* y[i-2])-phi2*y[i-3]+e[i]
-tetha1* e[i-1]-tetha2*e[i-2]}
y<-y[-c(1:25)] Eksplorasi Data
#b. plot ts, korelogram, uji ADF
plot.ts(y,lty=1,ylab=expression(Y[t]))acf(y,lag.max = 20)Stasioneritas dan Differencing
#c differencing
y.dif1<-diff(y,differences = 1)
yc<-y[c(-1)]
y.dif1c<-(yc-y)## Warning in yc - y: longer object length is not a multiple of shorter object
## length
y.dif1c<-y.dif1c[c(-150)]
#d identifikasi stasioneritas
plot.ts(y.dif1,lty=1,ylab=expression(Ydif[t]))acf(y.dif1,lag.max = 20)plot.ts(y.dif1c,lty=1,ylab=expression(Ydif[t]))acf(y.dif1c,lag.max = 20)Penentuan Ordo ARIMA
#penentuan ordo
acf(y.dif1,lag.max = 20)pacf(y.dif1,lag.max = 20) eacf(y.dif1)## AR/MA
## 0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x o x x o x o o o o o o
## 1 x x x o x x o x o x o o o o
## 2 o o o o o o x o o o o o o o
## 3 x o o o o o o o o o o o o o
## 4 x o o o o o o o o o o o o o
## 5 o x o o o o o o o o o o o o
## 6 o x x x o o o o o o o o o o
## 7 x x x x o o o o o o o o o o
Pembangkitan ARIMA (2,1,2) dengan arima.sim
#dengan arima.sim
set.seed(999)
y1_sim <- arima.sim(list(order = c(2,1,2), ar=c(0.6,-0.75),ma = c(-0.3,0.65)), n = 175)
y1_sim<-y1_sim[-c(1:25)]Eksplorasi Data
#b. plot ts, korelogram, uji ADF
plot.ts(y1_sim,lty=1,ylab=expression(Y[t]))acf(y1_sim,lag.max = 20)Stasioneritas dan Differencing
#c differencing
y1sim.dif1<-diff(y1_sim,differences = 1)
#d identifikasi stasioneritas
plot.ts(y1sim.dif1,lty=1,ylab=expression(Ydif[t]))acf(y1sim.dif1,lag.max = 20)Penentuan Ordo ARIMA
#penentuan ordo
acf(y1sim.dif1,lag.max = 20)pacf(y1sim.dif1,lag.max = 20) eacf(y1sim.dif1)## AR/MA
## 0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x o o x o o o o o o o o o o
## 1 x o o x o o o o o o o o o o
## 2 x x o x o o o o o o o o o o
## 3 x x o o o o o o o o o o o o
## 4 x o x x o o o o o o o o o o
## 5 o x o o o o o o o o o o o o
## 6 o x x o o o o o o o o o o o
## 7 x x x o o o o o o o o o o o
Model ARIMA(1,2,2)
Membangkitkan Data
set.seed(1234)
e<-rnorm(175,0,1)
n<-length(e)
#Pembangkitan y
mu.2<-0.15
phi.2<-0.6
tetha1.2<-0.55
tetha2.2<-0.65
y.2<-c(1:n)
for (i in 4:n) {y.2[i]<-mu.2+((2+phi.2)*y.2[i-1])-((1+(2*phi.2))* y.2[i-2])+(phi.2*y.2[i-3])+e[i]
-tetha1* e[i-1]-tetha2*e[i-2]}
y.2<-y.2[-c(1:25)] Eksplorasi Data
#b. plot ts, korelogram, uji ADF
plot.ts(y.2,lty=1,ylab=expression(Y[t]))acf(y.2,lag.max = 20)Stasioneritas dan Differencing
#c differencing
y2.dif1<-diff(y.2,differences = 1)
#d identifikasi stasioneritas
plot.ts(y2.dif1,lty=1,ylab=expression(Ydif[t]))acf(y2.dif1,lag.max = 20)y2.dif2<-diff(y.2,differences = 2)
y2c.dif2<-diff(y2.dif1,differences=1)
plot.ts(y2.dif2,lty=1,ylab=expression(Ydif[t]))acf(y2.dif2,lag.max = 20)Penentuan Ordo ARIMA
#penentuan ordo
acf(y2.dif2,lag.max = 20)pacf(y2.dif2,lag.max = 20) eacf(y2.dif2)## AR/MA
## 0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x x x x x o o o o o o o
## 1 o o o o o o o o o o o o o o
## 2 x o o x o o o o o o o o o o
## 3 o o o x o o o o o o o o o o
## 4 x o x o o o o o o o o o o o
## 5 x o x o o o x o o o o o o o
## 6 o o x o o o o o o o o o o o
## 7 o x x o o x o o o o o o o o
Pembangkitan ARIMA (1,2,2) dengan arima.sim
#dengan arima.sim
set.seed(999)
y2_sim <- arima.sim(list(order = c(1,2,2), ar=phi.2,ma = c(tetha1.2,tetha2.2)), n = 175)
y2_sim<-y2_sim[-c(1:25)]Eksplorasi Data
#b. plot ts, korelogram, uji ADF
plot.ts(y2_sim,lty=1,ylab=expression(Y[t]))acf(y2_sim,lag.max = 20)Stasioneritas dan Differencing
#c differencing
y2sim.dif1<-diff(y2_sim,differences = 1)
#d identifikasi stasioneritas
plot.ts(y2sim.dif1,lty=1,ylab=expression(Ydif[t]))acf(y2sim.dif1,lag.max = 20)y2sim.dif2<-diff(y2_sim,differences = 2)
plot.ts(y2sim.dif2,lty=1,ylab=expression(Ydif[t]))acf(y2sim.dif2,lag.max = 20)Penentuan Ordo ARIMA
#penentuan ordo
acf(y2sim.dif2,lag.max = 20)pacf(y2sim.dif2,lag.max = 20) eacf(y2sim.dif2)## AR/MA
## 0 1 2 3 4 5 6 7 8 9 10 11 12 13
## 0 x x x x o o o o x o o o o o
## 1 x x o o x o o o o o o o o o
## 2 x x x o o x o o o o o o o o
## 3 x x x o o x o o o o o o o o
## 4 x x o o x x o o o o o o o o
## 5 x o x o o x o o o o o o o o
## 6 x x o x o x o o o o o o o o
## 7 o x o o o x o o o o o o o o