Una Serie de tiempo es una colección de
observaciones sobre un determinado fenómeno, efectuadas en momentos
sucesivos, usualmente esquiespaciados.
1. Precios de acciones.
2. Niveles de inventario.
3. Rotación de personal
4. Ventas.
5. PIB (GDP).
Más información: Libro R for Data Science(2e)
library(forecast)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
library(readxl)
Ejemplo Los siguentes datos de producción trimestral inician en el primer trimestre de 2020. Se busca pronosticar la producción de los siguentes 5 trimestres.
produccion <- c(50,54,55,57,55,60)
ts <- ts(data=produccion, start = c(2020,1), frequency = 4)
ts
## Qtr1 Qtr2 Qtr3 Qtr4
## 2020 50 54 55 57
## 2021 55 60
ARIMA significa AutoRegressive Integrated Moving Average o Modelo Autorregresivo Integrado de Promedio Móvil.
arima <- auto.arima(ts, D=1)
summary(arima)
## Series: ts
## ARIMA(0,0,0)(0,1,0)[4] with drift
##
## Coefficients:
## drift
## 1.3750
## s.e. 0.0884
##
## sigma^2 = 0.5102: log likelihood = -1.45
## AIC=6.9 AICc=-5.1 BIC=4.29
##
## Training set error measures:
## ME RMSE MAE MPE MAPE MASE
## Training set 0.03370832 0.2916137 0.200375 0.04987509 0.3529054 0.03643182
## ACF1
## Training set -0.5114898
pronostico <- forecast(arima, level =c(50), h=5)
pronostico
## Point Forecast Lo 50 Hi 50
## 2021 Q3 60.5 60.01821 60.98179
## 2021 Q4 62.5 62.01821 62.98179
## 2022 Q1 60.5 60.01821 60.98179
## 2022 Q2 65.5 65.01821 65.98179
## 2022 Q3 66.0 65.31864 66.68136
plot(pronostico)