- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
- ¿Qué es el RUIDO BLANCO ? Econometría en R - junio 21, 2023
Los Vectores Autoregresivos(VAR) son un tipo de modelo econométrico muy conocido de carácter multivariante, que son una extensión de los modelos autoregresivos univariantes como los ARIMA. La particularidad que tenemos en este tipo de modelos es que lo que haremos es considerar las relaciones existentes entre las variables de manera que no tendremos una variable dependiente y otras independientes, sino que todas las consideraremos en igualdad de condiciones.
De esta forma crearemos un sistema de ecuaciones para sacar los parámetros. En el tutorial de más abajo veremos estos modelos utilizando Rstudio. La idea de este video no es tanto coger unas cuantas series de datos y directamente realizar el modelo VAR. SI no lo que haremos será hacer simulaciones en base a un modelo dado y entender las ecuaciones teóricas sobre las que el modelo trabaja.
Bajo el vídeo tienes también el código en R .
CÓDIGO EN R
#MODELOS VAR VIDEO SIM
#PASOS A SEGUIR
#1. Establecer el lag polinomial A(L)
#2.Fijamos la matriz identidad
#3 Fijamos el termino constante
#4 creamos un modelo VAR 2 con ARMA y los datos anteriores
#5 simulanos "x" valores con el modelo
#6 Graficos y otras comprobaciones
#install.packages("quantmod")
library(quantmod)
#install.packages("tseries")
library(tseries)
#install.packages("fImport")
library(fImport)
#♠Paquetes necesarios
install.packages("dse")
library ( dse)
install.packages("vars")
library ( vars )
#1. Establecer el lag polinomial A(L)
Apoly <- array (c(1.0 , -0.5, 0.3 , 0, 0.2 , 0.1 , 0, -0.2,
0.7 , 1, 0.5 , -0.3),
c (3 , 2, 2))
Apoly
#2.Fijamos la matriz identidad
B <- diag(2)
B
#3 Fijamos el termino constante
const <- c(5,10)
const
#4 creamos un modelo VAR 2 con ARMA y los datos anteriores
var2 <- ARMA(A = Apoly , B = B, TREND = const)
var2
#5 simulanos "x" valores con el modelo
varsim <- simulate ( var2 , sampleT = 500,
noise = list(w = matrix ( rnorm (1000) ,
nrow = 500 , ncol = 2) ) , rng = list( seed = c (123456)))
varsim
### creacion var con las simulaciones
#6 Graficos y otras comprobaciones
#obtenemos las series generadas
var2_datos<- matrix(varsim$output , nrow = 500 , ncol = 2)
colnames(var2_datos)<-c("y1","y2")
# GRAFICO DE LAS SIMULACIONES
plot.ts(var2_datos)
#Determinar un lag-order apropiado
infocrit <- VARselect(var2_datos,lag.max = 3,type= "const")
infocrit
#ESTIMAMOS EL MODELO
var2_prueba <- VAR(var2_datos,p=2,type="const",season=NULL,exogen=NULL)
var2_prueba
# estimacion del modelo estableciendo SC por ejemplo
varsimtest <- VAR(var2_datos,p=2,type="const",lag.max=3,ic="SC")
varsimtest