Este documento fornece informações sobre um curso de pós-graduação em econometria, incluindo horário, professor, leituras sugeridas e tópicos como combinações de previsões e modelos híbridos.
1. 2501.000145-5 TÓPICOS ESPECIAIS EM ECONOMETRIA
C.H.: 68 horas – Turma 2020.1 – sala 2 bloco X
Terça-feira 13h15m a 15h15m e Quinta-feira - 15h25m a 17h25m
Prof. Dr. Adriano Marcos Rodrigues Figueiredo
(UFMS – ESAN – Economia)
E-mail: adriano.figueiredo@ufms.br ou
amrofi@gmail.com
11
**As ideias e opiniões aqui expostas são de responsabilidade do autor e não representam a opinião
da instituição a que pertence.
Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
3. Leituras e aplicações sugeridas
• HYNDMAN, Rob J.; ATHANASOPOULOS, George . Forecasting: principles
and practice. 2nd ed. Otexts, 2018. Disponível em:
<https://otexts.org/fpp2/>.
• FIGUEIREDO, Adriano Marcos Rodrigues. Séries Temporais com R:
Modelo híbrido de Hyndman e Athanasopoulos (2018). Campo Grande-
MS,Brasil: RStudio/Rpubs, 2019. Disponível
em <http://rpubs.com/amrofi/combination_forecast>
• FIGUEIREDO, Adriano M. R. Séries Temporais com R: Modelo híbrido
em opera. Campo Grande-MS,Brasil: RStudio/Rpubs, 2019. Disponível
em <http://rpubs.com/amrofi/Time_Series_Hybrid_opera>.
• FIGUEIREDO, Adriano Marcos Rodrigues. Séries Temporais com R:
Modelo híbrido para BVSP Bovespa - B3. Campo Grande-MS,Brasil:
RStudio/Rpubs, 2019. Disponível
em <http://rpubs.com/amrofi/Time_Series_Hybrid>.
• FIGUEIREDO, Adriano Marcos Rodrigues. Séries Temporais com R:
Combinação de forecasts para o Consumo do Varejo em MS
com forecastHybrid. Campo Grande-MS,Brasil: RStudio/Rpubs, 2020.
Disponível em <http://rpubs.com/amrofi/forecastHybrid_varejoms>.
3
4. Combinações de forecasts
• Combinar = usar forecasts de vários métodos
juntos
• Hyndman e Athanasopoulos (2018) (HA 2018) –
cap. 12.4 - Bates & Granger (1969) afirmam que
melhoram a acurácia
• Clemen (1989) citado por (HA 2018) escreveu:
Os resultados foram praticamente unânimes: a combinação de
várias previsões leva a um aumento na precisão das previsões.
Em muitos casos, pode-se fazer melhorias drásticas no
desempenho simplesmente calculando a média das previsões.
4
8. M4 - códigos
• https://github.com/M4Competition/M4-
methods
1. https://eng.uber.com/m4-forecasting-
competition/ = slawek smyl = C++
2. Pablo Montero-Manso, Thiyanga
Talagala, Rob J Hyndman and George
Athanasopoulos =
https://github.com/robjhyndman/M4m
etalearning
8
9. Exemplo básico do Hyndman e
Athanasopoulos (2018) – cap. 12.4
• Forecast de cada modelo e faz média
• exemplo de gasto mensal com alimentação
fora da Austrália, de abril de 1982 a setembro
de 2017 (mensal).
• Usamos previsões dos seguintes modelos: ETS,
ARIMA, STL-ETS, NNAR e TBATS; e
comparamos os resultados usando os últimos
5 anos (60 meses) de observações.
9
11. Exemplo básico do Hyndman e
Athanasopoulos (2018) – cap. 12.4
• Neste caso, fez-se a média simples das
estimativas e depois calculou-se a acurácia
para o método “combinado”
• Ver http://www.rpubs.com/amrofi/combination_forecast
11
16. forecastHybrid::hybridModel (y,
models = "aefnstz")
• O modelo combina os métodos:
– ARIMA (Auto Regressive Integrated Moving Average), a
– ETS (Error Trend Seasonal de decomposição espaço
estado), e
– NNETAR (Neural Network Autoregressive), n
– STLM (Seasonal and Trend decomposition using Loess), s
– Thetam (método Theta de Assimakopoulos e
Nikolopoulos, 2000), f
– TBATS (Exponential Smoothing Method + Box-Cox
Transformation + ARMA model for residuals +
Trigonometric Seasonal), t
– SNAIVE (Seasonal Naive), z
• A função hybridModel utiliza a opção models para
indicar quais os modelos a serem utilizados.
16
17. hybridModel(y = x, models = "aet",
weights = "equal")
• models = "aefnstz"
– a = auto.arima
– e = ets
– f = thetam
– n = nnetar
– s = stlm
– t = tbats
– z = snaive
• weights = c("equal", "insample.errors", "cv.errors")
– equal = (default) iguais = toma média aritmética entre os modelos
• é robusto e melhor
– insample.errors = método para achar os pesos dentro da amostra
– cv.errors = cross-validated = deixa mais lento para estimar
17
18. Ou especificando os modelos no
forecastHybrid
# opção aet indica o modelo hibrido para arima, ets e tbats
hm1 <- hybridModel(y = x, models = "aet", weights = "equal")
18
19. http://rpubs.com/amrofi/forecastHybrid_varejoms
passando argumentos ao arima e
opção pelos pesos do modelo
hm <- hybridModel(y = varejoms,
models = "aefnstz",
a.args = list(stepwise = FALSE, approximation = FALSE),
weights = "insample.errors", errorMethod = "MASE")
(acuracia<-accuracy(hm, individual = TRUE))
19
20. print(hm)
Hybrid forecast model comprised of the following models:
auto.arima, ets, thetam, nnetar, stlm, tbats, snaive
############ auto.arima with weight 0.172
############ ets with weight 0.173
############ thetam with weight 0.078
############ nnetar with weight 0.107
############ stlm with weight 0.195
############ tbats with weight 0.207
############ snaive with weight 0.067
20
21. http://rpubs.com/amrofi/forecastHybrid_varejoms
passando argumentos ao arima e
opção pelos pesos iguais
hm <- hybridModel(y = varejoms,
models = "aefnstz",
a.args = list(stepwise = FALSE, approximation = FALSE))
(acuracia<-accuracy(hm, individual = TRUE))
21
1/7 = 0.1428571
Peso = 0.143
para cada um