Code
Time Series:
Start = 1
End = 5
Frequency = 1
[1] NA 190.0 287.5 383.0 427.5
Departamento de Economía
2024-08-12
Este método usa el promedio aritmético de los \(n\) valores de datos en la serie para pronosticar los valores futuros. \[\textrm{Promedio Móvil}=\frac{\sum \limits_{i=1}^{n}\left ( X_{i} \right )}{k}\] Donde:
\[\left\{\begin{matrix} k=&\textrm{móvil definido} \\ X_{i}=& \textrm{valores de la serie} \end{matrix}\right.\]
Semana | Ventas |
---|---|
1 | 150 mill |
2 | 230 mill |
3 | 345 mill |
4 | 421 mill |
5 | 434 mill |
… | … |
Semana | Ventas | Movil K=2 |
---|---|---|
1 | 150 mill | |
2 | 230 mill | |
3 | 345 mill | 190 mill |
4 | 421 mill | 287 mill |
5 | 434 mill | 383 mill |
… | … | 427 mill |
… | … | … |
K movil 4
Si tiene un k=4 periodos \(\Rightarrow\)
\[y_{T|t+h}=\frac{y_{t-1}+y_{t}+y_{t+1}+y_{t+2}}{4}\]
K movil 6
Si tiene un k=6 periodos \(\Rightarrow\) \[y_{T|t+h}=\frac{y_{t-3}+y_{t-2}+y_{t-1}+y_{t}+y_{t+1}+y_{t+2}}{6}\]
prueba pr_ma01 pr_ma02 pr_ma03 pr_ma04
1 150 150 190.0 NA NA
2 230 230 287.5 241.6667 286.5
3 345 345 383.0 332.0000 357.5
4 421 421 427.5 400.0000 NA
5 434 434 NA NA NA
prueba prma01 prma02 prma03 prma04
1 150 150 190.0 NA NA
2 230 230 287.5 241.6667 286.5
3 345 345 383.0 332.0000 357.5
4 421 421 427.5 400.0000 NA
5 434 434 NA NA NA
Semanas | Yt |
---|---|
1 | 150 |
2 | 230 |
3 | 345 |
4 | 421 |
5 | 434 |
6 | 423 |
7 | 425 |
8 | 430 |
Semanas | Yt | Mt |
---|---|---|
1 | 150 | |
2 | 230 | |
3 | 345 | 190 |
4 | 421 | 287.5 |
5 | 434 | 383 |
6 | 423 | 427.5 |
7 | 425 | 428.5 |
8 | 430 | 424 |
Semanas | Yt | Mt | M’t |
---|---|---|---|
1 | 150 | ||
2 | 230 | ||
3 | 345 | 190 | |
4 | 421 | 287.5 | 238.75 |
5 | 434 | 383 | 335.25 |
6 | 423 | 427.5 | 405.25 |
7 | 425 | 428.5 | 428 |
8 | 430 | 424 | 426.25 |
Semanas | Yt | Mt | M’t | at |
---|---|---|---|---|
1 | 150 | |||
2 | 230 | |||
3 | 345 | 190 | ||
4 | 421 | 287.5 | 238.75 | 336.25 |
5 | 434 | 383 | 335.25 | 430.75 |
6 | 423 | 427.5 | 405.25 | 449.75 |
7 | 425 | 428.5 | 428 | 429 |
8 | 430 | 424 | 426.25 | 421.75 |
Semanas | Yt | Mt | M’t | at | bt |
---|---|---|---|---|---|
1 | 150 | ||||
2 | 230 | ||||
3 | 345 | 190 | |||
4 | 421 | 287.5 | 238.75 | 336.25 | 336.25 |
5 | 434 | 383 | 335.25 | 430.75 | 430.75 |
6 | 423 | 427.5 | 405.25 | 449.75 | 449.75 |
7 | 425 | 428.5 | 428 | 429 | 429 |
8 | 430 | 424 | 426.25 | 421.75 | 421.75 |
Semanas | Yt | Mt | M’t | at | bt | Yt+p |
---|---|---|---|---|---|---|
1 | 150 | |||||
2 | 230 | |||||
3 | 345 | 190 | ||||
4 | 421 | 287.5 | 238.75 | 336.25 | 336.25 | |
5 | 434 | 383 | 335.25 | 430.75 | 430.75 | 672.5 |
6 | 423 | 427.5 | 405.25 | 449.75 | 449.75 | 861.5 |
7 | 425 | 428.5 | 428 | 429 | 429 | 899.5 |
8 | 430 | 424 | 426.25 | 421.75 | 421.75 | 858 |
9 | 843.5 |
Su formula se consolida como
Media Movil Doble
Utiliza ya las medias móviles obtenidas y las promedia nuevamente.
\[\begin{gather*} Y_{t+p} =a_{t} +b_{t} p\\ Donde:\ \\ a_{t} =2M_{t} -M'_{t}\\ b_{t} =\frac{2}{k-1}( M_{t} -M'_{t})\\ p=Periodos\ a\ pronosticar \end{gather*}\]
Esta media viene a consolidarse como
Media movil doble implicita
El promedio del promedio de la media movil. P.e: \[y_t=\frac{1}{2}\left[\frac{y_{t-1}+y_{t}+y_{t+1}}{3}\right]+\frac{1}{2}\left[\frac{y_{t}+y_{t-1}+y_{t-2}}{3}\right]\]
prueba pr2ma01 pr2ma02 pr2ma03 pr2ma04
1 150 150 NA NA NA
2 230 230 238.75 241.6667 NA
3 345 345 335.25 332.0000 322
4 421 421 405.25 400.0000 NA
5 434 434 NA NA NA
Movil Ponderado
Este método usa también el promedio aritmético de los \(n\) valores de datos en la serie solo que pondera cada una de las observaciones y le da un mayor peso al elemento mas reciente y menor al mas antiguo.
\[\textrm{Móvil ponderado}=\sum \limits_{i=1}^{n} X_{i} \left ( P_{i} \right ) \quad \left\{\begin{matrix} X_{i}= \textrm{valores de la serie}\\ P_{i}= \left \{ 0 \leq P_{i} \leq 1 \right \} \end{matrix}\right.\]
Suavizado Exponencial
Este método también le llaman suavización exponencial. Suele ser un caso especial de los no paramétricos y se le da un peso especifico \(\alpha\) para la observación mas reciente.
\[ F_{t+1}=\alpha Y_{t} +(1-\alpha)F_{t}\] Donde:
\(F_{t+1}\) es el pronostico de la serie para el siguiente (t); \(Y_{t}\) es el valor de la serie. \(F_{t}\) es el pronostico para el periodo (t) y \(\alpha\) el valor o constante de suavización que \(\left ( 0 \leq \alpha \leq 1 \right)\)
El modelo puede ser descrito como el pronostico para el periodo t=2:
\[\begin{align*} F_{2} &= \alpha Y_{1}+ \left ( 1- \alpha \right)F_{1} \\ &= \alpha Y_{1}+ \left ( 1- \alpha \right)Y_{1} \\ &= Y_{1} \end{align*}\]
Para un t=3 \(\Rightarrow\):
\[F_{3} = \alpha Y_{2}+ \left ( 1- \alpha \right)F_{2}\Rightarrow \alpha Y_{2}+ \left ( 1- \alpha \right)Y_{1}\]
Para el siguiente periodo o pronostico del periodo \(t=4\), la ecuación queda: \[\begin{align*} F_{4} &= \alpha Y_{3}+ \left ( 1- \alpha \right)F_{3} \\ &= \alpha Y_{3}+ \left ( 1- \alpha \right) \left [ \alpha Y_{2} + \left ( 1-\alpha \right ) Y_{1} \right ] \\ &= \alpha Y_{3} + \alpha \left ( 1-\alpha \right ) Y_{2}+\left ( 1-\alpha \right )^{2}Y_{1} \end{align*}\]
Los pronósticos tienen en cuenta los pesos de todas las observaciones anteriores: determinar el peso de \(\alpha\) no debe ser tarea difícil.
El parámetro de suavizado \(\alpha\) se puede mejorar si se establece la siguiente aproximación:
\[\begin{align*} F_{t+1} &= \alpha Y_{t}+ \left ( 1- \alpha \right)F_{t} \\ &= \alpha Y_{t}+ F_{t}- \alpha F_{t} \\ &= \underbrace{F_{t}}_{\textrm{Pronostico en t}} + \alpha \left ( \underbrace{Y_{t} - F_{t}}_{\textrm{Error }} \right ) \end{align*}\]
Holt Winters (no estacional)
Para esta parte se tiene que el método anterior se le puede incorporar una parte lineal que adjuntan dos componentes. El primero hace referencia al \(\alpha\) tradicional de cada observación. Y aparece uno nuevo que será conocido como \(\beta\), le da el mismo tratamiento pero a los efectos proporcionados por la Tendencia.
\[\begin{align*} F_{t}&= \alpha Y_{t}+ (1-\alpha)(F_{t-1}+ T_{t-1}) \\ T_{t}&= \beta (F_{t}-F_{t-1})+ (1-\beta) T_{t-1}\\ \widehat{Y}_{t+h}&= F_{t}+hT_{t} \end{align*}\]
Holt Winters (estacional)
Muy similar al anterior, solo que se tiene en cuenta el efecto estacional y es configurado de la forma de los estimadores \((\beta) \; \text{y} \; (\alpha)\). Se le denomina gamma (\(\gamma\)) y se encuentra en el intervalo \(\left [ 0 \leq \gamma \leq 1 \right]\).
\[\begin{aligned} F_{t} &= \alpha \frac{Y_{t}}{S_{t-L}}+ (1-\alpha)(F_{t-1}+ T_{t-1}) \\ S_{t} &= \gamma \frac{Y_{t}}{F_{t}}+(1-\gamma)S_{t-L}\\ \widehat{Y}_{t+h}&= F_{t}+hT_{t}+S_{t-L+h} \end{aligned}\]
Holt Winters (estacional multiplicativo)
En esencia es el mismo método, solo que ahora los componentes se toman todos por uno mismo y no separados como el anterior.
\[\begin{aligned} \widehat{Y}_{t+h}&= F_{t} \times hT_{t} \times S_{t-L+h} \end{aligned}\]
Holt Winters Damped
Es una versión ampliada de HW y trata de darle un mejor tratamiento a la Tendencia. Aparece un parámetro llamado phi \((\phi)\) quien se encuentra entre \(\left [ 0 \leq \phi \leq 1 \right]\) y es quien ayuda a que los pronósticos de largo plazo sean mas confiables. Amortigua los efectos tendenciales.
\[\begin{aligned} F_{t} &= \alpha Y_{t}+ (1-\alpha)(F_{t-1}+ \phi T_{t-1}) \\ T_{t} &= \beta (F_t-F_{t-1})+(1-\beta)\phi T_{t-1}\\ \widehat{Y}_{t+h}&= F_{t}+\left(\phi+\phi^2+\cdots+\phi^h\right)T_{t} \end{aligned}\]
Cartera comercial de bancos
Agradecimientos
Lo desarrollado en esta sesión fue construido por los profesores (Hyndman and Athanasopoulos 2018) y (Krispin 2019) en los respectivos paquetes de fpp2
y TSstudio
respectivamente
The downloaded binary packages are in
/var/folders/y7/xnq2gn1x2cs79dhd19wnj9wm0000gn/T//RtmpdRxclX/downloaded_packages
Jan Feb Mar Apr May Jun
2016 367822.1 372017.9 371504.5 373540.2 378922.9 381252.9
# Básico
b1<-ts_ma(cartera, n_left = 6, n = NULL) # ma 7
b1_ma2<-ts_ma(cartera, n_left = 3, n_right = 3, n=NULL) # ma 7
# Listas
b1_ma7 <- b1$unbalanced_ma_7
b1_ma72 <- b1_ma2$unbalanced_ma_7
# Objeto base
ma <- cbind(cartera, b1_ma7, b1_ma72)
p <- ts_plot(ma,
Xgrid = TRUE,
Ygrid = TRUE,
type = "single",
title = "MA 7 (un lado) vs. MA 7 (dos lados)")
# Grafico
library(plotly)
p <- p |> layout(legend = list(x = 0.05, y = 0.95),
yaxis = list(title = "Miles de Millones"),
xaxis = list(title = "Años"))
p
library(forecast)
carma07 = ma(cartera, order=7, centre=FALSE)
carma12 = ma(cartera, order=12, centre=FALSE) # adicional
carma06 = ma(cartera, order=6, centre=FALSE)
carmad12 = ma(cartera, order=12, centre=TRUE)
# Generar pronostico de 12 periodos
MA07 <- forecast(carma07, h = 12)
# Gráfico
plot_forecast(MA07)
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Aug 2023 644750.1 644127.3 645372.9 643797.6 645702.6
Sep 2023 645811.9 644419.0 647204.9 643681.6 647942.3
Oct 2023 646873.7 644542.0 649205.4 643307.6 650439.8
Nov 2023 647935.5 644520.9 651350.1 642713.3 653157.7
Dec 2023 648997.3 644372.0 653622.6 641923.5 656071.1
Jan 2024 650059.1 644107.2 656010.9 640956.5 659161.7
Feb 2024 651120.9 643735.5 658506.2 639825.9 662415.8
Mar 2024 652182.7 643264.0 661101.3 638542.7 665822.6
Apr 2024 653244.4 642698.5 663790.4 637115.8 669373.1
May 2024 654306.2 642043.9 666568.5 635552.7 673059.8
Jun 2024 655368.0 641304.5 669431.6 633859.7 676876.4
Jul 2024 656429.8 640483.7 672376.0 632042.3 680817.3
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Nov 2023 648056.1 646770.6 649341.6 646090.1 650022.1
Dec 2023 648387.2 645535.7 651238.7 644026.2 652748.2
Jan 2024 648711.7 643976.3 653447.1 641469.6 655953.8
Feb 2024 649029.7 642149.4 655910.0 638507.1 659552.3
Mar 2024 649341.3 640093.9 658588.8 635198.6 663484.1
Apr 2024 649646.8 637838.7 661454.8 631588.0 667705.6
May 2024 649946.1 635406.4 664485.7 627709.6 672182.6
Jun 2024 650239.4 632815.0 667663.7 623591.2 676887.6
Jul 2024 650526.8 630079.8 670973.8 619255.9 681797.8
Aug 2024 650808.5 627213.7 674403.4 614723.3 686893.7
Sep 2024 651084.6 624227.7 677941.5 610010.5 692158.7
Oct 2024 651355.1 621131.6 681578.6 605132.2 697578.0
El paquete forecast
contiene la función de ses
. Con esta podemos entonces trabajar el resto de modelos no paramétricos. Lo aprenderemos a usar a continuación.
El paquete puede incluso usted cambiar los parámetros como el \((\color{red}{\alpha})\) a su comodidad. Pero recuerde que eso no es recomendable. Debe tener en cuenta que pesa mas, si el pasado o presente de la serie.
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
Feb 2024 646722.3 640499.9 652944.6 637206.0 656238.5
Mar 2024 646722.3 637923.0 655521.6 633264.9 660179.6
Apr 2024 646722.3 635945.5 657499.0 630240.7 663203.8
May 2024 646722.3 634278.5 659166.0 627691.1 665753.4
Jun 2024 646722.3 632809.8 660634.8 625444.9 667999.6
Jul 2024 646722.3 631481.9 661962.6 623414.2 670030.3
Aug 2024 646722.3 630260.9 663183.7 621546.7 671897.8
Sep 2024 646722.3 629124.3 664320.2 619808.5 673636.0
Oct 2024 646722.3 628056.9 665387.7 618176.0 675268.5
Nov 2024 646722.3 627047.2 666397.3 616631.9 676812.6
Dec 2024 646722.3 626086.9 667357.6 615163.2 678281.3
Jan 2025 646722.3 625169.4 668275.2 613759.9 679684.6
Holt-Winters' additive method
Call:
hw(y = cartera, h = 12, seasonal = "additive")
Smoothing parameters:
alpha = 0.9999
beta = 0.134
gamma = 1e-04
Initial states:
l = 369770.9754
b = 1797.9297
s = 1090.855 1761.501 97.3342 119.7127 -280.0605 635.3594
2048.243 984.5148 392.8223 -284.6739 -2310.449 -4255.159
sigma: 3123.23
AIC AICc BIC
2021.306 2029.053 2065.077
ME RMSE MAE MPE MAPE MASE ACF1
Training set 923.31 4589.24 3652.03 0.18 0.74 0.1 0.63
ME RMSE MAE MPE MAPE MASE ACF1
Training set 21.8 2854.04 2069.87 0.02 0.41 0.06 0.47
ME RMSE MAE MPE MAPE MASE ACF1
Training set 506.96 3238.59 2329.25 0.11 0.48 0.06 -0.01
Universidad del Norte