Packages

## Warning: package 'dLagM' was built under R version 4.3.3
## Loading required package: nardl
## Warning: package 'nardl' was built under R version 4.3.3
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
## Loading required package: dynlm
## Warning: package 'dynlm' was built under R version 4.3.3
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.3
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Warning: package 'MLmetrics' was built under R version 4.3.3
## 
## Attaching package: 'MLmetrics'
## The following object is masked from 'package:dLagM':
## 
##     MAPE
## The following object is masked from 'package:base':
## 
##     Recall
## Warning: package 'lmtest' was built under R version 4.3.3
## Loading required package: carData

Impor Data

data <- rio::import("C:/Users/user/Downloads/data MPDW3.xlsx")
str(data)
## 'data.frame':    50 obs. of  4 variables:
##  $ t     : num  1 2 3 4 5 6 7 8 9 10 ...
##  $ Xt    : num  1376136 1386329 1428607 1454279 1508040 ...
##  $ Y(t-1): num  NA 10.4 10.4 10.3 10.3 ...
##  $ Yt    : num  10.4 10.4 10.3 10.3 10.3 ...
data
##     t      Xt Y(t-1)    Yt
## 1   1 1376136     NA 10.38
## 2   2 1386329  10.38 10.36
## 3   3 1428607  10.36 10.34
## 4   4 1454279  10.34 10.31
## 5   5 1508040  10.31 10.26
## 6   6 1513520  10.26 10.24
## 7   7 1487802  10.24 10.22
## 8   8 1475544  10.22 10.16
## 9   9 1563602  10.16 10.11
## 10 10 1504156  10.11 10.04
## 11 11 1553134  10.04 10.02
## 12 12 1565358  10.02  9.90
## 13 13 1484403   9.90  9.87
## 14 14 1505491   9.87  9.83
## 15 15 1648681   9.83  9.70
## 16 16 1576401   9.70  9.45
## 17 17 1653611   9.45  9.32
## 18 18 1637751   9.32  9.30
## 19 19 1683194   9.30  9.21
## 20 20 1759639   9.21  9.16
## 21 21 1780721   9.16  9.06
## 22 22 1782244   9.06  9.01
## 23 23 1799087   9.01  8.98
## 24 24 1855625   8.98  8.88
## 25 25 1762296   8.88  8.83
## 26 26 1784763   8.83  8.77
## 27 27 1827391   8.77  8.73
## 28 28 1850951   8.73  8.68
## 29 29 1861767   8.68  8.64
## 30 30 1915429   8.64  8.70
## 31 31 1933291   8.70  8.63
## 32 32 1938390   8.63  8.58
## 33 33 1968434   8.58  8.54
## 34 34 2071418   8.54  8.52
## 35 35 2114703   8.52  8.44
## 36 36 2282200   8.44  8.35
## 37 37 2149552   8.35  8.36
## 38 38 2195618   8.36  8.38
## 39 39 2254591   8.38  8.32
## 40 40 2327208   8.32  8.29
## 41 41 2302911   8.29  8.25
## 42 42 2339450   8.25  8.16
## 43 43 2296045   8.16  8.13
## 44 44 2279163   8.13  8.15
## 45 45 2320883   8.15  8.18
## 46 46 2539067   8.18  8.26
## 47 47 2467951   8.26  8.34
## 48 48 2608797   8.34  8.51
## 49 49 2422174   8.51  8.62
## 50 50 2403594   8.62  8.72

Pembagian Data

#SPLIT DATA
train<-data[1:40,]
test<-data[41:50,]
#data time series
train.ts<-ts(train)
test.ts<-ts(test)
data.ts<-ts(data)

Model Koyck

Model Koyck didasarkan pada asumsi bahwa semakin jauh jarak lag peubah independen dari periode sekarang maka semakin kecil pengaruh peubah lag terhadap peubah dependen.

Koyck mengusulkan suatu metode untuk menduga model dinamis distributed lag dengan mengasumsikan bahwa semua koefisien \(\beta\) mempunyai tanda sama.

Model kyock merupakan jenis paling umum dari model infinite distributed lag dan juga dikenal sebagai geometric lag

\[ y_t=a(1-\lambda)+\beta_0X_t+\beta_1Z_t+\lambda Y_{t-1}+V_t \]

dengan \[V_t=u_t-\lambda u_{t-1}\]

Pemodelan

Pemodelan model Koyck dengan R dapat menggunakan dLagM::koyckDlm() . Fungsi umum dari koyckDlm adalah sebagai berikut.

\[koyckDlm(x , y , intercept)\]

Fungsi koyckDlm() akan menerapkan model lag terdistribusi dengan transformasi Koyck satu prediktor. Nilai x dan y tidak perlu sebagai objek time series (ts). intercept dapat dibuat TRUE untuk memasukkan intersep ke dalam model.

#MODEL KOYCK
model.koyck <- koyckDlm(x = train$Xt, y = train$Yt)
summary(model.koyck)
## 
## Call:
## "Y ~ (Intercept) + Y.1 + X.t"
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.189498 -0.022825  0.006173  0.032297  0.111824 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -2.630e-01  5.630e-01  -0.467    0.643    
## Y.1          1.011e+00  3.984e-02  25.378   <2e-16 ***
## X.t          6.026e-08  1.122e-07   0.537    0.595    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05137 on 36 degrees of freedom
## Multiple R-Squared: 0.9951,  Adjusted R-squared: 0.9948 
## Wald test:  3644 on 2 and 36 DF,  p-value: < 2.2e-16 
## 
## Diagnostic tests:
## NULL
## 
##                             alpha         beta      phi
## Geometric coefficients:  23.72566 6.025931e-08 1.011086
AIC(model.koyck)
## [1] -116.0064
BIC(model.koyck)
## [1] -109.3521

Dari hasil tersebut, didapat bahwa peubah \(x_t\) dan \(y_{t-1}\) memiliki nilai \(P-Value<0.05\). Hal ini menunjukkan bahwa peubah \(x_t\) dan \(y_{t-1}\) berpengaruh signifikan terhadap \(y\). Adapun model keseluruhannya adalah sebagai berikut

\[ \hat{Y_t}=-0.189498+6.026e-08X_t+ 1.011e+0Y_{t-1} \]

Peramalan dan Akurasi

Berikut adalah hasil peramalan y untuk 10 periode kedepan menggunakan model koyck

fore.koyck <- forecast(model = model.koyck, x=test$Xt, h=10)
fore.koyck
## $forecasts
##  [1] 8.257645 8.227134 8.193669 8.158815 8.126089 8.106148 8.081700 8.065469
##  [9] 8.037812 8.008728
## 
## $call
## forecast.koyckDlm(model = model.koyck, x = test$Xt, h = 10)
## 
## attr(,"class")
## [1] "forecast.koyckDlm" "dLagM"
mape.koyck <- MAPE(fore.koyck$forecasts, test$Yt)
#akurasi data training
GoF(model.koyck)
##              n       MAE           MPE        MAPE       sMAPE      MASE
## model.koyck 39 0.0348144 -2.063166e-05 0.003768812 0.003764877 0.5879766
##                     MSE      MRAE     GMRAE
## model.koyck 0.002435685 0.8432196 0.3913471

Regression with Distributed Lag

Pemodelan model Regression with Distributed Lag dengan R dapat menggunakan dLagM::dlm() . Fungsi umum dari dlm adalah sebagai berikut.

\[ dlm(formula , data , x , y , q , remove ) \]

Fungsi dlm() akan menerapkan model lag terdistribusi dengan satu atau lebih prediktor. Nilai x dan y tidak perlu sebagai objek time series (ts). \(q\) adalah integer yang mewakili panjang lag yang terbatas.

Pemodelan (Lag=2)

model.dlm <- dlm(x = train$Xt,y = train$Yt , q = 2)
summary(model.dlm)
## 
## Call:
## lm(formula = model.formula, data = design)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.37831 -0.20625 -0.06693  0.23643  0.42456 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.388e+01  3.054e-01  45.449   <2e-16 ***
## x.t         -7.648e-07  7.623e-07  -1.003    0.323    
## x.1         -1.013e-06  8.538e-07  -1.186    0.244    
## x.2         -8.878e-07  7.919e-07  -1.121    0.270    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2551 on 34 degrees of freedom
## Multiple R-squared:  0.8774, Adjusted R-squared:  0.8666 
## F-statistic: 81.09 on 3 and 34 DF,  p-value: 1.431e-15
## 
## AIC and BIC values for the model:
##        AIC    BIC
## 1 9.786073 17.974
AIC(model.dlm)
## [1] 9.786073
BIC(model.dlm)
## [1] 17.974

Dari hasil diatas, didapat bahwa \(P-value\) dari intercept dan \(x_{t-1}<0.05\). Hal ini menunjukkan bahwa intercept dan \(x_{t-1}\) berpengaruh signifikan terhadap \(y\). Adapun model keseluruhan yang terbentuk adalah sebagai berikut

\[ \hat{Y_t}=1.388e+01+(-7.648e-07)X_t+ (-1.013e-06)X_{t-1}+(-8.878e-07)X_{t-2} \]

Peramalan dan Akurasi

Berikut merupakan hasil peramalan \(y\) untuk 10 periode kedepan

fore.dlm <- forecast(model = model.dlm, x=test$Xt, h=10)
fore.dlm
## $forecasts
##  [1] 7.758116 7.690310 7.708068 7.732504 7.756231 7.562092 7.358446 7.129050
##  [9] 7.192259 7.270453
## 
## $call
## forecast.dlm(model = model.dlm, x = test$Xt, h = 10)
## 
## attr(,"class")
## [1] "forecast.dlm" "dLagM"
mape.dlm <- MAPE(fore.dlm$forecasts, test$Yt)
#akurasi data training
GoF(model.dlm)
##            n       MAE           MPE       MAPE      sMAPE     MASE        MSE
## model.dlm 38 0.2201651 -0.0005938851 0.02412083 0.02414616 3.652963 0.05822114
##               MRAE   GMRAE
## model.dlm 6.254215 3.72558

Lag Optimum

#penentuan lag optimum 
finiteDLMauto(formula = Yt ~ Xt,
              data = data.frame(train), q.min = 1, q.max = 6,
              model.type = "dlm", error.type = "AIC", trace = FALSE)
##   q - k    MASE     AIC      BIC   GMRAE   MBRAE R.Adj.Sq   Ljung-Box
## 6     6 2.84698 7.40992 21.14716 2.72255 0.76501  0.85638 1.04266e-06

Berdasarkan output tersebut, lag optimum didapatkan ketika lag=6. Selanjutnya dilakukan pemodelan untuk lag=6

#model dlm dengan lag optimum
model.dlm2 <- dlm(x = train$Xt,y = train$Yt , q = 6)
summary(model.dlm2)
## 
## Call:
## lm(formula = model.formula, data = design)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.44534 -0.18344 -0.04248  0.17548  0.38703 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.403e+01  4.051e-01  34.634   <2e-16 ***
## x.t         -5.031e-07  7.807e-07  -0.644    0.525    
## x.1         -8.071e-07  8.312e-07  -0.971    0.340    
## x.2         -1.312e-07  8.438e-07  -0.155    0.878    
## x.3          4.183e-07  8.577e-07   0.488    0.630    
## x.4          7.553e-07  8.923e-07   0.846    0.405    
## x.5         -1.147e-06  1.042e-06  -1.101    0.281    
## x.6         -1.461e-06  9.509e-07  -1.536    0.137    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2368 on 26 degrees of freedom
## Multiple R-squared:  0.8868, Adjusted R-squared:  0.8564 
## F-statistic: 29.11 on 7 and 26 DF,  p-value: 9.474e-11
## 
## AIC and BIC values for the model:
##        AIC      BIC
## 1 7.409918 21.14716
AIC(model.dlm2)
## [1] 7.409918
BIC(model.dlm2)
## [1] 21.14716

Dari hasil tersebut terdapat beberapa peubah yang berpengaruh signifikan terhadap taraf nyata 5% yaitu \(x_t\) , \(x_{t-2}\) , \(x_{t-4}\) , \(x_{t-6}\). Adapun keseluruhan model yang terbentuk adalah

\[ \hat{Y_t}=(1.403e+01)+(-5.031e-07)X_t+...(-1.461e-06)X_{t-6} \]

Adapun hasil peramalan 5 periode kedepan menggunakan model tersebut adalah sebagai berikut

#peramalan dan akurasi
fore.dlm2 <- forecast(model = model.dlm2, x=test$Xt, h=10)
mape.dlm2<- MAPE(fore.dlm2$forecasts, test$Yt)
#akurasi data training
GoF(model.dlm2)
##             n       MAE           MPE      MAPE      sMAPE     MASE        MSE
## model.dlm2 34 0.1820345 -0.0004397491 0.0199248 0.01993587 2.846985 0.04287999
##                MRAE    GMRAE
## model.dlm2 4.514471 2.722546

Model tersebut merupakan model yang sangat baik dengan nilai MAPE yang kurang dari 10%.

Model Autoregressive

Peubah dependen dipengaruhi oleh peubah independen pada waktu sekarang, serta dipengaruhi juga oleh peubah dependen itu sendiri pada satu waktu yang lalu maka model tersebut disebut autoregressive (Gujarati 2004).

Pemodelan

Pemodelan Autoregressive dilakukan menggunakan fungsi dLagM::ardlDlm() . Fungsi tersebut akan menerapkan autoregressive berordo \((p,q)\) dengan satu prediktor. Fungsi umum dari ardlDlm() adalah sebagai berikut.

ardlDlm(formula = NULL , data = NULL , x = NULL , y = NULL , p = 1 , q = 1 , 
         remove = NULL )

Dengan \(p\) adalah integer yang mewakili panjang lag yang terbatas dan \(q\) adalah integer yang merepresentasikan ordo dari proses autoregressive.

#model.ardl <- ardlDlm(x = train$Xt, y = train$Yt, p = 1 , q = 1)
#summary(model.ardl)
#AIC(model.ardl)
#BIC(model.ardl)
model.ardl <- ardlDlm(formula = Yt ~ Xt, 
                         data = train,p = 1 , q = 1)
summary(model.ardl)
## 
## Time series regression with "ts" data:
## Start = 2, End = 40
## 
## Call:
## dynlm(formula = as.formula(model.text), data = data)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.198907 -0.021133  0.008446  0.031747  0.112704 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.721e-01  4.899e-01  -0.351    0.728    
## Xt.t        -4.873e-08  1.468e-07  -0.332    0.742    
## Xt.1         9.289e-08  1.579e-07   0.588    0.560    
## Yt.1         1.005e+00  3.484e-02  28.838   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05169 on 35 degrees of freedom
## Multiple R-squared:  0.9952, Adjusted R-squared:  0.9947 
## F-statistic:  2399 on 3 and 35 DF,  p-value: < 2.2e-16
AIC(model.ardl)
## [1] -114.6155
BIC(model.ardl)
## [1] -106.2976

Hasil di atas menunjukkan bahwa selain peubah \(x_{t-1}\), hasil uji t menunjukkan nilai-p pada peubah \(\ge0.05\) Hal ini menunjukkan bahwa peubah \(x_{t-1}\) berpengaruh signifikan terhadap \(y_t\), sementara \(x_t\) dan \(y_{t-1}\) berpengaruh signifikan terhadap \(y_t\). Model keseluruhannya adalah sebagai berikut:

\[ \hat{Y}=(-1.721e-01)+(-4.873e-08)X_t+(9.289e-08)X_{t-1}+(1.005e+00)Y_{t-1} \]

Peramalan dan Akurasi

fore.ardl <- forecast(model = model.ardl, x=test$Xt, h=10)
fore.ardl
## $forecasts
##  [1] 8.260034 8.225892 8.197102 8.164971 8.129090 8.086287 8.067018 8.034192
##  [9] 8.023391 7.996111
## 
## $call
## forecast.ardlDlm(model = model.ardl, x = test$Xt, h = 10)
## 
## attr(,"class")
## [1] "forecast.ardlDlm" "dLagM"

Data di atas merupakan hasil peramalan untuk 10 periode ke depan menggunakan Model Autoregressive dengan \(p=1\) dan \(q=1\).

mape.ardl <- MAPE(fore.ardl$forecasts, test$Yt)
mape.ardl
## [1] 0.02875064
#akurasi data training
GoF(model.ardl)
##             n        MAE           MPE        MAPE       sMAPE      MASE
## model.ardl 39 0.03416927 -1.972805e-05 0.003688518 0.003684587 0.5770809
##                   MSE      MRAE     GMRAE
## model.ardl 0.00239794 0.8096734 0.4355704

Berdasarkan akurasi di atas, terlihat bahwa nilai MAPE keduanya tidak jauh berbeda. Artinya, model regresi dengan distribusi lag ini tidak overfitted atau underfitted

Lag Optimum

#penentuan lag optimum
model.ardl.opt <- ardlBoundOrders(data = data.frame(data), ic = "AIC", 
                                  formula = Yt ~ Xt )
min_p=c()
for(i in 1:6){
  min_p[i]=min(model.ardl.opt$Stat.table[[i]])
}
q_opt=which(min_p==min(min_p, na.rm = TRUE))
p_opt=which(model.ardl.opt$Stat.table[[q_opt]] == 
              min(model.ardl.opt$Stat.table[[q_opt]], na.rm = TRUE))
data.frame("q_optimum" = q_opt, "p_optimum" = p_opt, 
           "AIC"=model.ardl.opt$min.Stat)
##   q_optimum p_optimum       AIC
## 1         1         1 -253.5834

Dari tabel di atas, dapat terlihat bahwa nilai AIC terendah didapat ketika \(p=1\) dan \(q=1\), yaitu sebesar -253.5834. Artinya, model autoregressive optimum didapat ketika \(p=1\) dan \(q=1\).

Selanjutnya dapat dilakukan pemodelan dengan nilai \(p\) dan \(q\) optimum seperti inisialisasi di langkah sebelumnya.

Pemodelan DLM & ARDL dengan Library dynlm

Pemodelan regresi dengan peubah lag tidak hanya dapat dilakukan dengan fungsi pada packages dLagM , tetapi terdapat packages dynlm yang dapat digunakan. Fungsi dynlm secara umum adalah sebagai berikut.

dynlm(formula, data, subset, weights, na.action, method = "qr",
  model = TRUE, x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE,
  contrasts = NULL, offset, start = NULL, end = NULL, ...)

Untuk menentukan formula model yang akan digunakan, tersedia fungsi tambahan yang memungkinkan spesifikasi dinamika (melalui d() dan L()) atau pola linier/siklus dengan mudah (melalui trend(), season(), dan harmon()). Semua fungsi formula baru mengharuskan argumennya berupa objek deret waktu (yaitu, "ts" atau "zoo").

#sama dengan model dlm q=1
cons_lm1 <- dynlm(Yt ~ Xt+L(Xt),data = train.ts)
#sama dengan model ardl p=1 q=0
cons_lm2 <- dynlm(Yt ~ Xt+L(Yt),data = train.ts)
#sama dengan ardl p=1 q=1
cons_lm3 <- dynlm(Yt ~ Xt+L(Xt)+L(Yt),data = train.ts)
#sama dengan dlm p=2
cons_lm4 <- dynlm(Yt ~ Xt+L(Xt)+L(Xt,2),data = train.ts)

Ringkasan Model

summary(cons_lm1)
## 
## Time series regression with "ts" data:
## Start = 2, End = 40
## 
## Call:
## dynlm(formula = Yt ~ Xt + L(Xt), data = train.ts)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.41905 -0.17773 -0.03679  0.23687  0.45311 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.386e+01  2.876e-01  48.178   <2e-16 ***
## Xt          -1.110e-06  6.975e-07  -1.592   0.1202    
## L(Xt)       -1.523e-06  7.242e-07  -2.104   0.0425 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2536 on 36 degrees of freedom
## Multiple R-squared:  0.8802, Adjusted R-squared:  0.8735 
## F-statistic: 132.2 on 2 and 36 DF,  p-value: < 2.2e-16
summary(cons_lm2)
## 
## Time series regression with "ts" data:
## Start = 2, End = 40
## 
## Call:
## dynlm(formula = Yt ~ Xt + L(Yt), data = train.ts)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.191604 -0.019923  0.007663  0.031632  0.108870 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -6.363e-02  4.498e-01  -0.141    0.888    
## Xt           1.975e-08  8.871e-08   0.223    0.825    
## L(Yt)        9.973e-01  3.227e-02  30.906   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05122 on 36 degrees of freedom
## Multiple R-squared:  0.9951, Adjusted R-squared:  0.9948 
## F-statistic:  3665 on 2 and 36 DF,  p-value: < 2.2e-16
summary(cons_lm3)
## 
## Time series regression with "ts" data:
## Start = 2, End = 40
## 
## Call:
## dynlm(formula = Yt ~ Xt + L(Xt) + L(Yt), data = train.ts)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.198907 -0.021133  0.008446  0.031747  0.112704 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.721e-01  4.899e-01  -0.351    0.728    
## Xt          -4.873e-08  1.468e-07  -0.332    0.742    
## L(Xt)        9.289e-08  1.579e-07   0.588    0.560    
## L(Yt)        1.005e+00  3.484e-02  28.838   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05169 on 35 degrees of freedom
## Multiple R-squared:  0.9952, Adjusted R-squared:  0.9947 
## F-statistic:  2399 on 3 and 35 DF,  p-value: < 2.2e-16
summary(cons_lm4)
## 
## Time series regression with "ts" data:
## Start = 3, End = 40
## 
## Call:
## dynlm(formula = Yt ~ Xt + L(Xt) + L(Xt, 2), data = train.ts)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.37831 -0.20625 -0.06693  0.23643  0.42456 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  1.388e+01  3.054e-01  45.449   <2e-16 ***
## Xt          -7.648e-07  7.623e-07  -1.003    0.323    
## L(Xt)       -1.013e-06  8.538e-07  -1.186    0.244    
## L(Xt, 2)    -8.878e-07  7.919e-07  -1.121    0.270    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2551 on 34 degrees of freedom
## Multiple R-squared:  0.8774, Adjusted R-squared:  0.8666 
## F-statistic: 81.09 on 3 and 34 DF,  p-value: 1.431e-15

SSE

deviance(cons_lm1)
## [1] 2.315648
deviance(cons_lm2)
## [1] 0.09444459
deviance(cons_lm3)
## [1] 0.09351968
deviance(cons_lm4)
## [1] 2.212403

Uji Diagnostik

#uji model
if(require("lmtest")) encomptest(cons_lm1, cons_lm2)
## Encompassing test
## 
## Model 1: Yt ~ Xt + L(Xt)
## Model 2: Yt ~ Xt + L(Yt)
## Model E: Yt ~ Xt + L(Xt) + L(Yt)
##           Res.Df Df        F Pr(>F)    
## M1 vs. ME     35 -1 831.6378 <2e-16 ***
## M2 vs. ME     35 -1   0.3462 0.5601    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Autokorelasi

#durbin watson
dwtest(cons_lm1)
## 
##  Durbin-Watson test
## 
## data:  cons_lm1
## DW = 0.13069, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(cons_lm2)
## 
##  Durbin-Watson test
## 
## data:  cons_lm2
## DW = 1.5116, p-value = 0.02934
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(cons_lm3)
## 
##  Durbin-Watson test
## 
## data:  cons_lm3
## DW = 1.5614, p-value = 0.04688
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(cons_lm4)
## 
##  Durbin-Watson test
## 
## data:  cons_lm4
## DW = 0.089015, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

Heterogenitas

bptest(cons_lm1)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm1
## BP = 3.4679, df = 2, p-value = 0.1766
bptest(cons_lm2)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm2
## BP = 0.3722, df = 2, p-value = 0.8302
bptest(cons_lm3)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm3
## BP = 1.3841, df = 3, p-value = 0.7093
bptest(cons_lm4)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm4
## BP = 4.419, df = 3, p-value = 0.2196

Kenormalan

shapiro.test(residuals(cons_lm1))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm1)
## W = 0.93417, p-value = 0.0245
shapiro.test(residuals(cons_lm2))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm2)
## W = 0.89751, p-value = 0.001873
shapiro.test(residuals(cons_lm3))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm3)
## W = 0.87807, p-value = 0.00055
shapiro.test(residuals(cons_lm4))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm4)
## W = 0.91501, p-value = 0.006953

Perbandingan Model

akurasi <- matrix(c(mape.koyck, mape.dlm, mape.dlm2, mape.ardl))
row.names(akurasi)<- c("Koyck","DLM 1","DLM 2","Autoregressive")
colnames(akurasi) <- c("MAPE")
akurasi
##                      MAPE
## Koyck          0.02755981
## DLM 1          0.09684348
## DLM 2          0.11153985
## Autoregressive 0.02875064

Berdasarkan nilai MAPE, model paling optimum didapat pada Model Koyck karena memiliki nilai MAPE yang terkecil.

Plot

par(mfrow=c(1,1))
plot(test$Xt, test$Yt, type="b", col="black", ylim=c(1,10))
points(test$Xt, fore.koyck$forecasts,col="red")
lines(test$Xt, fore.koyck$forecasts,col="red")
points(test$Xt, fore.dlm$forecasts,col="blue")
lines(test$Xt, fore.dlm$forecasts,col="blue")
points(test$Xt, fore.dlm2$forecasts,col="orange")
lines(test$Xt, fore.dlm2$forecasts,col="orange")
points(test$Xt, fore.ardl$forecasts,col="green")
lines(test$Xt, fore.ardl$forecasts,col="green")
legend("topleft",c("aktual", "koyck","DLM 1","DLM 2", "autoregressive"), lty=1, col=c("black","red","blue","orange","green"), cex=0.8)

Berdasarkan plot tersebut, terlihat bahwa plot yang paling mendekati data aktualnya adalah Model koyck, sehingga dapat disimpulkan model terbaik dalam hal ini adalah model regresi koyck

Pengayaan (Regresi Berganda)

Data

data(M1Germany)
data1 = M1Germany[1:144,]
head(data1)
##            logm1 logprice   loggnp interest
## 1960 Q1 7.947090 3.403827 8.309448    0.062
## 1960 Q2 7.996191 3.380212 8.387236    0.064
## 1960 Q3 7.949908 3.436211 8.465361    0.064
## 1960 Q4 8.030746 3.419888 8.477333    0.062
## 1961 Q1 7.951792 3.449861 8.374404    0.060
## 1961 Q2 8.020040 3.427157 8.420854    0.057

DLM

#Run the search over finite DLMs according to AIC values
finiteDLMauto(formula = logprice ~ interest+logm1,
              data = data.frame(data1), q.min = 1, q.max = 5,
              model.type = "dlm", error.type = "AIC", trace = FALSE)
##   q - k    MASE       AIC       BIC   GMRAE    MBRAE R.Adj.Sq Ljung-Box
## 5     5 1.77163 -463.1393 -422.0566 1.43662 -1.60494  0.98836         0
#model dlm berganda
model.dlmberganda = dlm(formula = logprice ~ interest + logm1,
                data = data.frame(data1) , q = 5)
summary(model.dlmberganda)
## 
## Call:
## lm(formula = as.formula(model.formula), data = design)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.095761 -0.028610 -0.000012  0.029496  0.102597 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -7.81759    0.11384 -68.669  < 2e-16 ***
## interest.t  -1.75616    0.80358  -2.185 0.030707 *  
## interest.1   1.38935    1.22707   1.132 0.259679    
## interest.2   0.40776    1.23726   0.330 0.742273    
## interest.3   1.23130    1.20752   1.020 0.309830    
## interest.4  -0.08718    1.20869  -0.072 0.942616    
## interest.5   3.06850    0.89380   3.433 0.000808 ***
## logm1.t      0.43219    0.20876   2.070 0.040474 *  
## logm1.1      0.42190    0.19807   2.130 0.035109 *  
## logm1.2      0.20943    0.12883   1.626 0.106532    
## logm1.3      0.22053    0.13011   1.695 0.092567 .  
## logm1.4      0.05513    0.21457   0.257 0.797633    
## logm1.5      0.03042    0.19192   0.159 0.874296    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.04343 on 126 degrees of freedom
## Multiple R-squared:  0.9894, Adjusted R-squared:  0.9884 
## F-statistic: 977.9 on 12 and 126 DF,  p-value: < 2.2e-16
## 
## AIC and BIC values for the model:
##         AIC       BIC
## 1 -463.1393 -422.0566
model.dlmberganda2 = dlm(formula = logprice ~ interest + logm1,
                        data = data.frame(data1) , q = 1)
summary(model.dlmberganda2)
## 
## Call:
## lm(formula = as.formula(model.formula), data = design)
## 
## Residuals:
##       Min        1Q    Median        3Q       Max 
## -0.134002 -0.044697  0.006407  0.036962  0.113063 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -7.77917    0.13299 -58.492  < 2e-16 ***
## interest.t  -3.22103    0.94184  -3.420 0.000824 ***
## interest.1   6.52775    0.94501   6.908 1.66e-10 ***
## logm1.t      0.73918    0.08419   8.780 5.61e-15 ***
## logm1.1      0.63330    0.08429   7.513 6.55e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.05443 on 138 degrees of freedom
## Multiple R-squared:  0.9832, Adjusted R-squared:  0.9828 
## F-statistic:  2025 on 4 and 138 DF,  p-value: < 2.2e-16
## 
## AIC and BIC values for the model:
##         AIC       BIC
## 1 -419.7575 -401.9805

ARDL

#Mencari orde lag optimum model ARDL
ardlBoundOrders(data = data1 , formula = logprice ~ interest + logm1,
                ic="AIC")
## $p
##    interest logm1
## 65        0     4
## 
## $q
## [1] 4
## 
## $Stat.table
##            q = 1     q = 2     q = 3     q = 4     q = 5     q = 6     q = 7
## p = 1  -760.1786 -757.9195 -846.8342 -975.2079 -965.7536 -958.9072 -956.7315
## p = 2  -760.0433 -759.3090 -843.6247 -971.2514 -961.7929 -955.2809 -953.4890
## p = 3  -753.7746 -753.7746 -841.2485 -970.4543 -961.4343 -953.7173 -950.0412
## p = 4  -829.8076 -832.6436 -832.6436 -971.0837 -962.1804 -955.0429 -953.4667
## p = 5  -749.4144 -753.2292 -962.9290 -962.9290 -961.7063 -954.3406 -951.7660
## p = 6  -742.2103 -742.9945 -891.6195 -952.3771 -952.3771 -952.2461 -950.1105
## p = 7  -728.9374 -733.0286 -851.2943 -945.7445 -944.6879 -944.6879 -949.3720
## p = 8  -747.9277 -746.2948 -812.4289 -937.9446 -938.9491 -937.3393 -937.3393
## p = 9  -722.6891 -724.5786 -863.2734 -928.9215 -927.2914 -926.8716 -936.6432
## p = 10 -714.8175 -714.5658 -816.3319 -918.5218 -918.6350 -916.9076 -921.1246
## p = 11 -703.1807 -705.3383 -794.0772 -909.6457 -908.8225 -906.9542 -912.9605
## p = 12 -716.7111 -714.7403 -774.0127 -910.0315 -910.6834 -908.7146 -909.6612
## p = 13 -697.7175 -698.1931 -793.4602 -895.5927 -894.9273 -893.5995 -897.7589
## p = 14 -686.5600 -685.7967 -766.5292 -886.0709 -885.4341 -885.2283 -890.1638
## p = 15 -676.7280 -678.3689 -753.2854 -875.6392 -874.1257 -874.3117 -879.2727
##            q = 8     q = 9    q = 10    q = 11    q = 12    q = 13    q = 14
## p = 1  -954.3375 -946.6293 -936.5328 -927.7728 -920.6435 -917.5463 -918.3110
## p = 2  -951.1470 -943.9360 -933.7047 -924.7949 -917.5334 -913.6213 -914.4063
## p = 3  -948.4683 -941.1039 -930.8509 -922.0563 -914.5728 -910.5351 -913.4996
## p = 4  -948.2330 -941.8238 -931.5689 -923.2663 -916.2063 -911.6023 -913.9345
## p = 5  -947.5994 -939.3767 -929.0155 -920.4475 -913.5968 -909.0781 -911.6312
## p = 6  -945.5758 -937.4076 -927.2439 -919.3949 -911.9537 -907.7394 -910.2890
## p = 7  -945.5181 -937.1826 -926.9640 -917.9619 -910.2774 -905.9449 -907.8712
## p = 8  -941.9617 -933.5959 -923.3691 -914.6251 -907.0608 -902.2187 -903.9255
## p = 9  -936.6432 -935.7172 -925.2881 -917.0877 -911.6973 -903.9027 -904.6405
## p = 10 -926.6891 -926.6891 -924.6986 -917.0904 -911.4197 -903.4313 -903.0612
## p = 11 -917.9145 -918.2328 -918.2328 -919.2867 -913.3674 -904.8733 -903.6541
## p = 12 -916.1321 -914.4362 -914.4610 -914.4610 -912.5159 -904.2394 -901.6216
## p = 13 -905.4744 -903.7559 -902.4406 -902.2530 -902.2530 -902.9434 -901.2363
## p = 14 -896.2370 -896.2620 -894.2896 -897.5711 -899.1407 -899.1407 -902.2350
## p = 15 -884.5637 -886.8221 -884.9832 -890.5665 -893.2335 -891.6220 -891.6220
##           q = 15
## p = 1  -908.0863
## p = 2  -904.1665
## p = 3  -903.3006
## p = 4  -903.9256
## p = 5  -901.6220
## p = 6  -900.1824
## p = 7  -897.9867
## p = 8  -894.1031
## p = 9  -894.7387
## p = 10 -893.6199
## p = 11 -893.6060
## p = 12 -892.4805
## p = 13 -892.5115
## p = 14 -893.6214
## p = 15 -891.3741
## 
## $min.Stat
## [1] -977.2745
## 
## $Stat.p
##     interest logm1      Stat
## 65         0     4 -977.2745
## 1          0     0 -976.5191
## 2          1     0 -976.2558
## 17         0     1 -975.9606
## 66         1     4 -975.6027
## 18         1     1 -975.2079
## 49         0     3 -974.4859
## 3          2     0 -974.4275
## 33         0     2 -974.0166
## 50         1     3 -973.7500
## 67         2     4 -973.6028
## 34         1     2 -973.2324
## 19         2     1 -973.2188
## 68         3     4 -972.5992
## 4          3     0 -972.4875
## 51         2     3 -971.7743
## 20         3     1 -971.3872
## 35         2     2 -971.2514
## 69         4     4 -971.0837
## 5          4     0 -970.5114
## 52         3     3 -970.4543
## 81         0     5 -969.9284
## 53         4     3 -969.5311
## 21         4     1 -969.4756
## 36         3     2 -969.3907
## 82         1     5 -968.6783
## 37         4     2 -967.4756
## 83         2     5 -966.8835
## 84         3     5 -965.6393
## 85         4     5 -963.9662
## 86         5     5 -962.9290
## 70         5     4 -961.2547
## 54         5     3 -960.9580
## 97         0     6 -960.7402
## 6          5     0 -960.6858
## 22         5     1 -959.8419
## 98         1     6 -959.6604
## 38         5     2 -957.8547
## 99         2     6 -957.7528
## 100        3     6 -956.7875
## 101        4     6 -955.2416
## 71         6     4 -954.8953
## 87         6     5 -954.6855
## 102        5     6 -954.3662
## 103        6     6 -954.0973
## 7          6     0 -954.0615
## 113        0     7 -953.9160
## 55         6     3 -953.2860
## 23         6     1 -953.1080
## 114        1     7 -952.6540
## 39         6     2 -951.1356
## 115        2     7 -950.6562
## 116        3     7 -949.6038
## 88         7     5 -949.2090
## 72         7     4 -948.5194
## 117        4     7 -947.7999
## 104        7     6 -947.7424
## 56         7     3 -947.6915
## 8          7     0 -947.5092
## 120        7     7 -947.3660
## 24         7     1 -947.0094
## 118        5     7 -946.9631
## 119        6     7 -946.8080
## 40         7     2 -945.0123
## 129        0     8 -943.9035
## 130        1     8 -942.6627
## 131        2     8 -940.6818
## 145        0     9 -940.0114
## 132        3     8 -939.6913
## 89         8     5 -939.1878
## 73         8     4 -938.5330
## 146        1     9 -938.2680
## 133        4     8 -937.8368
## 105        8     6 -937.6834
## 57         8     3 -937.6370
## 9          8     0 -937.5705
## 121        8     7 -937.5351
## 136        7     8 -937.3948
## 25         8     1 -937.0088
## 134        5     8 -936.9393
## 135        6     8 -936.8904
## 147        2     9 -936.3875
## 148        3     9 -936.3159
## 137        8     8 -935.5389
## 41         8     2 -935.0088
## 149        4     9 -934.3458
## 150        5     9 -934.1858
## 152        7     9 -934.0733
## 151        6     9 -932.9538
## 153        8     9 -932.3338
## 154        9     9 -930.9065
## 161        0    10 -929.8056
## 90         9     5 -929.2731
## 74         9     4 -928.5254
## 162        1    10 -928.1257
## 10         9     0 -927.9853
## 58         9     3 -927.9744
## 122        9     7 -927.9061
## 106        9     6 -927.6344
## 26         9     1 -927.4482
## 164        3    10 -926.5271
## 163        2    10 -926.2965
## 138        9     8 -926.1307
## 42         9     2 -925.4484
## 165        4    10 -924.5287
## 168        7    10 -924.2716
## 166        5    10 -924.0521
## 167        6    10 -922.7596
## 169        8    10 -922.5928
## 155       10     9 -921.2169
## 170        9    10 -921.1777
## 177        0    11 -920.2608
## 171       10    10 -920.0124
## 91        10     5 -919.0182
## 178        1    11 -918.7342
## 75        10     4 -918.4135
## 11        10     0 -917.8597
## 59        10     3 -917.7711
## 123       10     7 -917.6569
## 107       10     6 -917.3861
## 27        10     1 -917.2925
## 179        2    11 -916.9417
## 180        3    11 -916.8682
## 193        0    12 -916.1477
## 139       10     8 -915.9643
## 92        11     5 -915.3201
## 43        10     2 -915.2941
## 156       11     9 -915.0851
## 181        4    11 -914.8854
## 194        1    12 -914.4423
## 124       11     7 -914.3141
## 184        7    11 -914.1880
## 76        11     4 -914.1395
## 182        5    11 -914.0440
## 108       11     6 -913.4052
## 140       11     8 -913.3026
## 195        2    12 -913.1680
## 172       11    10 -913.0914
## 60        11     3 -912.7714
## 183        6    11 -912.7548
## 196        3    12 -912.5820
## 185        8    11 -912.5636
## 12        11     0 -912.2009
## 28        11     1 -912.0389
## 186        9    11 -911.1737
## 157       12     9 -911.1513
## 188       11    11 -911.1189
## 93        12     5 -910.7693
## 198        5    12 -910.7434
## 197        4    12 -910.6154
## 125       12     7 -910.5873
## 141       12     8 -910.0719
## 44        11     2 -910.0439
## 187       10    11 -909.9928
## 200        7    12 -909.4197
## 173       12    10 -909.2473
## 77        12     4 -909.1913
## 109       12     6 -908.7753
## 199        6    12 -908.7635
## 201        8    12 -908.1609
## 61        12     3 -908.0357
## 29        12     1 -907.8613
## 209        0    13 -907.6473
## 13        12     0 -907.6158
## 205       12    12 -907.5931
## 204       11    12 -907.5525
## 202        9    12 -907.3633
## 189       12    11 -907.3200
## 210        1    13 -906.1005
## 45        12     2 -905.9070
## 203       10    12 -905.7653
## 211        2    13 -904.7293
## 212        3    13 -903.9077
## 214        5    13 -902.0824
## 158       13     9 -901.9574
## 213        4    13 -901.9144
## 94        13     5 -901.6338
## 126       13     7 -901.3766
## 142       13     8 -900.9367
## 216        7    13 -900.5676
## 225        0    14 -900.5066
## 174       13    10 -900.1413
## 215        6    13 -900.1102
## 78        13     4 -900.0282
## 110       13     6 -899.6703
## 226        1    14 -899.0967
## 217        8    13 -899.0866
## 62        13     3 -898.8589
## 30        13     1 -898.7940
## 190       13    11 -898.4409
## 221       12    13 -898.4110
## 220       11    13 -898.3058
## 218        9    13 -898.2568
## 14        13     0 -898.2039
## 206       13    12 -897.9014
## 227        2    14 -897.3889
## 46        13     2 -896.8637
## 219       10    13 -896.6244
## 222       13    13 -896.4458
## 228        3    14 -896.2512
## 230        5    14 -895.1320
## 95        14     5 -894.6021
## 229        4    14 -894.3023
## 159       14     9 -894.2497
## 127       14     7 -893.9663
## 143       14     8 -893.6932
## 231        6    14 -893.4037
## 79        14     4 -893.1343
## 232        7    14 -893.1064
## 111       14     6 -892.6253
## 175       14    10 -892.5085
## 63        14     3 -891.9131
## 191       14    11 -891.1895
## 233        8    14 -891.1877
## 234        9    14 -891.1729
## 31        14     1 -890.7573
## 236       11    14 -890.5576
## 241        0    15 -890.5500
## 15        14     0 -890.3449
## 237       12    14 -890.1854
## 235       10    14 -889.8957
## 207       14    12 -889.7107
## 242        1    15 -889.0419
## 47        14     2 -888.9410
## 238       13    14 -888.1867
## 223       14    13 -887.7488
## 239       14    14 -887.6659
## 243        2    15 -887.3088
## 244        3    15 -886.0691
## 246        5    15 -884.7479
## 96        15     5 -884.2869
## 245        4    15 -884.1417
## 160       15     9 -883.9364
## 128       15     7 -883.6409
## 144       15     8 -883.4503
## 247        6    15 -883.0158
## 80        15     4 -882.8148
## 248        7    15 -882.7881
## 112       15     6 -882.3106
## 176       15    10 -882.2093
## 64        15     3 -881.6497
## 253       12    15 -881.4274
## 252       11    15 -881.3077
## 250        9    15 -881.1831
## 192       15    11 -880.9028
## 249        8    15 -880.8964
## 32        15     1 -880.5983
## 251       10    15 -880.2736
## 16        15     0 -880.2468
## 254       13    15 -879.4467
## 208       15    12 -879.4364
## 255       14    15 -879.2846
## 48        15     2 -878.8432
## 224       15    13 -877.4985
## 240       15    14 -877.4570
model.ardlDlmberganda = ardlDlm(formula = logprice ~ interest + logm1,
                        data = data.frame(data1) , p = 4 , q = 4)
summary(model.ardlDlmberganda)
## 
## Time series regression with "ts" data:
## Start = 5, End = 144
## 
## Call:
## dynlm(formula = as.formula(model.text), data = data)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0290527 -0.0075965  0.0005726  0.0072745  0.0304486 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.0145022  0.1822785   0.080  0.93671    
## interest.t   0.0067985  0.2135315   0.032  0.97465    
## interest.1   0.6093502  0.3240545   1.880  0.06238 .  
## interest.2   0.0798544  0.3221168   0.248  0.80461    
## interest.3  -0.3638172  0.3238873  -1.123  0.26347    
## interest.4   0.2084240  0.2447331   0.852  0.39604    
## logm1.t      0.0828689  0.0457486   1.811  0.07248 .  
## logm1.1     -0.0092841  0.0399079  -0.233  0.81642    
## logm1.2     -0.1166129  0.0390732  -2.984  0.00342 ** 
## logm1.3      0.0007016  0.0389297   0.018  0.98565    
## logm1.4      0.0447857  0.0425474   1.053  0.29455    
## logprice.1   0.3274245  0.0651574   5.025  1.7e-06 ***
## logprice.2   0.1323801  0.0684485   1.934  0.05537 .  
## logprice.3  -0.1448245  0.0674268  -2.148  0.03365 *  
## logprice.4   0.6730871  0.0636443  10.576  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01132 on 125 degrees of freedom
## Multiple R-squared:  0.9993, Adjusted R-squared:  0.9992 
## F-statistic: 1.273e+04 on 14 and 125 DF,  p-value: < 2.2e-16
#model p interest 0 p logm1 4 
rem.p = list(interest = c(1,2,3,4))
remove = list(p = rem.p)
model.ardlDlmberganda2 = ardlDlm(formula = logprice ~ interest + logm1,
                        data = data.frame(data1) , p = 4 , q = 4 ,
                        remove = remove)
summary(model.ardlDlmberganda2)
## 
## Time series regression with "ts" data:
## Start = 5, End = 144
## 
## Call:
## dynlm(formula = as.formula(model.text), data = data)
## 
## Residuals:
##        Min         1Q     Median         3Q        Max 
## -0.0290369 -0.0083445  0.0009024  0.0079199  0.0303652 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.174838   0.133708   1.308  0.19333    
## interest.t   0.448826   0.098736   4.546 1.24e-05 ***
## logm1.t      0.056659   0.043836   1.293  0.19849    
## logm1.1     -0.017025   0.039159  -0.435  0.66446    
## logm1.2     -0.118413   0.037399  -3.166  0.00193 ** 
## logm1.3     -0.006454   0.038112  -0.169  0.86580    
## logm1.4      0.060220   0.040337   1.493  0.13789    
## logprice.1   0.319059   0.062107   5.137 1.00e-06 ***
## logprice.2   0.111794   0.066101   1.691  0.09320 .  
## logprice.3  -0.122129   0.065114  -1.876  0.06297 .  
## logprice.4   0.699061   0.062611  11.165  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.01149 on 129 degrees of freedom
## Multiple R-squared:  0.9993, Adjusted R-squared:  0.9992 
## F-statistic: 1.73e+04 on 10 and 129 DF,  p-value: < 2.2e-16

Proses selanjutnya sama dengan pemodelan menggunakan peubah tunggal.