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)
<-rnorm(175,0,1)
e<-length(e)
n#Pembangkitan y
<-1.25
mu<-0.6
phi1<--0.75
phi2<--0.3
tetha1<-0.65
tetha2<-c(1:n)
yfor (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[-c(1:25)] y
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
<-diff(y,differences = 1)
y.dif1<-y[c(-1)]
yc<-(yc-y) y.dif1c
## Warning in yc - y: longer object length is not a multiple of shorter object
## length
<-y.dif1c[c(-150)]
y.dif1c#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)
<- 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)] y1_sim
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
<-diff(y1_sim,differences = 1)
y1sim.dif1
#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)
<-rnorm(175,0,1)
e<-length(e)
n#Pembangkitan y
.2<-0.15
mu.2<-0.6
phi.2<-0.55
tetha1.2<-0.65
tetha2.2<-c(1:n)
yfor (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]}
.2<-y.2[-c(1:25)] y
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
<-diff(y.2,differences = 1)
y2.dif1
#d identifikasi stasioneritas
plot.ts(y2.dif1,lty=1,ylab=expression(Ydif[t]))
acf(y2.dif1,lag.max = 20)
<-diff(y.2,differences = 2)
y2.dif2<-diff(y2.dif1,differences=1)
y2c.dif2plot.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)
<- 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)] y2_sim
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
<-diff(y2_sim,differences = 1)
y2sim.dif1
#d identifikasi stasioneritas
plot.ts(y2sim.dif1,lty=1,ylab=expression(Ydif[t]))
acf(y2sim.dif1,lag.max = 20)
<-diff(y2_sim,differences = 2)
y2sim.dif2plot.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