knitr::opts_chunk$set(echo = TRUE)
library("TTR")
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("graphics")
library("forecast")
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Registered S3 methods overwritten by 'forecast':
## method from
## fitted.Arima TSA
## plot.Arima TSA
library("tseries")
Bangkitkan data Yt (n=200) berupa model ARIMA (0,2,2) dengan \(\mu=0.25\), \(\theta_1=0.60\), \(\theta_2=-0.75\), dan \(e_t\)~\(N(0,1)\). Gunakan 175 data terakhir. Berikut adalah persamaannya \(y_t=\mu+2y_{t-1}-y_{t-2}+e_t-\theta_1e_{t-1}-\theta_2e_{t-2}\)
set.seed(7)
e<-rnorm(200,0,1)
n<-length(e)
mu<-0.25
tetha1<-0.6
tetha2<--0.75
y<-c(1:n)
for (i in 3:n)
{y[i]<-mu+(2*y[i-1])-y[i-2]+e[i]-tetha1*e[i-1]-tetha2*e[i-2]}
y<-y[-c(1:25)]
head(y)
## [1] 248.1450 269.8439 292.0713 313.7748 336.4859 358.0045
Buat plot, correlogram dan uji ADF apakah dapat diidentifikasi ketidakstasioneran data.
#berdasarkan plot data tidak stasioner
plot.ts(y,lty=1,ylab=expression(Y[t]))
#berdasarkan plot ACF teridentifikasi data tidak stasioner
acf(y,lag.max = 20)
#ujiADF menghasilkan terima H0 (pvalue>0.05) artinya data tidak stasioner
adf.test(y,alternative=c("stationary"),k=trunc((length(y)-1)^(1/3)))
## Warning in adf.test(y, alternative = c("stationary"), k = trunc((length(y) - :
## p-value greater than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: y
## Dickey-Fuller = 1.2146, Lag order = 5, p-value = 0.99
## alternative hypothesis: stationary
Data tidak stasioner kemudian diterapkan proses pembedaan 1.
#berdasarkan plot dif 1 data tidak stasioner
y.dif1<-diff(y,differences = 1)
plot.ts(y.dif1,lty=1)
#berdasarkan plot ACF dif1 teridentifikasi data tidak stasioner
acf(y.dif1,lag.max = 20)
#ujiADF menghasilkan terima H0 (pvalue>0.05) artinya data tidak stasioner
adf.test(y.dif1,alternative=c("stationary"),k=trunc((length(y)-1)^(1/3)))
##
## Augmented Dickey-Fuller Test
##
## data: y.dif1
## Dickey-Fuller = -3.3555, Lag order = 5, p-value = 0.06413
## alternative hypothesis: stationary
Data tidak stasioner kemudian diterapkan proses pembedaan 2.
#berdasarkan plot data telah stasioner
y.dif2_1<-diff(y,differences = 2)
plot.ts(y.dif2_1,lty=1)
#berdasarkan plot ACF dif2 teridentifikasi data telah stasioner
acf(y.dif2_1,lag.max = 20)
#ujiADF menghasilkan tolak H0 (pvalue<0.05) artinya data stasioner
adf.test(y.dif2_1,alternative=c("stationary"),k=trunc((length(y)-1)^(1/3)))
## Warning in adf.test(y.dif2_1, alternative = c("stationary"), k =
## trunc((length(y) - : p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: y.dif2_1
## Dickey-Fuller = -6.1595, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary
Dengan demikian, berdasarkan plot acf untuk data telah stasioner pada d=2 dan diperoleh nilai q=2.
Bangkitkan data Yt (n=200) berupa model ARIMA (2,2,2) dengan \(\mu=0.15\),\(\phi_1=0.55\), \(\phi_2=0.80\),\(\theta_1=0.35\), \(\theta_2=0.70\) dan \(e_t\)~\(N(0,1)\). Gunakan 175 data terakhir. Berikut \(y_t=\mu+(2+\phi_1)y_{t-1}-(1+2\phi_1-\phi_2)y_{t-2}-(-\phi_1+2\phi_2)y_{t-3}+(\phi_2)y_{t-4}+e_t\) \(-\theta_1e_{t-1}-\theta_2e_{t-2}\)
set.seed(7)
e<-rnorm(200,0,1)
n<-length(e)
mu<-0.15
phi1<-0.55
phi2<--0.80
tetha1<--0.35
tetha2<-0.70
x<-c(1:n)
for (i in 5:n)
{x[i]<-mu+((2+phi1)*x[i-1])+((phi2-2*phi1-1)*x[i-2])+(phi1-2*phi2)*x[i-3]+phi2*x[i-4]+e[i]-tetha1*e[i-1]-tetha2*e[i-2]}
x<-x[-c(1:25)]
head(x)
## [1] 151.2902 164.6930 177.6137 187.6037 195.4832 204.4171
Buat plot, correlogram dan uji ADF apakah dapat diidentifikasi ketidakstasioneran data.
#berdasarkan plot data tidak stasioner
plot.ts(x,lty=1,ylab=expression(X[t]))
#berdasarkan plot ACF data tidak stasioner
acf(x,lag.max = 20)
#UjiADF menghasilkan terima H0 (pvalue>0.05) artinya data tidak stasioner
adf.test(x,alternative=c("stationary"),k=trunc((length(x)-1)^(1/3)))
## Warning in adf.test(x, alternative = c("stationary"), k = trunc((length(x) - :
## p-value greater than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: x
## Dickey-Fuller = 0.1641, Lag order = 5, p-value = 0.99
## alternative hypothesis: stationary
Data tidak stasioner kemudian diterapkan proses pembedaan 1.
#berdasarkan plot dif 1 data tidak stasioner
x.dif1<-diff(x,differences = 1)
plot.ts(x.dif1,lty=1)
#berdasarkan plot ACF data tidak stasioner
acf(x.dif1,lag.max = 20)
#install.packages("urca")
library(urca)
#UjiADF, Nilai mutlak statistik ADF < mutlak nilai kritis 5pct maka data tidak stasioner pada level
d<-ur.df(x.dif1, type = c("none", "drift", "trend"), lags = 1,
selectlags = c("Fixed", "AIC", "BIC"))
summary(d)
##
## ###############################################
## # Augmented Dickey-Fuller Test Unit Root Test #
## ###############################################
##
## Test regression none
##
##
## Call:
## lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.3620 -1.7659 0.2455 1.8836 7.8808
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## z.lag.1 -0.004114 0.007919 -0.519 0.604100
## z.diff.lag 0.288512 0.074113 3.893 0.000142 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.725 on 170 degrees of freedom
## Multiple R-squared: 0.0819, Adjusted R-squared: 0.0711
## F-statistic: 7.582 on 2 and 170 DF, p-value: 0.0007009
##
##
## Value of test-statistic is: -0.5195
##
## Critical values for test statistics:
## 1pct 5pct 10pct
## tau1 -2.58 -1.95 -1.62
Data tidak stasioner kemudian diterapkan proses pembedaan 2.
#berdasarkan plot dif 2 data telah stasioner
x.dif2<-diff(x,differences = 2)
plot.ts(x.dif2,lty=1)
#berdasarkan plot ACF data telah stasioner
acf(x.dif2,lag.max = 20)
#UjiADF menghasilkan tolak H0 (pvalue<0.05) artinya data stasioner
adf.test(x.dif2,alternative=c("stationary"),k=trunc((length(x.dif2)-1)^(1/3)))
## Warning in adf.test(x.dif2, alternative = c("stationary"), k =
## trunc((length(x.dif2) - : p-value smaller than printed p-value
##
## Augmented Dickey-Fuller Test
##
## data: x.dif2
## Dickey-Fuller = -8.2195, Lag order = 5, p-value = 0.01
## alternative hypothesis: stationary
Dengan demikian, berdasarkan plot acf untuk data telah stasioner pada d=2 dan diperoleh nilai q=2.