Package

library(dLagM) #bisa otomatis timeseries datanya
## Warning: package 'dLagM' was built under R version 4.1.3
## Loading required package: nardl
## Warning: package 'nardl' was built under R version 4.1.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.1.3
## Loading required package: zoo
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
library(dynlm) #data harus timeseries
library(MLmetrics) #MAPE
## Warning: package 'MLmetrics' was built under R version 4.1.3
## 
## Attaching package: 'MLmetrics'
## The following object is masked from 'package:dLagM':
## 
##     MAPE
## The following object is masked from 'package:base':
## 
##     Recall
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.1.3
library(car)
## Warning: package 'car' was built under R version 4.1.3
## Loading required package: carData
## Warning: package 'carData' was built under R version 4.1.3
library(readxl)

Data

library(readxl)
data<-read.csv("D:/Kuliah/Semester 5/MPDW/Tukel MPDW 3/salesweekly.csv")
str(data)
## 'data.frame':    149 obs. of  2 variables:
##  $ N02BA: num  37.9 45.9 31.5 20.7 53.3 ...
##  $ Close: int  705 700 690 730 770 775 750 760 780 825 ...
data
##       N02BA Close
## 1   37.9000   705
## 2   45.9000   700
## 3   31.5000   690
## 4   20.7000   730
## 5   53.3000   770
## 6   47.3000   775
## 7   44.2000   750
## 8   40.3550   760
## 9   31.8000   780
## 10  36.2000   825
## 11  26.1000   900
## 12  36.2000   895
## 13  36.4000   860
## 14  21.2000   895
## 15  35.1500   900
## 16  22.0000   925
## 17  23.9000   975
## 18  29.6000   975
## 19  35.2000  1010
## 20  33.7000  1050
## 21  25.1000  1015
## 22  33.9000   995
## 23  23.6000   960
## 24  26.1000   980
## 25  37.3000  1000
## 26  30.0000  1090
## 27  34.7000  1160
## 28  20.5000  1230
## 29  33.1000  1230
## 30  23.2000  1250
## 31  28.4000  1260
## 32  34.7000  1340
## 33  20.5000  1320
## 34  29.0000  1270
## 35  23.6000  1225
## 36  22.4000  1205
## 37  28.7000  1165
## 38  31.1000  1070
## 39  30.6000  1115
## 40  33.1000  1180
## 41  28.3375  1125
## 42  25.2000  1155
## 43  34.1000  1250
## 44  29.8000  1310
## 45  31.3000  1390
## 46  37.5000  1390
## 47  39.6000  1425
## 48  18.3000  1425
## 49  30.4000  1375
## 50  24.3400  1435
## 51  27.7840  1445
## 52  24.7000  1355
## 53  32.9000  1290
## 54  38.8000  1310
## 55  32.2000  1340
## 56  29.7000  1280
## 57  31.6000  1275
## 58  44.2000  1295
## 59  20.6300  1430
## 60  31.1000  1365
## 61  23.7000  1365
## 62  33.0000  1300
## 63  24.3000  1320
## 64  28.9000  1295
## 65  42.1000  1285
## 66  30.4000  1205
## 67  32.0000  1190
## 68  24.9000  1230
## 69  23.9400  1190
## 70  30.8000  1130
## 71  39.5000  1130
## 72  23.2000  1120
## 73  32.5000  1030
## 74  27.7000   985
## 75  30.5000  1000
## 76  35.7600   995
## 77  41.5000  1045
## 78  28.3000  1015
## 79  24.2000  1090
## 80  23.0000  1065
## 81  27.8000   990
## 82  40.2000   960
## 83  31.7000   840
## 84  33.6000   700
## 85  29.0000   695
## 86  27.7000   705
## 87  25.3000   665
## 88  34.1000   700
## 89  23.9000   650
## 90  23.5000   625
## 91  22.0000   775
## 92  34.4000   855
## 93  35.9000   935
## 94  30.9000   865
## 95  35.6000   940
## 96  34.7000   935
## 97  42.4000   960
## 98  29.9000   970
## 99  28.3000   960
## 100 29.4000   845
## 101 40.2000   870
## 102 25.1000   840
## 103 26.5000   870
## 104 24.3000   900
## 105 41.3000   945
## 106 50.5000   910
## 107 39.7000  1050
## 108 37.5000  1125
## 109 34.6000  1120
## 110 37.1000  1125
## 111 24.6000  1080
## 112 33.9000  1190
## 113 33.8000  1260
## 114 25.1000  1280
## 115 32.9000  1310
## 116 45.4000  1300
## 117 30.2000  1310
## 118 28.2500  1335
## 119 31.5000  1270
## 120 36.2000  1205
## 121 36.7500  1175
## 122 21.0000  1205
## 123 33.7500  1175
## 124 33.6000  1195
## 125 34.6000  1195
## 126 22.2500  1265
## 127 25.0000  1190
## 128 28.2500  1185
## 129 32.6500  1165
## 130 34.1000  1165
## 131 27.0500  1170
## 132 25.0000  1265
## 133 38.3000  1245
## 134 30.6500  1535
## 135 32.4000  1390
## 136 35.1000  1910
## 137 27.0000  2500
## 138 29.2000  2720
## 139 25.5000  2430
## 140 30.3500  2130
## 141 20.9000  2570
## 142 25.5000  2470
## 143 34.3500  2440
## 144 35.5000  2490
## 145 38.2000  2360
## 146 32.8000  2140
## 147 39.7500  2470
## 148 26.5000  2510
## 149 37.3000  2380
#SPLIT DATA
train<-data[c(1:120),]
test<-data[121:149,]
#data time series
train.ts<-ts(train)
test.ts<-ts(test)
data.ts<-ts(data)

Model KOYCK

Metode Koyck didasarkan 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 𝛽 mempunyai tanda sama. Model Koyck merupakan jenis paling umum dari model infinite distributed lag dan juga dikenal sebagai geometric lag.

#MODEL KOYCK
model.koyck = dLagM::koyckDlm(x = train$N02BA, y = train$Close)
summary(model.koyck)
## 
## Call:
## "Y ~ (Intercept) + Y.1 + X.t"
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -159.465  -40.719   -3.756   46.781  191.239 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -147.26247  265.74060  -0.554    0.581    
## Y.1            0.98544    0.04475  22.020   <2e-16 ***
## X.t            5.32613    7.20594   0.739    0.461    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 64.37 on 116 degrees of freedom
## Multiple R-Squared: 0.9133,  Adjusted R-squared: 0.9118 
## Wald test: 628.2 on 2 and 116 DF,  p-value: < 2.2e-16 
## 
## Diagnostic tests:
## NULL
## 
##                              alpha     beta       phi
## Geometric coefficients:  -10114.31 5.326128 0.9854402
AIC(model.koyck)
## [1] 1333.858
BIC(model.koyck)
## [1] 1344.975
#ramalan
(fore.koyck <- forecast(model = model.koyck, x=test$N02BA, h=29))
## $forecasts
##  [1] 1235.928 1182.519 1197.797 1212.052 1231.427 1184.741 1153.382 1139.790
##  [9] 1149.830 1167.448 1147.259 1116.446 1156.919 1156.058 1164.530 1187.259
## [17] 1166.516 1157.792 1129.489 1127.429 1075.067 1047.968 1068.400 1094.660
## [25] 1134.917 1145.827 1193.596 1170.097 1204.463
## 
## $call
## forecast.koyckDlm(model = model.koyck, x = test$N02BA, h = 29)
## 
## attr(,"class")
## [1] "forecast.koyckDlm" "dLagM"
#mape data testing
mape.koyck <- MAPE(fore.koyck$forecasts, test$Close)

#akurasi data training
mape_train <- dLagM::GoF(model.koyck)["MAPE"]

c("MAPE_testing" = mape.koyck, "MAPE_training" = mape_train)
## $MAPE_testing
## [1] 0.2827228
## 
## $MAPE_training.MAPE
## [1] 0.0495913

Regression with Distributed Lag

Regression with Distributed Lag (lag=2)

#REGRESSION WITH DISTRIBUTED LAG -> estimasi parameter menggunakan least square

model.dlm = dLagM::dlm(x = train$N02BA,y = train$Close , q = 2)
summary(model.dlm)
## 
## Call:
## lm(formula = model.formula, data = design)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -489.6 -161.4   11.3  179.6  394.0 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1383.621    143.558   9.638   <2e-16 ***
## x.t           -3.275      2.941  -1.114    0.268    
## x.1           -2.997      2.918  -1.027    0.307    
## x.2           -3.532      2.885  -1.224    0.223    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 213.3 on 114 degrees of freedom
## Multiple R-squared:  0.03937,    Adjusted R-squared:  0.01409 
## F-statistic: 1.557 on 3 and 114 DF,  p-value: 0.2036
## 
## AIC and BIC values for the model:
##        AIC      BIC
## 1 1606.418 1620.271
AIC(model.dlm)
## [1] 1606.418
BIC(model.dlm)
## [1] 1620.271
#ramalan
(fore.dlm <- forecast(model = model.dlm, x=test$N02BA, h=29)) #meramalkan 29 periode ke depan
## $forecasts
##  [1] 1043.483 1076.822 1080.325 1098.231 1050.371 1088.355 1112.833 1137.566
##  [9] 1103.700 1074.283 1077.487 1100.212 1087.694 1080.127 1050.348 1063.279
## [17] 1075.537 1083.073 1117.208 1104.641 1134.126 1130.253 1120.856 1074.315
## [25] 1030.765 1036.298 1020.182 1061.824 1041.616
## 
## $call
## forecast.dlm(model = model.dlm, x = test$N02BA, h = 29)
## 
## attr(,"class")
## [1] "forecast.dlm" "dLagM"
#mape data testing
mape.dlm <- MAPE(fore.dlm$forecasts, test$Close)

#akurasi data training
mape_train <- GoF(model.dlm)["MAPE"]

c("MAPE_testing" = mape.dlm, "MAPE_training" = mape_train)
## $MAPE_testing
## [1] 0.3242882
## 
## $MAPE_training.MAPE
## [1] 0.1815142

Regression with Distributed Lag Optimum

#penentuan lag optimum 
finiteDLMauto(formula = Close ~ N02BA,
              data = data.frame(train), q.min = 1, q.max = 4 ,
              model.type = "dlm", error.type = "AIC", trace = TRUE) ##q max lag maksimum
##   q - k    MASE      AIC      BIC    GMRAE   MBRAE R.Adj.Sq Ljung-Box
## 4     4 4.06503 1578.347 1597.622 15.60200 0.97479  0.00390         0
## 3     3 4.13227 1592.298 1608.871 15.89848 1.35944  0.00739         0
## 2     2 4.18906 1606.418 1620.271 16.20682 0.94842  0.01409         0
## 1     1 4.24384 1620.475 1631.592 15.69009 1.01954  0.01891         0
#model dlm dengan lag optimum
model.dlm2 = dLagM::dlm(x = train$N02BA,y = train$Close , q = 4) #terdapat lag yang tidak signifikan sehingga dapat dikurangi jumlah lagnya 
summary(model.dlm2)
## 
## Call:
## lm(formula = model.formula, data = design)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -521.81 -147.54    2.44  173.13  390.79 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1481.577    175.464   8.444 1.39e-13 ***
## x.t           -3.910      2.947  -1.327    0.187    
## x.1           -2.078      2.936  -0.708    0.481    
## x.2           -1.880      2.939  -0.640    0.524    
## x.3           -2.368      2.886  -0.821    0.414    
## x.4           -2.497      2.858  -0.874    0.384    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 210.7 on 110 degrees of freedom
## Multiple R-squared:  0.04721,    Adjusted R-squared:  0.003898 
## F-statistic:  1.09 on 5 and 110 DF,  p-value: 0.37
## 
## AIC and BIC values for the model:
##        AIC      BIC
## 1 1578.347 1597.622
AIC(model.dlm2)
## [1] 1578.347
BIC(model.dlm2)
## [1] 1597.622
#ramalan
(fore.dlm2 <- forecast(model = model.dlm2, x=test$N02BA, h=29))
## $forecasts
##  [1] 1061.093 1109.876 1072.465 1063.126 1071.487 1127.120 1108.664 1111.465
##  [9] 1109.089 1112.495 1114.213 1115.615 1066.698 1085.905 1092.417 1066.223
## [17] 1073.901 1092.014 1106.374 1103.403 1152.251 1148.052 1119.406 1098.140
## [25] 1081.259 1062.153 1016.296 1054.551 1032.834
## 
## $call
## forecast.dlm(model = model.dlm2, x = test$N02BA, h = 29)
## 
## attr(,"class")
## [1] "forecast.dlm" "dLagM"
#akurasi testing
mape.dlm2 <- MAPE(fore.dlm2$forecasts, test$Close)

#akurasi data training
mape_train <- GoF(model.dlm2)["MAPE"]

c("MAPE_testing" = mape.dlm2, "MAPE_training" = mape_train)
## $MAPE_testing
## [1] 0.3182544
## 
## $MAPE_training.MAPE
## [1] 0.1750361

Model Autoregressive / Dynamic Regression

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

#MODEL AUTOREGRESSIVE 
#library(dLagM)
model.ardl = ardlDlm(x = train$N02BA, y = train$Close, p = 1 , q = 1) #p:lag x, q:lag y
#model untuk p=1, q=1: yt=b0+b1yt-1+b2xt+b3xt-1
#model untuk p=2, q=3: yt=b0+b1yt-1+b2yt-2+b3xt+b4xt-1+b5xt-2

summary(model.ardl)
## 
## Time series regression with "ts" data:
## Start = 2, End = 120
## 
## Call:
## dynlm(formula = as.formula(model.text), data = data, start = 1)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -153.155  -38.507   -0.333   30.191  135.223 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 20.89775   43.61669   0.479    0.633    
## X.t          0.10169    0.73761   0.138    0.891    
## X.1          0.63284    0.73693   0.859    0.392    
## Y.1          0.96283    0.02321  41.488   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53.95 on 115 degrees of freedom
## Multiple R-squared:  0.9396, Adjusted R-squared:  0.938 
## F-statistic: 596.3 on 3 and 115 DF,  p-value: < 2.2e-16
AIC(model.ardl)
## [1] 1292.777
BIC(model.ardl)
## [1] 1306.673
#ramalan
(fore.ardl <- forecast(model = model.ardl, x=test$N02BA, h=29))
## $forecasts
##  [1] 1207.757 1209.159 1201.837 1202.841 1203.815 1204.129 1196.896 1192.003
##  [9] 1189.795 1190.602 1191.579 1187.850 1184.314 1188.549 1187.963 1188.781
## [17] 1190.454 1187.162 1185.009 1181.087 1179.419 1172.301 1169.258 1172.046
## [25] 1175.733 1180.442 1182.265 1187.072 1184.413
## 
## $call
## forecast.ardlDlm(model = model.ardl, x = test$N02BA, h = 29)
## 
## attr(,"class")
## [1] "forecast.ardlDlm" "dLagM"
#akurasi testing
mape.ardl <- MAPE(fore.ardl$forecasts, test$Close) #data testing

#akurasi data training
mape_train <- GoF(model.ardl)["MAPE"]

c("MAPE_testing" = mape.ardl, "MAPE_training" = mape_train)
## $MAPE_testing
## [1] 0.2658877
## 
## $MAPE_training.MAPE
## [1] 0.04125257
#penentuan lag optimum
ardlBoundOrders(data = data.frame(data) , formula = Close ~ N02BA ) #yang digunakan harusnya data train, tetapi karena keterbatasan data jika menggunakan data train menyebabkan error sehingga dicontohkan menggunakan keseluruhan data
## $p
##   N02BA
## 1    15
## 
## $q
## [1] 15
## 
## $Stat.table
##           q = 1    q = 2    q = 3    q = 4    q = 5    q = 6    q = 7    q = 8
## p = 1  1801.998 1789.899 1780.582 1768.581 1759.000 1747.873 1738.580 1722.279
## p = 2  1791.943 1790.810 1781.509 1769.665 1760.079 1749.199 1739.685 1723.867
## p = 3  1781.596 1781.596 1783.507 1771.658 1762.034 1751.187 1741.685 1725.853
## p = 4  1774.217 1774.297 1774.297 1773.542 1763.925 1753.109 1743.614 1727.797
## p = 5  1764.563 1762.128 1763.004 1763.004 1764.965 1754.133 1744.829 1729.505
## p = 6  1754.944 1752.865 1754.599 1755.705 1755.705 1756.130 1746.827 1731.488
## p = 7  1745.201 1742.422 1744.140 1745.447 1746.827 1746.827 1748.827 1733.474
## p = 8  1735.684 1733.393 1735.155 1735.904 1737.809 1739.084 1739.084 1735.458
## p = 9  1725.032 1724.395 1726.363 1725.579 1727.359 1725.675 1724.357 1724.357
## p = 10 1714.877 1714.772 1716.595 1714.802 1716.130 1714.314 1714.227 1715.591
## p = 11 1705.908 1705.303 1707.240 1706.398 1708.151 1707.411 1709.020 1707.204
## p = 12 1695.222 1694.568 1696.527 1696.140 1698.096 1698.420 1700.345 1697.037
## p = 13 1686.319 1685.846 1687.707 1686.970 1688.872 1689.052 1690.922 1688.028
## p = 14 1676.175 1675.867 1677.764 1677.188 1679.166 1679.732 1681.709 1677.790
## p = 15 1666.976 1666.773 1668.643 1668.053 1670.023 1670.532 1672.500 1669.070
##           q = 9   q = 10   q = 11   q = 12   q = 13   q = 14   q = 15
## p = 1  1711.679 1700.574 1690.907 1680.114 1668.821 1658.394 1649.226
## p = 2  1713.316 1702.371 1692.797 1681.976 1670.603 1660.153 1650.971
## p = 3  1715.310 1704.335 1694.737 1683.972 1672.600 1662.120 1652.940
## p = 4  1717.193 1706.193 1696.545 1685.874 1674.370 1663.844 1654.666
## p = 5  1718.957 1707.788 1698.117 1687.629 1676.046 1665.653 1656.497
## p = 6  1720.889 1709.675 1700.038 1689.503 1677.978 1667.560 1658.418
## p = 7  1722.867 1711.675 1702.037 1691.492 1679.959 1669.521 1660.377
## p = 8  1724.863 1713.623 1703.940 1693.375 1681.798 1671.352 1662.231
## p = 9  1725.363 1713.997 1704.180 1693.928 1682.006 1671.757 1662.666
## p = 10 1715.591 1715.975 1706.170 1695.882 1684.003 1673.720 1664.643
## p = 11 1706.660 1706.660 1707.947 1697.703 1685.818 1675.613 1666.538
## p = 12 1696.051 1698.032 1698.032 1698.978 1687.231 1677.030 1667.969
## p = 13 1688.566 1689.707 1689.898 1689.898 1689.119 1678.951 1669.885
## p = 14 1677.720 1679.300 1681.153 1679.715 1679.715 1680.755 1671.686
## p = 15 1669.611 1670.805 1671.991 1673.000 1671.674 1671.674 1673.670
## 
## $min.Stat
## [1] 1649.226
#PEMODELAN DLM dan ARDL dengan library dynlm
#library(dynlm)

#sama dengan model dlm p=1
cons_lm1 <- dynlm(Close ~ N02BA+L(N02BA),data = train.ts)

#sama dengan model ardl p=0 q=1
cons_lm2 <- dynlm(Close ~ N02BA+L(Close),data = train.ts)

#sama dengan ardl p=1 q=1
cons_lm3 <- dynlm(Close ~ N02BA+L(N02BA)+L(Close),data = train.ts)

#sama dengan dlm p=2
cons_lm4 <- dynlm(Close ~ N02BA+L(N02BA)+L(N02BA,2),data = train.ts)
#Ringkasan Model
summary(cons_lm1)
## 
## Time series regression with "ts" data:
## Start = 2, End = 120
## 
## Call:
## dynlm(formula = Close ~ N02BA + L(N02BA), data = train.ts)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -508.7 -168.5   26.4  185.2  408.3 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1319.760    120.832  10.922   <2e-16 ***
## N02BA         -4.107      2.907  -1.413    0.160    
## L(N02BA)      -3.745      2.902  -1.291    0.199    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 214.6 on 116 degrees of freedom
## Multiple R-squared:  0.03554,    Adjusted R-squared:  0.01891 
## F-statistic: 2.137 on 2 and 116 DF,  p-value: 0.1226
summary(cons_lm2)
## 
## Time series regression with "ts" data:
## Start = 2, End = 120
## 
## Call:
## dynlm(formula = Close ~ N02BA + L(Close), data = train.ts)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -153.776  -39.366    1.687   30.059  141.749 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 41.39622   36.46390   1.135    0.259    
## N02BA        0.17848    0.73134   0.244    0.808    
## L(Close)     0.95998    0.02294  41.844   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53.88 on 116 degrees of freedom
## Multiple R-squared:  0.9392, Adjusted R-squared:  0.9382 
## F-statistic: 896.1 on 2 and 116 DF,  p-value: < 2.2e-16
summary(cons_lm3)
## 
## Time series regression with "ts" data:
## Start = 2, End = 120
## 
## Call:
## dynlm(formula = Close ~ N02BA + L(N02BA) + L(Close), data = train.ts)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -153.155  -38.507   -0.333   30.191  135.223 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 20.89775   43.61669   0.479    0.633    
## N02BA        0.10169    0.73761   0.138    0.891    
## L(N02BA)     0.63284    0.73693   0.859    0.392    
## L(Close)     0.96283    0.02321  41.488   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 53.95 on 115 degrees of freedom
## Multiple R-squared:  0.9396, Adjusted R-squared:  0.938 
## F-statistic: 596.3 on 3 and 115 DF,  p-value: < 2.2e-16
summary(cons_lm4)
## 
## Time series regression with "ts" data:
## Start = 3, End = 120
## 
## Call:
## dynlm(formula = Close ~ N02BA + L(N02BA) + L(N02BA, 2), data = train.ts)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -489.6 -161.4   11.3  179.6  394.0 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 1383.621    143.558   9.638   <2e-16 ***
## N02BA         -3.275      2.941  -1.114    0.268    
## L(N02BA)      -2.997      2.918  -1.027    0.307    
## L(N02BA, 2)   -3.532      2.885  -1.224    0.223    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 213.3 on 114 degrees of freedom
## Multiple R-squared:  0.03937,    Adjusted R-squared:  0.01409 
## F-statistic: 1.557 on 3 and 114 DF,  p-value: 0.2036
#SSE
deviance(cons_lm1)
## [1] 5343852
deviance(cons_lm2)
## [1] 336811.3
deviance(cons_lm3)
## [1] 334665.2
deviance(cons_lm4)
## [1] 5187539

Uji Diagnostik Model

Uji Non Autokorelasi

#uji model
if(require("lmtest")) encomptest(cons_lm1, cons_lm2)
## Encompassing test
## 
## Model 1: Close ~ N02BA + L(N02BA)
## Model 2: Close ~ N02BA + L(Close)
## Model E: Close ~ N02BA + L(N02BA) + L(Close)
##           Res.Df Df         F Pr(>F)    
## M1 vs. ME    115 -1 1721.2918 <2e-16 ***
## M2 vs. ME    115 -1    0.7375 0.3923    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#Diagnostik
#durbin watson
dwtest(cons_lm1)
## 
##  Durbin-Watson test
## 
## data:  cons_lm1
## DW = 0.096463, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(cons_lm2)
## 
##  Durbin-Watson test
## 
## data:  cons_lm2
## DW = 1.6168, p-value = 0.01346
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(cons_lm3)
## 
##  Durbin-Watson test
## 
## data:  cons_lm3
## DW = 1.6193, p-value = 0.01421
## alternative hypothesis: true autocorrelation is greater than 0
dwtest(cons_lm4)
## 
##  Durbin-Watson test
## 
## data:  cons_lm4
## DW = 0.089977, p-value < 2.2e-16
## alternative hypothesis: true autocorrelation is greater than 0

Uji Heterogenitas

#heterogenitas
bptest(cons_lm1)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm1
## BP = 2.2549, df = 2, p-value = 0.3239
bptest(cons_lm2)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm2
## BP = 1.287, df = 2, p-value = 0.5254
bptest(cons_lm3)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm3
## BP = 2.4258, df = 3, p-value = 0.4889
bptest(cons_lm4)
## 
##  studentized Breusch-Pagan test
## 
## data:  cons_lm4
## BP = 2.8301, df = 3, p-value = 0.4186

Uji Normalitas

#shapiro wilk
shapiro.test(residuals(cons_lm1))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm1)
## W = 0.97511, p-value = 0.0262
shapiro.test(residuals(cons_lm2))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm2)
## W = 0.99197, p-value = 0.7238
shapiro.test(residuals(cons_lm3))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm3)
## W = 0.99196, p-value = 0.7222
shapiro.test(residuals(cons_lm4))
## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(cons_lm4)
## W = 0.97309, p-value = 0.01796

Perbandingan Keakuratan Ramalan

#PERBANDINGAN
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.2827228
## DLM 1          0.3242882
## DLM 2          0.3182544
## Autoregressive 0.2658877
#PLOT
par(mfrow=c(1,1))
plot(test$N02BA, test$Close, type="b", col="black", ylim=c(500,3000))
points(test$N02BA, fore.koyck$forecasts,col="red")
lines(test$N02BA, fore.koyck$forecasts,col="red")
points(test$N02BA, fore.dlm$forecasts,col="blue")
lines(test$N02BA, fore.dlm$forecasts,col="blue")
points(test$N02BA, fore.dlm2$forecasts,col="orange")
lines(test$N02BA, fore.dlm2$forecasts,col="orange")
points(test$N02BA, fore.ardl$forecasts,col="green")
lines(test$N02BA, 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)

Materi Pengayaan / Tambahan

#MATERI PENGAYAAN/TAMBAHAN
#Mencoba dengan Data Lain (Berganda)
#Data M1 Germany
data(M1Germany)
data1 = M1Germany[1:144,]

#Mencari orde lag optimum model 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
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
#Mencari orde lag optimum model ARDL
ardlBoundOrders(data = data1 , formula = logprice ~ interest + logm1 )
## $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