Granger Causality Test


##載入套件

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)


##檢測平穩性

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))
## 
##  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


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 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


##檢測差分

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")
## [1] 2
## [1] 1
## [1] 2
## [1] 2
## [1] 1
## [1] 0
## [1] 0
## [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")
## [1] 0
## [1] 0
## [1] 1
## [1] 0
## [1] 1
## [1] 0
## [1] 0
## [1] 1
## [1] 0

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)



##Biomass與PMM的滯後選擇 & Granger Causality Test

BIOMASS與PMMANN

bio_pmm <- cbind(pmmann.timeseries, biomass.timeseries)
VARselect(y=na.omit(bio_pmm), 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) -1.3212675 -1.3259652 -0.9646238
## HQ(n)  -1.2803441 -1.2577595 -0.8691358
## SC(n)  -1.0244770 -0.8313142 -0.2721125
## FPE(n)  0.2684771  0.2736278  0.4155226

AIC best at 2, BIC(SC) best at 1.

grangertest(biomass.timeseries ~ pmmann.timeseries, order = 1, data = bio_pmm)
grangertest(pmmann.timeseries ~ biomass.timeseries, order = 1, data = bio_pmm)
grangertest(biomass.timeseries ~ pmmann.timeseries, order = 2, data = bio_pmm)
grangertest(pmmann.timeseries ~ biomass.timeseries, order = 2, data = bio_pmm)
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:1) + Lags(pmmann.timeseries, 1:1)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:1)
##   Res.Df Df      F  Pr(>F)  
## 1     17                    
## 2     18 -1 7.2897 0.01518 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Granger causality test
## 
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1) + Lags(biomass.timeseries, 1:1)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 0.5411  0.472
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:2) + Lags(pmmann.timeseries, 1:2)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:2)
##   Res.Df Df      F  Pr(>F)  
## 1     14                    
## 2     16 -2 4.9436 0.02375 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## Granger causality test
## 
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:2) + Lags(biomass.timeseries, 1:2)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:2)
##   Res.Df Df      F Pr(>F)
## 1     14                 
## 2     16 -2 0.1063 0.8999

PMM 領先 Biomass 1年/2年.

##Biomass與CPENSO的滯後選擇 & Granger Causality Test

BIOMASS與CPENSO

bio_cp <- cbind(cpenso.timeseries, biomass.timeseries)
VARselect(y=na.omit(bio_cp), 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) -2.039630 -2.1091423 -1.8611326
## HQ(n)  -1.998706 -2.0409366 -1.7656446
## SC(n)  -1.742839 -1.6144913 -1.1686212
## FPE(n)  0.130896  0.1250347  0.1695297

AIC best at 2, BIC(SC) best at 1.

grangertest(biomass.timeseries ~ cpenso.timeseries, order = 1, data = bio_cp)
grangertest(cpenso.timeseries ~ biomass.timeseries, order = 1, data = bio_cp)
grangertest(biomass.timeseries ~ cpenso.timeseries, order = 2, data = bio_cp)
grangertest(cpenso.timeseries ~ biomass.timeseries, order = 2, data = bio_cp)
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:1) + Lags(cpenso.timeseries, 1:1)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 2.3342 0.1449
## Granger causality test
## 
## Model 1: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1) + Lags(biomass.timeseries, 1:1)
## Model 2: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 1.0433 0.3214
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:2) + Lags(cpenso.timeseries, 1:2)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:2)
##   Res.Df Df      F Pr(>F)
## 1     14                 
## 2     16 -2 0.9942 0.3947
## Granger causality test
## 
## Model 1: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:2) + Lags(biomass.timeseries, 1:2)
## Model 2: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:2)
##   Res.Df Df      F  Pr(>F)  
## 1     14                    
## 2     16 -2 3.0116 0.08169 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Biomass 領先 CPENSO 1年.

##Biomass與WNP的滯後選擇 & Granger Causality Test

BIOMASS與WNP差分

bio_wnpdiff <- cbind(biomass.timeseries, wnpdiff)
VARselect(y=na.omit(bio_wnpdiff), 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) -4.50456238 -4.35725912 -4.37961085
## HQ(n)  -4.46363896 -4.28905342 -4.28412287
## SC(n)  -4.20777180 -3.86260815 -3.68709948
## FPE(n)  0.01112807  0.01320341  0.01366107

AIC, BIC(SC) best at 1.

grangertest(biomass.timeseries ~ wnpdiff, order = 1, data = bio_wnpdiff)
grangertest(wnpdiff ~ biomass.timeseries, order = 1, data = bio_wnpdiff)
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:1) + Lags(wnpdiff, 1:1)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 0.5058 0.4866
## Granger causality test
## 
## Model 1: wnpdiff ~ Lags(wnpdiff, 1:1) + Lags(biomass.timeseries, 1:1)
## Model 2: wnpdiff ~ Lags(wnpdiff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 1.5272 0.2333

No significant result.

BIOMASS與WNP1差分

bio_wnp1diff <- cbind(biomass.timeseries, wnp1diff)
VARselect(y=na.omit(bio_wnp1diff), 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) -4.699018956 -4.57090636 -4.4646396
## HQ(n)  -4.658095537 -4.50270066 -4.3691516
## SC(n)  -4.402228370 -4.07625538 -3.7721282
## FPE(n)  0.009161539  0.01066351  0.0125475

AIC, BIC(SC) best at 1.

grangertest(biomass.timeseries ~ wnp1diff, order = 1, data = bio_wnp1diff)
grangertest(wnp1diff ~ biomass.timeseries, order = 1, data = bio_wnp1diff)
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:1) + Lags(wnp1diff, 1:1)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 0.0147 0.9049
## Granger causality test
## 
## Model 1: wnp1diff ~ Lags(wnp1diff, 1:1) + Lags(biomass.timeseries, 1:1)
## Model 2: wnp1diff ~ Lags(wnp1diff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 0.1686 0.6865

No significant result.

##Biomass與Temp的滯後選擇 & Granger Causality Test

BIOMASS與tempann差分

bio_tempanndiff <- cbind(biomass.timeseries, tempanndiff)
VARselect(y=na.omit(bio_tempanndiff), 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) -4.01389169 -3.74463410 -3.59865995
## HQ(n)  -3.97296827 -3.67642840 -3.50317197
## SC(n)  -3.71710110 -3.24998312 -2.90614859
## FPE(n)  0.01817672  0.02436383  0.02982959

AIC, BIC(SC) best at 1.

grangertest(biomass.timeseries ~ tempanndiff, order = 1, data = bio_tempanndiff)
grangertest(tempanndiff ~ biomass.timeseries, order = 1, data = bio_tempanndiff)
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:1) + Lags(tempanndiff, 1:1)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 0.2167 0.6475
## Granger causality test
## 
## Model 1: tempanndiff ~ Lags(tempanndiff, 1:1) + Lags(biomass.timeseries, 1:1)
## Model 2: tempanndiff ~ Lags(tempanndiff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 0.5242 0.4789

No significant result.

BIOMASS與tempann1差分

bio_tempann1diff <- cbind(biomass.timeseries, tempann1diff)
VARselect(y=na.omit(bio_tempann1diff), 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) -4.05214877 -3.79537660 -3.5205777
## HQ(n)  -4.01122535 -3.72717090 -3.4250897
## SC(n)  -3.75535818 -3.30072563 -2.8280663
## FPE(n)  0.01749446  0.02315839  0.0322521

AIC, BIC(SC) best at 1.

grangertest(biomass.timeseries ~ tempann1diff, order = 1, data = bio_tempann1diff)
grangertest(tempann1diff ~ biomass.timeseries, order = 1, data = bio_tempann1diff)
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:1) + Lags(tempann1diff, 1:1)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 0.0525 0.8216
## Granger causality test
## 
## Model 1: tempann1diff ~ Lags(tempann1diff, 1:1) + Lags(biomass.timeseries, 1:1)
## Model 2: tempann1diff ~ Lags(tempann1diff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     18 -1 1.0721  0.315

No significant result.

##Biomass與Salinity的滯後選擇 & Granger Causality Test

BIOMASS與Salt

bio_salt <- cbind(salt.timeseries, biomass.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) -3.31985556 -2.99584703 -2.86288112
## HQ(n)  -3.27893214 -2.92764133 -2.76739314
## SC(n)  -3.02306498 -2.50119606 -2.17036975
## FPE(n)  0.03638576  0.05151571  0.06225754

AIC, BIC(SC) best at 1.

grangertest(biomass.timeseries ~ salt.timeseries, order = 1, data = bio_salt)
grangertest(salt.timeseries ~ biomass.timeseries, order = 1, data = bio_salt)
## Granger causality test
## 
## Model 1: biomass.timeseries ~ Lags(biomass.timeseries, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: biomass.timeseries ~ Lags(biomass.timeseries, 1:1)
##   Res.Df Df   F   Pr(>F)   
## 1     17                   
## 2     18 -1 8.7 0.008968 **
## ---
## 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(biomass.timeseries, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
##   Res.Df Df     F Pr(>F)
## 1     17                
## 2     18 -1 0.012 0.9141

Salinity 領先 Biomass 1年.

##Relative與PMM的滯後選擇 & Granger Causality Test

Relative差分與PMMANN

reldiff_pmm <- cbind(pmmann.timeseries, relativediff)
VARselect(y=na.omit(reldiff_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)   5.685226   5.992419   6.266269
## HQ(n)    5.714457   6.041139   6.334476
## SC(n)    5.979301   6.482545   6.952444
## FPE(n) 296.691556 414.975877 584.143899

AIC, BIC(SC) best at 1.

grangertest(relativediff ~ pmmann.timeseries, order = 1, data = reldiff_pmm)
grangertest(pmmann.timeseries ~ relativediff, order = 1, data = reldiff_pmm)
## Granger causality test
## 
## Model 1: relativediff ~ Lags(relativediff, 1:1) + Lags(pmmann.timeseries, 1:1)
## Model 2: relativediff ~ Lags(relativediff, 1:1)
##   Res.Df Df     F Pr(>F)
## 1     16                
## 2     17 -1 0.427 0.5228
## Granger causality test
## 
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1) + Lags(relativediff, 1:1)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1)
##   Res.Df Df  F Pr(>F)
## 1     16             
## 2     17 -1  0 0.9955

No significant result.

Relative1差分與PMMANN

reldiff1_pmm <- cbind(pmmann.timeseries, relative1diff)
VARselect(y=na.omit(reldiff1_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)   5.600412   5.854165   6.254868
## HQ(n)    5.629644   5.902884   6.323075
## SC(n)    5.894487   6.344290   6.941043
## FPE(n) 272.565642 361.392929 577.521901

AIC, BIC(SC) best at 1.

grangertest(relative1diff ~ pmmann.timeseries, order = 1, data = reldiff1_pmm)
grangertest(pmmann.timeseries ~ relative1diff, order = 1, data = reldiff1_pmm)
## Granger causality test
## 
## Model 1: relative1diff ~ Lags(relative1diff, 1:1) + Lags(pmmann.timeseries, 1:1)
## Model 2: relative1diff ~ Lags(relative1diff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.1572  0.697
## Granger causality test
## 
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1) + Lags(relative1diff, 1:1)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.7166 0.4097

No significant result.

##Relative與CPENSO的滯後選擇 & Granger Causality Test

Relative差分與CPENSO

reldiff_cp <- cbind(cpenso.timeseries, relativediff)
VARselect(y=na.omit(reldiff_cp), 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)   4.663445   5.037655   5.289515
## HQ(n)    4.692677   5.086374   5.357723
## SC(n)    4.957521   5.527780   5.975691
## FPE(n) 106.795190 159.725316 219.948655

AIC, BIC(SC) best at 1.

grangertest(relativediff ~ cpenso.timeseries, order = 1, data = reldiff_cp)
grangertest(cpenso.timeseries ~ relativediff, order = 1, data = reldiff_cp)
## Granger causality test
## 
## Model 1: relativediff ~ Lags(relativediff, 1:1) + Lags(cpenso.timeseries, 1:1)
## Model 2: relativediff ~ Lags(relativediff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.4595 0.5075
## Granger causality test
## 
## Model 1: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1) + Lags(relativediff, 1:1)
## Model 2: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.0863 0.7727

No significant result.

Relative1差分與CPENSO

reldiff1_cp <- cbind(cpenso.timeseries, relative1diff)
VARselect(y=na.omit(reldiff1_cp), 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)   4.686459   5.086344   5.397108
## HQ(n)    4.715690   5.135063   5.465316
## SC(n)    4.980534   5.576469   6.083284
## FPE(n) 109.281418 167.694661 244.933580

AIC, BIC(SC) best at 1.

grangertest(relative1diff ~ cpenso.timeseries, order = 1, data = reldiff1_cp)
grangertest(cpenso.timeseries ~ relative1diff, order = 1, data = reldiff1_cp)
## Granger causality test
## 
## Model 1: relative1diff ~ Lags(relative1diff, 1:1) + Lags(cpenso.timeseries, 1:1)
## Model 2: relative1diff ~ Lags(relative1diff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.0313 0.8618
## Granger causality test
## 
## Model 1: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1) + Lags(relative1diff, 1:1)
## Model 2: cpenso.timeseries ~ Lags(cpenso.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.1313 0.7218

No significant result.

##Relative與WNP的滯後選擇 & Granger Causality Test

Relative差分與WNP差分

reldiff_wnpdiff <- cbind(relativediff, wnpdiff)
VARselect(y=na.omit(reldiff_wnpdiff), 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) 1.501655 1.548706 1.219419
## HQ(n)  1.530887 1.597425 1.287626
## SC(n)  1.795730 2.038831 1.905594
## FPE(n) 4.522761 4.876885 3.755785

AIC, BIC(SC) best at 1.

grangertest(relativediff ~ wnpdiff, order = 1, data = reldiff_wnpdiff)
grangertest(wnpdiff ~ relativediff, order = 1, data = reldiff_wnpdiff)
## Granger causality test
## 
## Model 1: relativediff ~ Lags(relativediff, 1:1) + Lags(wnpdiff, 1:1)
## Model 2: relativediff ~ Lags(relativediff, 1:1)
##   Res.Df Df     F Pr(>F)
## 1     16                
## 2     17 -1 0.049 0.8277
## Granger causality test
## 
## Model 1: wnpdiff ~ Lags(wnpdiff, 1:1) + Lags(relativediff, 1:1)
## Model 2: wnpdiff ~ Lags(wnpdiff, 1:1)
##   Res.Df Df      F   Pr(>F)   
## 1     16                      
## 2     17 -1 8.9926 0.008501 **
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Relative年間差 領先 WNP年間差 1年.

##Relative與Temp的滯後選擇 & Granger Causality Test

Relative差分與tempann差分

reldiff_tempanndiff <- cbind(relativediff, tempanndiff)
VARselect(y=na.omit(reldiff_tempanndiff), 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.281784  2.527749  2.524327
## HQ(n)  2.311016  2.576468  2.592534
## SC(n)  2.575860  3.017874  3.210502
## FPE(n) 9.867552 12.981817 13.848892

AIC, BIC(SC) best at 1.

grangertest(relativediff ~ tempanndiff, order = 1, data = reldiff_tempanndiff)
grangertest(tempanndiff ~ relativediff, order = 1, data = reldiff_tempanndiff)
## Granger causality test
## 
## Model 1: relativediff ~ Lags(relativediff, 1:1) + Lags(tempanndiff, 1:1)
## Model 2: relativediff ~ Lags(relativediff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.3677 0.5528
## Granger causality test
## 
## Model 1: tempanndiff ~ Lags(tempanndiff, 1:1) + Lags(relativediff, 1:1)
## Model 2: tempanndiff ~ Lags(tempanndiff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 1.7255 0.2075

No significant result.

##Relative與WNP的滯後選擇 & Granger Causality Test

Relative差分與Salinity

reldiff_salt <- cbind(salt.timeseries, relativediff)
VARselect(y=na.omit(reldiff_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)  3.304684  3.406447  3.600331
## HQ(n)   3.333916  3.455166  3.668538
## SC(n)   3.598760  3.896572  4.286507
## FPE(n) 27.444120 31.257131 40.617930

AIC, BIC(SC) best at 1.

grangertest(relativediff ~ salt.timeseries, order = 1, data = reldiff_salt)
grangertest(salt.timeseries ~ relativediff, order = 1, data = reldiff_salt)
## Granger causality test
## 
## Model 1: relativediff ~ Lags(relativediff, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: relativediff ~ Lags(relativediff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 1.0195 0.3277
## Granger causality test
## 
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(relativediff, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 1.9615 0.1804

No significant result.

Relative1差分與Salt

reldiff1_salt <- cbind(salt.timeseries, relative1diff)
VARselect(y=na.omit(reldiff1_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.479530  3.428275  3.588885
## HQ(n)   3.508762  3.476995  3.657092
## SC(n)   3.773606  3.918401  4.275060
## FPE(n) 32.687670 31.946941 40.155662

AIC best at 2, BIC(SC) best at 1.

grangertest(relative1diff ~ salt.timeseries, order = 1, data = reldiff1_salt)
grangertest(salt.timeseries ~ relative1diff, order = 1, data = reldiff1_salt)
grangertest(relative1diff ~ salt.timeseries, order = 2, data = reldiff1_salt)
grangertest(salt.timeseries ~ relative1diff, order = 2, data = reldiff1_salt)
## Granger causality test
## 
## Model 1: relative1diff ~ Lags(relative1diff, 1:1) + Lags(salt.timeseries, 1:1)
## Model 2: relative1diff ~ Lags(relative1diff, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.4396 0.5168
## Granger causality test
## 
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:1) + Lags(relative1diff, 1:1)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:1)
##   Res.Df Df      F Pr(>F)
## 1     16                 
## 2     17 -1 0.1373 0.7158
## Granger causality test
## 
## Model 1: relative1diff ~ Lags(relative1diff, 1:2) + Lags(salt.timeseries, 1:2)
## Model 2: relative1diff ~ Lags(relative1diff, 1:2)
##   Res.Df Df      F Pr(>F)
## 1     13                 
## 2     15 -2 0.6105 0.5579
## Granger causality test
## 
## Model 1: salt.timeseries ~ Lags(salt.timeseries, 1:2) + Lags(relative1diff, 1:2)
## Model 2: salt.timeseries ~ Lags(salt.timeseries, 1:2)
##   Res.Df Df      F Pr(>F)
## 1     13                 
## 2     15 -2 0.9658 0.4064

No significant result.

##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)
grangertest(tempann1diff ~ pmmann.timeseries, order = 2, data = tempdiff1_pmm)
grangertest(pmmann.timeseries ~ tempann1diff, order = 2, 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
## Granger causality test
## 
## Model 1: tempann1diff ~ Lags(tempann1diff, 1:2) + Lags(pmmann.timeseries, 1:2)
## Model 2: tempann1diff ~ Lags(tempann1diff, 1:2)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     19 -2 0.0811 0.9225
## Granger causality test
## 
## Model 1: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:2) + Lags(tempann1diff, 1:2)
## Model 2: pmmann.timeseries ~ Lags(pmmann.timeseries, 1:2)
##   Res.Df Df      F Pr(>F)
## 1     17                 
## 2     19 -2 0.6855 0.5172

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 一年