##載入套件
library(lmtest)
library(dplyr)
library(ggplot2)
library(openxlsx)
library(vars)
library(tseries)
library(jtools)
library(forecast)
library(urca)
##建立時間序列
year <- read.xlsx("E:/summer program/new data/byyear1.xlsx", sheet = '內插')
biomass.timeseries <- ts(year$aboveground距平, start = 1995)
leaf.timeseries <- ts(year$leaf距平, start = 1995)
cover.timeseries <- ts(year$cover距平, start = 1995)
relative.timeseries <- ts(year$relative距平, start = 1995)
pmmann.timeseries <- ts(year$PMMANN0, start = 1995)
wnp.timeseries <- ts(year$WNP0, start = 1995)
cpenso.timeseries <- ts(year$CPENSO0, start = 1995)
tempann.timeseries <- ts(year$TX年距平0, start = 1995)
salt.timeseries <- ts(year$Salt距平0, start = 1995)
tempde.timeseries <- ts(year$TXde0, start = 1995)
##檢測平穩性
ADF法
adf.test(na.omit(cover.timeseries))
adf.test(na.omit(leaf.timeseries))
adf.test(na.omit(relative.timeseries))
adf.test(na.omit(biomass.timeseries))
adf.test(na.omit(pmmann.timeseries))
adf.test(na.omit(cpenso.timeseries))
adf.test(na.omit(wnp.timeseries))
adf.test(na.omit(tempann.timeseries))
adf.test(na.omit(salt.timeseries))
adf.test(na.omit(tempde.timeseries))
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(cover.timeseries)
## Dickey-Fuller = -2.114, Lag order = 2, p-value = 0.5289
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(leaf.timeseries)
## Dickey-Fuller = -2.2157, Lag order = 2, p-value = 0.4902
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(relative.timeseries)
## Dickey-Fuller = -2.2034, Lag order = 2, p-value = 0.4949
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(biomass.timeseries)
## Dickey-Fuller = -1.6929, Lag order = 2, p-value = 0.6894
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(pmmann.timeseries)
## Dickey-Fuller = -2.2014, Lag order = 2, p-value = 0.4957
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(cpenso.timeseries)
## Dickey-Fuller = -2.3858, Lag order = 2, p-value = 0.4254
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(wnp.timeseries)
## Dickey-Fuller = -2.2173, Lag order = 2, p-value = 0.4896
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(tempann.timeseries)
## Dickey-Fuller = -2.3302, Lag order = 2, p-value = 0.4466
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(salt.timeseries)
## Dickey-Fuller = -2.2974, Lag order = 2, p-value = 0.4591
## alternative hypothesis: stationary
##
##
## Augmented Dickey-Fuller Test
##
## data: na.omit(tempde.timeseries)
## Dickey-Fuller = 0.19384, Lag order = 2, p-value = 0.99
## alternative hypothesis: stationary
KPSS法
kpss.test(na.omit(cover.timeseries))
kpss.test(na.omit(leaf.timeseries))
kpss.test(na.omit(relative.timeseries))
kpss.test(na.omit(biomass.timeseries))
kpss.test(na.omit(pmmann.timeseries))
kpss.test(na.omit(cpenso.timeseries))
kpss.test(na.omit(wnp.timeseries))
kpss.test(na.omit(tempann.timeseries))
kpss.test(na.omit(salt.timeseries))
kpss.test(na.omit(tempde.timeseries))
##
## KPSS Test for Level Stationarity
##
## data: na.omit(cover.timeseries)
## KPSS Level = 0.34382, Truncation lag parameter = 2, p-value = 0.1
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(leaf.timeseries)
## KPSS Level = 0.1183, Truncation lag parameter = 2, p-value = 0.1
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(relative.timeseries)
## KPSS Level = 0.42795, Truncation lag parameter = 2, p-value = 0.06511
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(biomass.timeseries)
## KPSS Level = 0.22544, Truncation lag parameter = 2, p-value = 0.1
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(pmmann.timeseries)
## KPSS Level = 0.43649, Truncation lag parameter = 2, p-value = 0.06143
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(cpenso.timeseries)
## KPSS Level = 0.13865, Truncation lag parameter = 2, p-value = 0.1
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(wnp.timeseries)
## KPSS Level = 0.20561, Truncation lag parameter = 2, p-value = 0.1
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(tempann.timeseries)
## KPSS Level = 0.4036, Truncation lag parameter = 2, p-value = 0.0756
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(salt.timeseries)
## KPSS Level = 0.11672, Truncation lag parameter = 2, p-value = 0.1
##
##
## KPSS Test for Level Stationarity
##
## data: na.omit(tempde.timeseries)
## KPSS Level = 0.93415, Truncation lag parameter = 2, p-value = 0.01
##檢測差分
ADF法
ndiffs(cover.timeseries, test="adf")
ndiffs(leaf.timeseries, test="adf")
ndiffs(relative.timeseries, test="adf")
ndiffs(biomass.timeseries, test="adf")
ndiffs(pmmann.timeseries, test="adf")
ndiffs(cpenso.timeseries, test="adf")
ndiffs(wnp.timeseries, test="adf")
ndiffs(tempann.timeseries, test="adf")
ndiffs(salt.timeseries, test="adf")
ndiffs(tempde.timeseries, test="adf")
## [1] 2
## [1] 1
## [1] 2
## [1] 2
## [1] 1
## [1] 0
## [1] 0
## [1] 1
## [1] 1
## [1] 1
KPSS法
ndiffs(cover.timeseries, test="kpss")
ndiffs(leaf.timeseries, test="kpss")
ndiffs(relative.timeseries, test="kpss")
ndiffs(biomass.timeseries, test="kpss")
ndiffs(pmmann.timeseries, test="kpss")
ndiffs(cpenso.timeseries, test="kpss")
ndiffs(wnp.timeseries, test="kpss")
ndiffs(tempann.timeseries, test="kpss")
ndiffs(salt.timeseries, test="kpss")
ndiffs(tempde.timeseries, test="kpss")
## [1] 0
## [1] 0
## [1] 1
## [1] 0
## [1] 1
## [1] 0
## [1] 0
## [1] 1
## [1] 0
## [1] 1
relative, WNP, tempann做一次差分;adf的二次差分太難解釋 ##差分比較
relativediff <- diff(relative.timeseries)
par(mfrow=c(2,2))
plot.ts(relative.timeseries,main="原始relative")
plot.ts(relativediff,main="一階差分relative")
acf(relative.timeseries, na = na.omit, ,main="原始relative"); acf(relativediff, na = na.omit, main="一階差分relative")
wnpdiff <- diff(wnp.timeseries)
par(mfrow=c(2,2))
plot.ts(wnp.timeseries,main="原始WNP")
plot.ts(wnpdiff,main="一階差分WNP")
acf(wnp.timeseries, na = na.omit, ,main="原始WNP"); acf(wnpdiff, na = na.omit, main="一階差分WNP")
tempanndiff <- diff(tempann.timeseries)
par(mfrow=c(2,2))
plot.ts(tempann.timeseries,main="原始relative")
plot.ts(tempanndiff,main="一階差分relative")
acf(tempann.timeseries, na = na.omit, ,main="原始tempann"); acf(tempanndiff, na = na.omit, main="一階差分rtempann")
##建立校準時間序列
因為差分的原理為第一項與第二項之差為新序列之第一項,因此計算a與b之格蘭傑因果時,其結果會與現實差了一個時間單位。然而當此差距會包含0時,將導致一盲區無法被計算(沒有自回歸),因此需要建立一個向後推移一單位之時間序列。
relative1.timeseries <- ts(year$relative距平1, start = 1995)
wnp1.timeseries <- ts(year$WNP1, start = 1995)
tempann1.timeseries <- ts(year$TX年距平1, start = 1995)
salt1.timeseries <- ts(year$Salt距平1, start = 1995)
##建立校準差分序列
relative1diff <- diff(relative1.timeseries)
wnp1diff <- diff(wnp1.timeseries)
tempann1diff <- diff(tempann1.timeseries)
##leaf與PMM的滯後選擇 & Granger Causality Test
leaf與PMMANN
bio_pmm <- cbind(pmmann.timeseries, leaf.timeseries)
VARselect(y=na.omit(bio_pmm), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) -0.8696123 -0.7108249 -0.4985656
## HQ(n) -0.8286889 -0.6426192 -0.4030776
## SC(n) -0.5728217 -0.2161740 0.1939458
## FPE(n) 0.4217534 0.5061884 0.6622183
AIC, BIC(SC) best at 1.
grangertest(leaf.timeseries ~ pmmann.timeseries, order = 1, data = bio_pmm)
grangertest(pmmann.timeseries ~ leaf.timeseries, order = 1, data = bio_pmm)
## Granger causality test
##
## Model 1: leaf.timeseries ~ Lags(leaf.timeseries, 1:1) + Lags(pmmann.timeseries, 1:1)
## Model 2: leaf.timeseries ~ Lags(leaf.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.024 0.8787
## Granger causality test
##
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1) + Lags(leaf.timeseries, 1:1)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.0617 0.8068
No significant result.
##leaf與Salinity的滯後選擇 & Granger Causality Test
leaf與Salt
bio_salt <- cbind(salt.timeseries, leaf.timeseries)
VARselect(y=na.omit(bio_salt), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 2 2 1 2
##
## $criteria
## 1 2 3
## AIC(n) -3.26079275 -3.36913215 -3.0077782
## HQ(n) -3.21986933 -3.30092645 -2.9122903
## SC(n) -2.96400216 -2.87448118 -2.3152669
## FPE(n) 0.03859954 0.03546697 0.0538597
AIC, BIC(SC) best at 1.
grangertest(leaf.timeseries ~ salt.timeseries, order = 1, data = bio_salt)
grangertest(salt.timeseries ~ leaf.timeseries, order = 1, data = bio_salt)
grangertest(leaf.timeseries ~ salt.timeseries, order = 2, data = bio_salt)
grangertest(salt.timeseries ~ leaf.timeseries, order = 2, data = bio_salt)
## Granger causality test
##
## Model 1: leaf.timeseries ~ Lags(leaf.timeseries, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: leaf.timeseries ~ Lags(leaf.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.5556 0.4662
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(leaf.timeseries, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.4789 0.4983
## Granger causality test
##
## Model 1: leaf.timeseries ~ Lags(leaf.timeseries, 1:2) + Lags(salt.timeseries, 1:2)
## Model 2: leaf.timeseries ~ Lags(leaf.timeseries, 1:2)
## Res.Df Df F Pr(>F)
## 1 14
## 2 16 -2 0.111 0.8958
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:2) + Lags(leaf.timeseries, 1:2)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:2)
## Res.Df Df F Pr(>F)
## 1 14
## 2 16 -2 1.1873 0.334
No significant result.
##cover與Salinity的滯後選擇 & Granger Causality Test
cover與Salt
bio_salt <- cbind(salt.timeseries, cover.timeseries)
VARselect(y=na.omit(bio_salt), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) 2.179150 2.466752 2.470761
## HQ(n) 2.220074 2.534957 2.566249
## SC(n) 2.475941 2.961403 3.163273
## FPE(n) 8.894457 12.142725 12.899221
AIC, BIC(SC) best at 1.
grangertest(cover.timeseries ~ salt.timeseries, order = 1, data = bio_salt)
grangertest(salt.timeseries ~ cover.timeseries, order = 1, data = bio_salt)
## Granger causality test
##
## Model 1: cover.timeseries ~ Lags(cover.timeseries, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: cover.timeseries ~ Lags(cover.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 13.046 0.002152 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(cover.timeseries, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.1237 0.7294
Salinity 領先 cover 1年.
##Temp與PMM的滯後選擇 & Granger Causality Test
Tempann差分與PMM
tempdiff_pmm <- cbind(pmmann.timeseries, tempanndiff)
VARselect(y=na.omit(tempdiff_pmm), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) -0.11526586 0.1379399 0.1491686
## HQ(n) -0.05049783 0.2458866 0.3002940
## SC(n) 0.18316912 0.6353315 0.8455169
## FPE(n) 0.89464321 1.1694980 1.2240067
AIC, BIC(SC) best at 1.
grangertest(tempanndiff ~ pmmann.timeseries, order = 1, data = tempdiff_pmm)
grangertest(pmmann.timeseries ~ tempanndiff, order = 1, data = tempdiff_pmm)
## Granger causality test
##
## Model 1: tempanndiff ~ Lags(tempanndiff, 1:1) + Lags(pmmann.timeseries, 1:1)
## Model 2: tempanndiff ~ Lags(tempanndiff, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 0.1325 0.7197
## Granger causality test
##
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1) + Lags(tempanndiff, 1:1)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 0.635 0.4349
No significant result.
Tempann1差分與PMM
tempdiff1_pmm <- cbind(pmmann.timeseries, tempann1diff)
VARselect(y=na.omit(tempdiff1_pmm), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) -0.09414944 0.0784403 0.1174841
## HQ(n) -0.02938141 0.1863870 0.2686095
## SC(n) 0.20428555 0.5758319 0.8138323
## FPE(n) 0.91373575 1.1019430 1.1858325
AIC best at 2, BIC(SC) best at 1.
grangertest(tempann1diff ~ pmmann.timeseries, order = 1, data = tempdiff1_pmm)
grangertest(pmmann.timeseries ~ tempann1diff, order = 1, data = tempdiff1_pmm)
## Granger causality test
##
## Model 1: tempann1diff ~ Lags(tempann1diff, 1:1) + Lags(pmmann.timeseries, 1:1)
## Model 2: tempann1diff ~ Lags(tempann1diff, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 0.0172 0.8969
## Granger causality test
##
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1) + Lags(tempann1diff, 1:1)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 0.4775 0.4975
No significant result.
##Temp與CPENSO的滯後選擇 & Granger Causality Test
Tempann差分與CPENSO
tempdiff_cpenso <- cbind(cpenso.timeseries, tempanndiff)
VARselect(y=na.omit(tempdiff_cpenso), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) -1.3075352 -1.0839928 -0.8184296
## HQ(n) -1.2492220 -0.9868041 -0.6823654
## SC(n) -1.0088155 -0.5861267 -0.1214170
## FPE(n) 0.2717226 0.3456455 0.4692336
AIC, BIC(SC) best at 1.
grangertest(tempanndiff ~ cpenso.timeseries, order = 1, data = tempdiff_cpenso)
grangertest(cpenso.timeseries ~ tempanndiff, order = 1, data = tempdiff_cpenso)
## Granger causality test
##
## Model 1: tempanndiff ~ Lags(tempanndiff, 1:1) + Lags(cpenso.timeseries, 1:1)
## Model 2: tempanndiff ~ Lags(tempanndiff, 1:1)
## Res.Df Df F Pr(>F)
## 1 19
## 2 20 -1 1.043 0.3199
## Granger causality test
##
## Model 1: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1) + Lags(tempanndiff, 1:1)
## Model 2: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 19
## 2 20 -1 4.2086 0.05426 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Tempann 與 CPENSO 同時
Tempann1差分與CPENSO
tempdiff1_cpenso <- cbind(cpenso.timeseries, tempann1diff)
VARselect(y=na.omit(tempdiff1_cpenso), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) -1.2432004 -1.0989387 -0.8340392
## HQ(n) -1.1784324 -0.9909920 -0.6829138
## SC(n) -0.9447654 -0.6015471 -0.1376909
## FPE(n) 0.2895970 0.3394923 0.4579121
AIC, BIC(SC) best at 1.
grangertest(tempann1diff ~ cpenso.timeseries, order = 1, data = tempdiff1_cpenso)
grangertest(cpenso.timeseries ~ tempann1diff, order = 1, data = tempdiff1_cpenso)
## Granger causality test
##
## Model 1: tempann1diff ~ Lags(tempann1diff, 1:1) + Lags(cpenso.timeseries, 1:1)
## Model 2: tempann1diff ~ Lags(tempann1diff, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 0.0407 0.8421
## Granger causality test
##
## Model 1: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1) + Lags(tempann1diff, 1:1)
## Model 2: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 2.168 0.1565
No significant result.
##Temp與WNP的滯後選擇 & Granger Causality Test
Tempann差分與WNP差分
tempdiff_wnpdiff <- cbind(wnpdiff, tempanndiff)
VARselect(y=na.omit(tempdiff_wnpdiff), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 2 1 1 2
##
## $criteria
## 1 2 3
## AIC(n) -3.9598531 -3.99088886 -3.80671875
## HQ(n) -3.8950851 -3.88294215 -3.65559334
## SC(n) -3.6614182 -3.49349723 -3.11037045
## FPE(n) 0.0191411 0.01883094 0.02342954
AIC best at 2, BIC(SC) best at 1.
grangertest(wnpdiff ~ tempanndiff, order = 1, data = tempdiff_wnpdiff)
grangertest(tempanndiff ~ wnpdiff, order = 1, data = tempdiff_wnpdiff)
grangertest(wnpdiff ~ tempanndiff, order = 2, data = tempdiff_wnpdiff)
grangertest(tempanndiff ~ wnpdiff, order = 2, data = tempdiff_wnpdiff)
## Granger causality test
##
## Model 1: wnpdiff ~ Lags(wnpdiff, 1:1) + Lags(tempanndiff, 1:1)
## Model 2: wnpdiff ~ Lags(wnpdiff, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 4.8575 0.03941 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Granger causality test
##
## Model 1: tempanndiff ~ Lags(tempanndiff, 1:1) + Lags(wnpdiff, 1:1)
## Model 2: tempanndiff ~ Lags(tempanndiff, 1:1)
## Res.Df Df F Pr(>F)
## 1 20
## 2 21 -1 0.0095 0.9235
## Granger causality test
##
## Model 1: wnpdiff ~ Lags(wnpdiff, 1:2) + Lags(tempanndiff, 1:2)
## Model 2: wnpdiff ~ Lags(wnpdiff, 1:2)
## Res.Df Df F Pr(>F)
## 1 17
## 2 19 -2 1.0354 0.3764
## Granger causality test
##
## Model 1: tempanndiff ~ Lags(tempanndiff, 1:2) + Lags(wnpdiff, 1:2)
## Model 2: tempanndiff ~ Lags(tempanndiff, 1:2)
## Res.Df Df F Pr(>F)
## 1 17
## 2 19 -2 3.4939 0.05357 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
WNP 領先 Temp 2年;Temp 領先 WNP 1年
##Salt與PMM的滯後選擇 & Granger Causality Test
Salt與PMM
salt_pmm <- cbind(pmmann.timeseries, salt.timeseries)
VARselect(y=na.omit(salt_pmm), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) 0.9040178 1.219647 1.516012
## HQ(n) 0.9449412 1.287852 1.611500
## SC(n) 1.2008084 1.714298 2.208524
## FPE(n) 2.4850571 3.489035 4.965022
AIC, BIC(SC) best at 1.
grangertest(salt.timeseries ~ pmmann.timeseries, order = 1, data = salt_pmm)
grangertest(pmmann.timeseries ~ salt.timeseries, order = 1, data = salt_pmm)
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(pmmann.timeseries, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.7659 0.3937
## Granger causality test
##
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.0585 0.8118
No significant result.
##Salt與CPENSO的滯後選擇 & Granger Causality Test
Salt與CPENSO
salt_cpenso <- cbind(cpenso.timeseries, salt.timeseries)
VARselect(y=na.omit(salt_cpenso), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 1 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) -0.06432534 -0.02888074 0.3042032
## HQ(n) -0.02340192 0.03932496 0.3996912
## SC(n) 0.23246524 0.46577024 0.9967146
## FPE(n) 0.94360509 1.00109847 1.4778802
AIC, BIC(SC) best at 1.
grangertest(salt.timeseries ~ cpenso.timeseries, order = 1, data = salt_cpenso)
grangertest(cpenso.timeseries ~ salt.timeseries, order = 1, data = salt_cpenso)
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(cpenso.timeseries, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.0592 0.8107
## Granger causality test
##
## Model 1: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 2.4229 0.138
No significant result.
##Salt與WNP的滯後選擇 & Granger Causality Test
Salt與WNP差分
salt_wnpdiff <- cbind(wnpdiff, salt.timeseries)
VARselect(y=na.omit(salt_wnpdiff), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 2 1 1 1
##
## $criteria
## 1 2 3
## AIC(n) -2.58238320 -2.5956690 -2.2309684
## HQ(n) -2.54145978 -2.5274633 -2.1354804
## SC(n) -2.28559261 -2.1010180 -1.5384570
## FPE(n) 0.07606969 0.0768661 0.1171192
AIC best at 2, BIC(SC) best at 1.
grangertest(wnpdiff ~ salt.timeseries, order = 1, data = salt_wnpdiff)
grangertest(salt.timeseries ~ wnpdiff, order = 1, data = salt_wnpdiff)
grangertest(wnpdiff ~ salt.timeseries, order = 2, data = salt_wnpdiff)
grangertest(salt.timeseries ~ wnpdiff, order = 2, data = salt_wnpdiff)
## Granger causality test
##
## Model 1: wnpdiff ~ Lags(wnpdiff, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: wnpdiff ~ Lags(wnpdiff, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 0.6116 0.4449
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(wnpdiff, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 1.6202 0.2202
## Granger causality test
##
## Model 1: wnpdiff ~ Lags(wnpdiff, 1:2) + Lags(salt.timeseries, 1:2)
## Model 2: wnpdiff ~ Lags(wnpdiff, 1:2)
## Res.Df Df F Pr(>F)
## 1 14
## 2 16 -2 1.9857 0.1741
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:2) + Lags(wnpdiff, 1:2)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:2)
## Res.Df Df F Pr(>F)
## 1 14
## 2 16 -2 1.3883 0.2818
No significant result.
Salt與WNP1差分
salt_wnp1diff <- cbind(wnp1diff, salt.timeseries)
VARselect(y=na.omit(salt_wnp1diff), lag.max = 3, type = c("const"))
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 3 3 1 3
##
## $criteria
## 1 2 3
## AIC(n) -2.74276980 -2.64446024 -2.85507955
## HQ(n) -2.70184638 -2.57625454 -2.75959157
## SC(n) -2.44597921 -2.14980927 -2.16256819
## FPE(n) 0.06479726 0.07320573 0.06274515
AIC, BIC(SC) best at 1.
grangertest(wnp1diff ~ salt.timeseries, order = 1, data = salt_wnp1diff)
grangertest(salt.timeseries ~ wnp1diff, order = 1, data = salt_wnp1diff)
## Granger causality test
##
## Model 1: wnp1diff ~ Lags(wnp1diff, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: wnp1diff ~ Lags(wnp1diff, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 3.265 0.0885 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Granger causality test
##
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(wnp1diff, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
## Res.Df Df F Pr(>F)
## 1 17
## 2 18 -1 3.0062 0.101
Salt 領先 WNP 一年