27 de noviembre de 2017

SERIES DE TIEMPO UNA MIRADA A LOS PRONOSTICOS

Notas sobre Pronósticos

Los pronósticos se utilizan en forma constante en diversos campos: economÍa, finanzas, mercadeo, medio ambiente, ingeniería. Una finalidad es proveer una guÍa para las decisiones que deben tomarse. Algunos ejemplos en estos campos pueden ser los siguientes.
1. Planeación y Control de Operaciones. Por ejemplo, las decisiones de producción de un artículo con base en los pronósticos de ventas. Es posible por ejemplo, detectar una disminucIÓon en la tendencia de ventas que conlleve a reducir la producción, o al contrario.
2. En Mercadeo la decisión de invertir en publicidad puede depender de pronósticos de ventas.

Notas sobre Pronósticos

  1. En Economía. Las decisiones del Banco Central, por ejemplo para el control de la inflación, requieren el pronóstico y el examen del comportamiento de ciertas variables macroeconómicas, como el PIB, la tasa de desempleo, el IPC, las tasas de interés a distintos plazos, activas y pasivas.
  2. En Economía los pronósticos sobre ciclos econ ómicos de recesión y expansión para guía de aumento o disminución de las tasas interbancarias.
  3. En Planeación. Los pronósticos de demanda de viviendas, en los diferentes rangos, para orientar políticas de uso del suelo.

Notas sobre Pronósticos

  1. En Planeación. Los pronósticos de gastos sirven para definir los presupuestos futuros.
  2. En Planeación. Los pronósticos de evolución de casos de enfermedades contingencias de salud. Aunque en casos como epidemias los modelos son series no lineales.
  3. En Planeación. El pronóstico de consumo de energía eléctrica domiciliaria es fundamental para las decisiones de generación.
  4. En Turismo. El pronósticos de número de turistas mensuales para determinar la demanda hotelera.
  5. En EpidemiologÍa y Medio ambiente. La vigilancia de los niveles de contaminantes en el aire tiene como herramienta fundamental las series de tiempo. Pero adicionalmente el efecto de estos niveles sobre la salud.

EJEMPLO DE PROYECCIÓN

Se procederá al pronóstico del conusmo de leche

PROCESO DE ESTRACCION , PROCESAMIENTO Y PRONOSTICO

carga de librerias

library(mFilter)
library(astsa)
library(forecast)
library(tseries)
library(CombMSC)
library(foreign)
library(sarima)
library(snow)
series_practica_comodities <- read.csv("series_practica_comodities_1.csv", 
                                       sep=";",dec = ",")

Vista de series

series_practica_comodities
##      daten i_commodities
## 1   ene-08        162.48
## 2   feb-08        171.41
## 3   mar-08        182.32
## 4   abr-08        189.76
## 5   may-08        204.08
## 6   jun-08        215.73
## 7   jul-08        220.03
## 8   ago-08        196.15
## 9   sep-08        176.61
## 10  oct-08        139.42
## 11  nov-08        115.02
## 12  dic-08         98.18
## 13  ene-09        102.53
## 14  feb-09         98.21
## 15  mar-09        100.15
## 16  abr-09        104.09
## 17  may-09        114.86
## 18  jun-09        128.30
## 19  jul-09        123.47
## 20  ago-09        132.94
## 21  sep-09        127.60
## 22  oct-09        134.80
## 23  nov-09        140.78
## 24  dic-09        140.69
## 25  ene-10        145.91
## 26  feb-10        142.28
## 27  mar-10        148.80
## 28  abr-10        157.87
## 29  may-10        146.70
## 30  jun-10        143.67
## 31  jul-10        144.29
## 32  ago-10        148.62
## 33  sep-10        150.37
## 34  oct-10        159.61
## 35  nov-10        164.92
## 36  dic-10        174.79
## 37  ene-11        182.40
## 38  feb-11        190.07
## 39  mar-11        199.91
## 40  abr-11        210.37
## 41  may-11        199.71
## 42  jun-11        196.29
## 43  jul-11        199.08
## 44  ago-11        190.72
## 45  sep-11        188.81
## 46  oct-11        183.03
## 47  nov-11        186.35
## 48  dic-11        184.10
## 49  ene-12        188.47
## 50  feb-12        195.88
## 51  mar-12        201.88
## 52  abr-12        197.47
## 53  may-12        185.29
## 54  jun-12        170.06
## 55  jul-12        177.98
## 56  ago-12        185.47
## 57  sep-12        187.16
## 58  oct-12        183.20
## 59  nov-12        180.53
## 60  dic-12        182.27
## 61  ene-13        187.45
## 62  feb-13        190.63
## 63  mar-13        183.75
## 64  abr-13        178.91
## 65  may-13        179.49
## 66  jun-13        179.16
## 67  jul-13        183.59
## 68  ago-13        185.83
## 69  sep-13        185.15
## 70  oct-13        182.18
## 71  nov-13        179.60
## 72  dic-13        183.93
## 73  ene-14        180.06
## 74  feb-14        183.25
## 75  mar-14        183.14
## 76  abr-14        184.67
## 77  may-14        184.27
## 78  jun-14        185.21
## 79  jul-14        181.31
## 80  ago-14        175.30
## 81  sep-14        168.58
## 82  oct-14        157.63
## 83  nov-14        148.49
## 84  dic-14        130.87
## 85  ene-15        114.78
## 86  feb-15        121.12
## 87  mar-15        117.27
## 88  abr-15        119.57
## 89  may-15        124.89
## 90  jun-15        122.84
## 91  jul-15        114.84
## 92  ago-15        104.31
## 93  sep-15        103.61
## 94  oct-15        103.54
## 95  nov-15         97.48
## 96  dic-15         90.84
## 97  ene-16         83.22
## 98  feb-16         83.98
## 99  mar-16         92.38
## 100 abr-16         96.44
## 101 may-16        102.23
## 102 jun-16        105.52
## 103 jul-16        102.82
## 104 ago-16        102.76
## 105 sep-16        102.49
## 106 oct-16        108.18
## 107 nov-16        106.58
## 108 dic-16        114.37
## 109 ene-17        118.17
## 110 feb-17        118.62
## 111 mar-17        113.31
## 112 abr-17        113.23
## 113 may-17        110.59
## 114 jun-17        106.84

Transformacion a serie temporal

d=dim(series_practica_comodities)
icom=ts(series_practica_comodities[24:104,2],start=c(2010,1),
        frequency=12)# dos opciones toda la serie [.2)] parte de la serie 10:100
plot(icom)

Pruebas

icom_com=decompose(icom,type = "additive")
plot(icom_com)

Identificacion del modelo

mod1=arima(icom, order = c(1,1,1))
mod1
## 
## Call:
## arima(x = icom, order = c(1, 1, 1))
## 
## Coefficients:
##          ar1     ma1
##       0.2278  0.1956
## s.e.  0.2882  0.2966
## 
## sigma^2 estimated as 35.46:  log likelihood = -256.34,  aic = 518.69
mod2=arima(icom, order = c(1,1,0))
mod2
## 
## Call:
## arima(x = icom, order = c(1, 1, 0))
## 
## Coefficients:
##          ar1
##       0.3920
## s.e.  0.1022
## 
## sigma^2 estimated as 35.65:  log likelihood = -256.55,  aic = 517.11
mod3=arima(icom, order = c(0,1,1))
mod3
## 
## Call:
## arima(x = icom, order = c(0, 1, 1))
## 
## Coefficients:
##          ma1
##       0.3972
## s.e.  0.0980
## 
## sigma^2 estimated as 35.72:  log likelihood = -256.63,  aic = 517.26

Residuos

acf(residuals(mod2))

pacf(residuals(mod2))

acf(residuals(mod3))

pacf(residuals(mod3))

Prueba autocorrelacion

r2<-resid(mod2)^2
r2
##               Jan          Feb          Mar          Apr          May
## 2010 1.979365e-02 2.306171e+01 3.221699e+01 6.308798e+01 4.243816e+01
## 2011 6.066420e+01 1.399815e+01 2.197010e+01 4.669960e+01 4.360185e+01
## 2012 1.261165e+01 2.758242e+01 3.245763e+01 9.582853e+00 4.572094e+01
## 2013 7.764683e+00 2.023200e+01 1.321756e+00 6.603862e+01 4.593967e+00
## 2014 2.852887e+01 3.099330e+01 2.215456e+01 1.850509e+00 2.474691e+00
## 2015 1.970525e+02 8.434153e+01 1.599351e+02 4.013210e+01 1.450867e+01
## 2016 1.818815e+01 2.517454e+01 1.403770e+01 6.564426e+01 5.891846e-01
##               Jun          Jul          Aug          Sep          Oct
## 2010 2.168264e+02 1.817454e+00 3.267496e+00 1.670347e+01 2.791826e-03
## 2011 2.178529e+02 5.749176e-01 1.706090e+01 8.936966e+01 1.867973e+00
## 2012 1.092335e+02 1.093279e+02 1.929172e+02 1.923455e+01 1.551863e+00
## 2013 6.135821e+00 3.106206e-01 2.078763e+01 2.536556e-01 2.427295e+00
## 2014 9.993804e-01 1.202930e+00 1.821956e+01 2.008275e+01 1.904759e+01
## 2015 1.952319e+01 1.709985e+01 5.178952e+01 5.467664e+01 1.174624e+01
## 2016 1.762879e+01 1.041593e+00 1.591635e+01 9.965564e-01             
##               Nov          Dec
## 2010 7.317228e+01 2.850499e+00
## 2011 2.531466e+01 3.119777e+01
## 2012 2.136661e+01 1.249613e+00
## 2013 7.308756e+00 2.004760e+00
## 2014 6.915697e+01 2.350407e+01
## 2015 4.176629e-02 3.639182e+01
## 2016

Grafica

acf((r2))

Prediccion Predict

proye_1 <- predict(mod2, n.ahead=12)
proye_1
## $pred
##           Jan      Feb      Mar      Apr      May      Jun      Jul
## 2016                                                               
## 2017 102.7222 102.7217 102.7215 102.7214 102.7213 102.7213 102.7213
##           Aug      Sep      Oct      Nov      Dec
## 2016                   102.7365 102.7273 102.7237
## 2017 102.7213 102.7213                           
## 
## $se
##            Jan       Feb       Mar       Apr       May       Jun       Jul
## 2016                                                                      
## 2017 16.788139 19.403619 21.731018 23.841099 25.782268 27.588368 29.283720
##            Aug       Sep       Oct       Nov       Dec
## 2016                      5.971082 10.233983 13.780608
## 2017 30.886317 32.409826
U <- proye_1$pred + 2*proye_1$se # el 2 es nivel de confinaza por el error estandar
L <- proye_1$pred - 2*proye_1$se # el 2 es nivel de confinaza por el error estandar
ts.plot(icom, proye_1$pred, U, L, col=c(1,2,4,4), lty = c(1,1,2,2))