Se determina el par de variables que mejor se adaptan para el modelo
por medio de la prueba de causalidad de granger.
series<-uschange
autoplot(uschange[,c(3,5)])

a <- VARselect(uschange[,c(3,5)], lag.max=15,type="const")
a$selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 10 2 2 10
modelo1<-VAR(uschange[,c(3,5)],p=10,type=c("const"))
GrangerIncome <-causality(modelo1, cause = 'Production')
GrangerIncome
## $Granger
##
## Granger causality H0: Production do not Granger-cause Unemployment
##
## data: VAR object modelo1
## F-Test = 2.346, df1 = 10, df2 = 312, p-value = 0.0111
##
##
## $Instant
##
## H0: No instantaneous causality between: Production and Unemployment
##
## data: VAR object modelo1
## Chi-squared = 59.945, df = 1, p-value = 9.77e-15
GrangerConsumptions <-causality(modelo1, cause = 'Unemployment')
GrangerConsumptions
## $Granger
##
## Granger causality H0: Unemployment do not Granger-cause Production
##
## data: VAR object modelo1
## F-Test = 3.0085, df1 = 10, df2 = 312, p-value = 0.001207
##
##
## $Instant
##
## H0: No instantaneous causality between: Unemployment and Production
##
## data: VAR object modelo1
## Chi-squared = 59.945, df = 1, p-value = 9.77e-15
Para las dos variables el pvalor es menor a 0.05 por lo tanto si son
adecuadas para el modelo.
serial.test(modelo1, lags.pt=10, type="PT.asymptotic")
##
## Portmanteau Test (asymptotic)
##
## data: Residuals of VAR object modelo1
## Chi-squared = 7.9607, df = 0, p-value < 2.2e-16
Se realiza la prueba de PortManteu y se determina que el modelo no
pasa la prueba de autocorrelación debido a que el pvalor es menor a
0.05
roots(modelo1)
## [1] 0.9173477 0.9074411 0.9074411 0.8857057 0.8857057 0.8839837 0.8839837
## [8] 0.8821400 0.8821400 0.8801347 0.8801347 0.8778165 0.8778165 0.8752188
## [15] 0.8752188 0.8702727 0.8527066 0.8527066 0.3942062 0.3942062
En cuanto a las raices unitarias el modelo cumple ya que tosas son
menores a 1
normality.test(modelo1, multivariate.only=FALSE)
## $Production
##
## JB-Test (univariate)
##
## data: Residual of Production equation
## Chi-squared = 23.285, df = 2, p-value = 8.783e-06
##
##
## $Unemployment
##
## JB-Test (univariate)
##
## data: Residual of Unemployment equation
## Chi-squared = 20.166, df = 2, p-value = 4.178e-05
##
##
## $JB
##
## JB-Test (multivariate)
##
## data: Residuals of VAR object modelo1
## Chi-squared = 27.34, df = 4, p-value = 1.697e-05
##
##
## $Skewness
##
## Skewness only (multivariate)
##
## data: Residuals of VAR object modelo1
## Chi-squared = 6.1498, df = 2, p-value = 0.0462
##
##
## $Kurtosis
##
## Kurtosis only (multivariate)
##
## data: Residuals of VAR object modelo1
## Chi-squared = 21.19, df = 2, p-value = 2.504e-05
El modelo cumple con la prueba de Jarque Bera ya que el pvalor es
menor a 0.05
stab<-stability(modelo1, type = "OLS-CUSUM")
par(mar=c(1,1,1,1))
plot(stab)

plot(IncomeIRF, ylab = "Production", main = "Shock desde Consumptions")

plot(ConsumptionIRF, ylab = "Unemployment", main = "Shock desde Income")

plot(FEVD1)

autoplot(forecast(modelo1))
