He intentado ajustar un modelo VAR para dos estacionario series temporales dlogsl_ts
y dlogllc_ts
(comprobado mediante la prueba PP y la prueba ADF), los datos mensuales del caudal del río. De:
VARselect(dlogdata, lag.max=10) # SC(3)
Parece que podría intentar ajustar el modelo con un desfase de 3. En general, mi modelo parece bueno:
dlogllc_ts = dlogsl_ts.l1 + dlogllc_ts.l1 + dlogsl_ts.l2 + dlogllc_ts.l2 + dlogsl_ts.l3 +
dlogllc_ts.l3
Estimate Std. Error t value Pr(>|t|)
dlogsl_ts.l1 -0.21404 0.06660 -3.214 0.001387 **
dlogllc_ts.l1 1.27827 0.05459 23.417 < 2e-16 ***
dlogsl_ts.l2 0.32462 0.09590 3.385 0.000762 ***
dlogllc_ts.l2 -0.61543 0.07962 -7.729 5.11e-14 ***
dlogsl_ts.l3 -0.19386 0.06617 -2.930 0.003529 **
dlogllc_ts.l3 0.20707 0.05516 3.754 0.000193 ***
Residual standard error: 0.3493 on 555 degrees of freedom
Multiple R-Squared: 0.7601, Adjusted R-squared: 0.7575
F-statistic: 293.1 on 6 and 555 DF, p-value: < 2.2e-16
Covariance matrix of residuals:
dlogsl_ts dlogllc_ts
dlogsl_ts 0.08150 0.06342
dlogllc_ts 0.06342 0.12197
Correlation matrix of residuals:
dlogsl_ts dlogllc_ts
dlogsl_ts 1.0000 0.6361
dlogllc_ts 0.6361 1.0000
Sin embargo, al observar los residuos también parece que el modelo no está validado:
Mi código:
fit_var1 <- VAR(dlogdata,type="none",p=3)
var1_residuals <- resid(fit_var1)
var1_residuals
acf(var1_residuals)
par(mfrow=c(2,2))
acf(var1_residuals[,1])
acf(var1_residuals[,2])
ccf(var1_residuals[,1],var1_residuals[,2])
¿Puede alguien decirme por qué tengo esta correlación residual significativa en el lag 12? También ocurre con otros modelos que he intentado ajustar. Ya he intentado eliminar la estacionalidad al principio:
dlogsl_ts <- diff(log(sl_ts), lag = 12)
dlogllc_ts <- diff(log(llc_ts), lag = 12)
Si simplemente utilizo un VAR(12), la estructura residual no cambiaría mucho:
Apenas cambia la estructura residual. Por supuesto, es inútil modelar un VAR de tan alto orden, pero sólo para demostrar aquí la "terquedad" de la correlación residual.