Professional Documents
Culture Documents
5-Resp ARIMA y Eval
5-Resp ARIMA y Eval
Martin
…..
library(readr)
library(stats)
library(forecast)
library(tseries)
library(Metrics)
##
## Attaching package: 'Metrics'
# Cargando Datos
practica = read_csv("D:/algunas carpetas F/Curso finanzas/Materia por
Semanas/semana 1/practica.csv")
##
## -- Column specification
--------------------------------------------------------
## cols(
## IMAE = col_double()
## )
# Dividir en train-test
training=practica[1:175,] # generando training
test=practica[176:187,] # generando test
##
## Call:
## arima(x = xCox, order = c(0, 1, 0), seasonal = list(order = c(1, 0, 0),
period = 12))
##
## Coefficients:
## sar1
## 0.7871
## s.e. 0.0454
##
## sigma^2 estimated as 0.01513: log likelihood = 111.95, aic = -219.9
##
## Training set error measures:
## ME RMSE MAE MPE MAPE
MASE
## Training set 0.002707653 0.1226425 0.09311782 0.02010288 0.843083
0.6063995
## ACF1
## Training set -0.3178492
##
## ARIMA(0,0,0)(0,1,0)[12] : 29.98367
## ARIMA(0,0,0)(0,1,0)[12] with drift : -111.3348
## ARIMA(0,0,0)(0,1,1)[12] : -21.60281
## ARIMA(0,0,0)(0,1,1)[12] with drift : -109.2733
## ARIMA(0,0,0)(0,1,2)[12] : -34.65235
## ARIMA(0,0,0)(0,1,2)[12] with drift : Inf
## ARIMA(0,0,0)(1,1,0)[12] : -42.63709
## ARIMA(0,0,0)(1,1,0)[12] with drift : -109.2628
## ARIMA(0,0,0)(1,1,1)[12] : Inf
## ARIMA(0,0,0)(1,1,1)[12] with drift : -109.8139
## ARIMA(0,0,0)(1,1,2)[12] : Inf
## ARIMA(0,0,0)(1,1,2)[12] with drift : Inf
## ARIMA(0,0,0)(2,1,0)[12] : -41.44782
## ARIMA(0,0,0)(2,1,0)[12] with drift : -128.1099
## ARIMA(0,0,0)(2,1,1)[12] : Inf
## ARIMA(0,0,0)(2,1,1)[12] with drift : -160.9817
## ARIMA(0,0,0)(2,1,2)[12] : Inf
## ARIMA(0,0,0)(2,1,2)[12] with drift : Inf
## ARIMA(0,0,1)(0,1,0)[12] : -82.30971
## ARIMA(0,0,1)(0,1,0)[12] with drift : -177.6155
## ARIMA(0,0,1)(0,1,1)[12] : -96.80332
## ARIMA(0,0,1)(0,1,1)[12] with drift : -180.5318
## ARIMA(0,0,1)(0,1,2)[12] : -109.4356
## ARIMA(0,0,1)(0,1,2)[12] with drift : -200.6369
## ARIMA(0,0,1)(1,1,0)[12] : -107.1057
## ARIMA(0,0,1)(1,1,0)[12] with drift : -177.6228
## ARIMA(0,0,1)(1,1,1)[12] : Inf
## ARIMA(0,0,1)(1,1,1)[12] with drift : Inf
## ARIMA(0,0,1)(1,1,2)[12] : Inf
## ARIMA(0,0,1)(1,1,2)[12] with drift : -199.5708
## ARIMA(0,0,1)(2,1,0)[12] : -113.6258
## ARIMA(0,0,1)(2,1,0)[12] with drift : -182.7692
## ARIMA(0,0,1)(2,1,1)[12] : Inf
## ARIMA(0,0,1)(2,1,1)[12] with drift : -204.0796
## ARIMA(0,0,1)(2,1,2)[12] : Inf
## ARIMA(0,0,1)(2,1,2)[12] with drift : -212.7913
## ARIMA(0,0,2)(0,1,0)[12] : -131.9062
## ARIMA(0,0,2)(0,1,0)[12] with drift : -198.7782
## ARIMA(0,0,2)(0,1,1)[12] : -134.2701
## ARIMA(0,0,2)(0,1,1)[12] with drift : -206.6317
## ARIMA(0,0,2)(0,1,2)[12] : -145.2523
## ARIMA(0,0,2)(0,1,2)[12] with drift : -219.5309
## ARIMA(0,0,2)(1,1,0)[12] : -137.029
## ARIMA(0,0,2)(1,1,0)[12] with drift : -201.6382
## ARIMA(0,0,2)(1,1,1)[12] : Inf
## ARIMA(0,0,2)(1,1,1)[12] with drift : -218.5906
## ARIMA(0,0,2)(1,1,2)[12] : -143.0973
## ARIMA(0,0,2)(1,1,2)[12] with drift : -218.4311
## ARIMA(0,0,2)(2,1,0)[12] : -145.4753
## ARIMA(0,0,2)(2,1,0)[12] with drift : -203.4965
## ARIMA(0,0,2)(2,1,1)[12] : Inf
## ARIMA(0,0,2)(2,1,1)[12] with drift : -220.7895
## ARIMA(0,0,3)(0,1,0)[12] : -150.5087
## ARIMA(0,0,3)(0,1,0)[12] with drift : -202.6811
## ARIMA(0,0,3)(0,1,1)[12] : -148.6243
## ARIMA(0,0,3)(0,1,1)[12] with drift : -217.6299
## ARIMA(0,0,3)(0,1,2)[12] : -157.1707
## ARIMA(0,0,3)(0,1,2)[12] with drift : -225.8334
## ARIMA(0,0,3)(1,1,0)[12] : -148.7937
## ARIMA(0,0,3)(1,1,0)[12] with drift : -209.2158
## ARIMA(0,0,3)(1,1,1)[12] : Inf
## ARIMA(0,0,3)(1,1,1)[12] with drift : -225.5082
## ARIMA(0,0,3)(2,1,0)[12] : -156.6583
## ARIMA(0,0,3)(2,1,0)[12] with drift : -210.7701
## ARIMA(0,0,4)(0,1,0)[12] : -160.3169
## ARIMA(0,0,4)(0,1,0)[12] with drift : -206.7912
## ARIMA(0,0,4)(0,1,1)[12] : -158.1633
## ARIMA(0,0,4)(0,1,1)[12] with drift : -221.2316
## ARIMA(0,0,4)(1,1,0)[12] : -158.165
## ARIMA(0,0,4)(1,1,0)[12] with drift : -213.4277
## ARIMA(0,0,5)(0,1,0)[12] : -180.1829
## ARIMA(0,0,5)(0,1,0)[12] with drift : -214.584
## ARIMA(1,0,0)(0,1,0)[12] : -209.2736
## ARIMA(1,0,0)(0,1,0)[12] with drift : -222.6307
## ARIMA(1,0,0)(0,1,1)[12] : -224.6566
## ARIMA(1,0,0)(0,1,1)[12] with drift : -240.7665
## ARIMA(1,0,0)(0,1,2)[12] : -223.6201
## ARIMA(1,0,0)(0,1,2)[12] with drift : -243.507
## ARIMA(1,0,0)(1,1,0)[12] : -222.162
## ARIMA(1,0,0)(1,1,0)[12] with drift : -234.5759
## ARIMA(1,0,0)(1,1,1)[12] : -224.132
## ARIMA(1,0,0)(1,1,1)[12] with drift : -244.2459
## ARIMA(1,0,0)(1,1,2)[12] : -222.1428
## ARIMA(1,0,0)(1,1,2)[12] with drift : -242.1311
## ARIMA(1,0,0)(2,1,0)[12] : -220.7403
## ARIMA(1,0,0)(2,1,0)[12] with drift : -234.656
## ARIMA(1,0,0)(2,1,1)[12] : -218.6991
## ARIMA(1,0,0)(2,1,1)[12] with drift : -242.177
## ARIMA(1,0,0)(2,1,2)[12] : -220.4025
## ARIMA(1,0,0)(2,1,2)[12] with drift : -239.9074
## ARIMA(1,0,1)(0,1,0)[12] : -232.0444
## ARIMA(1,0,1)(0,1,0)[12] with drift : -233.3779
## ARIMA(1,0,1)(0,1,1)[12] : -250.7114
## ARIMA(1,0,1)(0,1,1)[12] with drift : -254.041
## ARIMA(1,0,1)(0,1,2)[12] : Inf
## ARIMA(1,0,1)(0,1,2)[12] with drift : -255.1118
## ARIMA(1,0,1)(1,1,0)[12] : -245.2099
## ARIMA(1,0,1)(1,1,0)[12] with drift : -246.9432
## ARIMA(1,0,1)(1,1,1)[12] : Inf
## ARIMA(1,0,1)(1,1,1)[12] with drift : -255.6026
## ARIMA(1,0,1)(1,1,2)[12] : Inf
## ARIMA(1,0,1)(1,1,2)[12] with drift : -253.4192
## ARIMA(1,0,1)(2,1,0)[12] : -246.0623
## ARIMA(1,0,1)(2,1,0)[12] with drift : -248.5062
## ARIMA(1,0,1)(2,1,1)[12] : Inf
## ARIMA(1,0,1)(2,1,1)[12] with drift : -253.4196
## ARIMA(1,0,2)(0,1,0)[12] : -233.6359
## ARIMA(1,0,2)(0,1,0)[12] with drift : -234.5089
## ARIMA(1,0,2)(0,1,1)[12] : Inf
## ARIMA(1,0,2)(0,1,1)[12] with drift : -253.0832
## ARIMA(1,0,2)(0,1,2)[12] : Inf
## ARIMA(1,0,2)(0,1,2)[12] with drift : -254.3202
## ARIMA(1,0,2)(1,1,0)[12] : -245.7467
## ARIMA(1,0,2)(1,1,0)[12] with drift : -246.9299
## ARIMA(1,0,2)(1,1,1)[12] : Inf
## ARIMA(1,0,2)(1,1,1)[12] with drift : -254.959
## ARIMA(1,0,2)(2,1,0)[12] : -245.873
## ARIMA(1,0,2)(2,1,0)[12] with drift : -247.7405
## ARIMA(1,0,3)(0,1,0)[12] : -232.0318
## ARIMA(1,0,3)(0,1,0)[12] with drift : -232.942
## ARIMA(1,0,3)(0,1,1)[12] : Inf
## ARIMA(1,0,3)(0,1,1)[12] with drift : -250.9901
## ARIMA(1,0,3)(1,1,0)[12] : -243.8153
## ARIMA(1,0,3)(1,1,0)[12] with drift : -245.053
## ARIMA(1,0,4)(0,1,0)[12] : -235.2976
## ARIMA(1,0,4)(0,1,0)[12] with drift : -236.4874
## ARIMA(2,0,0)(0,1,0)[12] : -218.0839
## ARIMA(2,0,0)(0,1,0)[12] with drift : -225.755
## ARIMA(2,0,0)(0,1,1)[12] : -239.6785
## ARIMA(2,0,0)(0,1,1)[12] with drift : -248.3733
## ARIMA(2,0,0)(0,1,2)[12] : -239.2293
## ARIMA(2,0,0)(0,1,2)[12] with drift : -249.8812
## ARIMA(2,0,0)(1,1,0)[12] : -233.7308
## ARIMA(2,0,0)(1,1,0)[12] with drift : -240.1877
## ARIMA(2,0,0)(1,1,1)[12] : -239.5401
## ARIMA(2,0,0)(1,1,1)[12] with drift : -250.3228
## ARIMA(2,0,0)(1,1,2)[12] : -237.4244
## ARIMA(2,0,0)(1,1,2)[12] with drift : -248.1443
## ARIMA(2,0,0)(2,1,0)[12] : -234.1946
## ARIMA(2,0,0)(2,1,0)[12] with drift : -241.5296
## ARIMA(2,0,0)(2,1,1)[12] : -237.4636
## ARIMA(2,0,0)(2,1,1)[12] with drift : -248.1494
## ARIMA(2,0,1)(0,1,0)[12] : -232.7264
## ARIMA(2,0,1)(0,1,0)[12] with drift : -233.6547
## ARIMA(2,0,1)(0,1,1)[12] : Inf
## ARIMA(2,0,1)(0,1,1)[12] with drift : -252.9098
## ARIMA(2,0,1)(0,1,2)[12] : Inf
## ARIMA(2,0,1)(0,1,2)[12] with drift : -254.1663
## ARIMA(2,0,1)(1,1,0)[12] : -245.228
## ARIMA(2,0,1)(1,1,0)[12] with drift : -246.4628
## ARIMA(2,0,1)(1,1,1)[12] : Inf
## ARIMA(2,0,1)(1,1,1)[12] with drift : -254.7749
## ARIMA(2,0,1)(2,1,0)[12] : -245.5151
## ARIMA(2,0,1)(2,1,0)[12] with drift : -247.4404
## ARIMA(2,0,2)(0,1,0)[12] : -231.3879
## ARIMA(2,0,2)(0,1,0)[12] with drift : -232.4906
## ARIMA(2,0,2)(0,1,1)[12] : -247.7565
## ARIMA(2,0,2)(0,1,1)[12] with drift : -250.9247
## ARIMA(2,0,2)(1,1,0)[12] : -243.6585
## ARIMA(2,0,2)(1,1,0)[12] with drift : -244.8327
## ARIMA(2,0,3)(0,1,0)[12] : -230.9422
## ARIMA(2,0,3)(0,1,0)[12] with drift : -230.1834
## ARIMA(3,0,0)(0,1,0)[12] : -225.4494
## ARIMA(3,0,0)(0,1,0)[12] with drift : -229.6626
## ARIMA(3,0,0)(0,1,1)[12] : -244.8572
## ARIMA(3,0,0)(0,1,1)[12] with drift : -250.3687
## ARIMA(3,0,0)(0,1,2)[12] : -244.3698
## ARIMA(3,0,0)(0,1,2)[12] with drift : -251.3749
## ARIMA(3,0,0)(1,1,0)[12] : -239.687
## ARIMA(3,0,0)(1,1,0)[12] with drift : -243.4164
## ARIMA(3,0,0)(1,1,1)[12] : -244.7503
## ARIMA(3,0,0)(1,1,1)[12] with drift : -251.8776
## ARIMA(3,0,0)(2,1,0)[12] : -240.3557
## ARIMA(3,0,0)(2,1,0)[12] with drift : -244.8233
## ARIMA(3,0,1)(0,1,0)[12] : -233.2258
## ARIMA(3,0,1)(0,1,0)[12] with drift : -234.0264
## ARIMA(3,0,1)(0,1,1)[12] : -248.6302
## ARIMA(3,0,1)(0,1,1)[12] with drift : -251.1691
## ARIMA(3,0,1)(1,1,0)[12] : -244.3963
## ARIMA(3,0,1)(1,1,0)[12] with drift : -245.5479
## ARIMA(3,0,2)(0,1,0)[12] : -230.5815
## ARIMA(3,0,2)(0,1,0)[12] with drift : -243.2165
## ARIMA(4,0,0)(0,1,0)[12] : -234.0279
## ARIMA(4,0,0)(0,1,0)[12] with drift : -235.6357
## ARIMA(4,0,0)(0,1,1)[12] : -248.3071
## ARIMA(4,0,0)(0,1,1)[12] with drift : -251.4439
## ARIMA(4,0,0)(1,1,0)[12] : -244.6635
## ARIMA(4,0,0)(1,1,0)[12] with drift : -246.3816
## ARIMA(4,0,1)(0,1,0)[12] : -233.9244
## ARIMA(4,0,1)(0,1,0)[12] with drift : -234.62
## ARIMA(5,0,0)(0,1,0)[12] : -234.183
## ARIMA(5,0,0)(0,1,0)[12] with drift : -234.9559
##
##
##
## Best model: ARIMA(1,0,1)(1,1,1)[12] with drift
modelo2
## Series: xCox
## ARIMA(1,0,1)(1,1,1)[12] with drift
##
## Coefficients:
## ar1 ma1 sar1 sma1 drift
## 0.9194 -0.4615 0.2917 -0.7395 0.0168
## s.e. 0.0427 0.1002 0.1388 0.1090 0.0019
##
## sigma^2 estimated as 0.01129: log likelihood=134.07
## AIC=-256.14 AICc=-255.6 BIC=-237.58
Punto 2. Aná lisis de Residuos. Los resultados del primer modelo muestran que debe
mejorarse. Los residuos se distribuyen de manera aleatoria, pero se observan residuos
cercanos o mayores a 3 y cercanos o menores a -3. Ademá s, se observa que los residuos
está n correlacionados con el rezago anterior, por lo cual el modelo se debe mejorar. A lo
mejor agregando un componente en el rezago 1 se logra un modelo con mejores resultados.
Con el modelo auto.arima los residuos cercanos a -3 y 3 desaparecen, pero ahora los
residuos muestran una correlació n significativa con los residuos rezagados en el periodo
14. Se podría hacer algú n esfuerzo por mejorar ese modelo antes de proceder a las pruebas
de test, aunque ya este modelo representa una mejora con respecto al primero.
# Análisis de modelo 1
library(TSA) # cargar libreria para generar residuos estandarizados
##
## Attaching package: 'TSA'
# Análisis de modelo 2
checkresiduals(modelo2) # gráficos para análisis de residuos
##
## Ljung-Box test
##
## data: Residuals from ARIMA(1,0,1)(1,1,1)[12] with drift
## Q* = 28.901, df = 19, p-value = 0.06756
##
## Model df: 5. Total lags used: 24
## [1] 5.403639
mape(forecast1_final, x2)
## [1] 0.02815035
## [1] 3.234
mape(forecast2_final, x2)
## [1] 0.01688325
modelo2
## Series: xCox
## ARIMA(1,0,1)(1,1,1)[12] with drift
##
## Coefficients:
## ar1 ma1 sar1 sma1 drift
## 0.9194 -0.4615 0.2917 -0.7395 0.0168
## s.e. 0.0427 0.1002 0.1388 0.1090 0.0019
##
## sigma^2 estimated as 0.01129: log likelihood=134.07
## AIC=-256.14 AICc=-255.6 BIC=-237.58
Punto 4.
xCox3 = BoxCox(x3, lambda=lam)
modeloFinal = arima(xCox3, order = c(1, 0, 1), seasonal = list(order =
c(1,1,1), period = 12)) # Arima Definiendo el modelo
forecastFinal=predict(modeloFinal,n.ahead=12) # Para predecir a futuro en 4
periodos
InvBoxCox(forecastFinal$pred, lambda=lam) # Quitando efecto de transformación