Entendiendo el MODELO ARIMA | Parte 1

El Modelo ARIMA (Autoregresivo Integrado de Media Móvil) es un tipo de modelo econométrico muy extendido para la predicción en series de tiempo. En este tutorial vamos a estudiar como se interpretan los resultados del modelo así como se relacionan con la formula teórica ayudándonos de Rstudio. Esta será la primera parte de la explicación que se dividirá en 2 clases

También abajo puedes copiar el código usado en el vídeo.

Codigo R del Video

#INTERPRETACION ARIMA

#video Proceso Autoregresivo (AR)


#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)
#install.packages(«forecast»)
library(forecast)
#install.packages(«TSA»)
library(TSA)
#install.packages(«Quandl»)
library(Quandl)
library(stats)
#install.packages(«lmtest»)
library(lmtest)


# INTERPRETACIÓN ARIMA :


# 3 COMPONENTES : AR – I- MA

#AR = Componente Autoregresivo
#I = Componente de Diferenciación. Número de veces que la serie debe ser diferenciada para hacerla estacionaria
#MA = Componente de Media Móvil

#(Termino AR) ( TERMINO MA)
#Y[t] = constante + b1*Y[t-1] + e[t] + theta * e[t-1]


# AR (AUTOREGRESIVO)

#Implica relación de un valor de una serie en un punto del tiempo
#con sus propios valores previos.Tal relación puede existir con cualquier orden de retraso(lag en inglés)

# Mirar ejemplo en la tabla antes de la ecuación

# INTERPRETACION DE LA ECUACION

# AR(1)

# Y(t)= c + b1*Y(t-1) + e(t) donde e(t) ruido blanco ~ N(0,s^2)

# AR(2) (como vimos en la tabla)

# Y(t)= c + b1*Y(t-1) + B2*Y(t-2) + e(t)


#IMPORTANTE: «c» dentro del Modelo

# c = mu * (1 – b1 ) donde mu es la media de Y

 

# Y(t)= mu * (1 – b1 ) + b1*Y(t-1) + e(t)
# «constante»


# de forma que al sustituir nos queda así

 

# y^[t] – mu = B1(Y[t-1]-mu) + e[t]


#y[t] = mu + (1 – B1) + b1*y[t-1] + e[t]

#Podremos ver el modelo escrito de 2 formas, pero interpretación es la misma

# 1. y^[t] – mu = B1(Y[t-1]-mu) + e[t]

# 2. Y(t)= c + b1*Y(t-1) + e(t)

#########################################

#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)
#install.packages(«forecast»)
library(forecast)
#install.packages(«TSA»)
library(TSA)
#install.packages(«Quandl»)
#library(Quandl)
library(stats)
#install.packages(«lmtest»)
library(lmtest)


## HACEMOS MODELO AR(1)


## PRECIOS DE LAS ACCIONES

acciones <- c(235,320,115,355,190,320,275,205,395,240,355,175,285,
200,290,220,400,275,185,370,255,285,250,300,225,285,
250,225,125,295,250,355,280,370,250,290,225,270,180,
270,240,275,225,285,250,310,220,320,215,260,190,295,
275,205,265,245,170,175,270,225,340,190,250,300,195)

plot(acciones,type=»l»)


adf.test(acciones) # test de raiz unitaria

#EL MODELO ARIMA PIDE QUE LAS SERIES SEAN ESTACIONARIAS

# REALIZAMOS UN MODELO AR(1) arima(1,0,0)

arima_acc <- arima(acciones,order=c(1,0,0))
arima_acc

#? ¿Cómo saca el ARIMA los coeficientes que vemos en el SUMARIO?
#method = c(«CSS-ML», «ML», «CSS»)


?arima

coeftest(arima_acc)

z_value1<- – 0.40472/ 0.11329
z_value1
zvalue<- 259.31594/4.88598

summary(arima_acc)


residuos<- arima_acc$residuals
betas = arima_acc$coef


coef_ar <-betas[1]
intercepto <- betas[2]

mean(acciones)

predict(arima_acc) # arima(1,0,0) serie acciones 285.3459

forecast(arima_acc)


#Calculo de los valores fijados reescribiendo ecuación


# Y(t)= mu * (1 – b1 ) + b1*Y(t-1) + e(t)

y_fijados = intercepto*(1- coef_ar) + coef_ar*lag(acciones,default=0)
y_fijados[1:64]



#Me falta poner el valor 1
fitted.values(arima_acc)

# Hacemos una Predicción para el periodo 66 con predict

predict(arima_acc)

# hacemos la predicción con la ecuación escrita
#t-1
Predicción_t66 <- intercepto*(1- coef_ar) + coef_ar*acciones[65]
Predicción_t66


### RECAPITULANDO

# Hemos visto la ecuación del Modelo AR, su interpretación
# y luego hemos comparado los resultados y predicción hechos por R
# con los resultados que a nosotros nos da en la ecuación escrita

# así como hemos apuntado los métodos por los que Arima de R busca los
#coeficientes

#############################

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio