Há uma grande utilidade no uso do modelo Arima para a avaliação do gerenciamento de doenças\(^1\) de modo que podem ser previstos os efeitos da intervenção sobre a doença estudada. É afirmado por (SATO, Renato Cesar. p. 128-131) que “Os estudos clínicos têm se beneficiado do uso dessas técnicas, visto a grande aplicabilidade do modelo ARIMA”. Neste trabalho escolhemos o modelo Arima para prever a quantidade de casos diários de Covid-19 no mundo a partir do ano de 2021, para tal devido ao caráter dinâmico dos dados um modelo foi ajustado em 4 janelas de tempo de 7 dias, o modelo que apresentou a melhor média no MASE foi o considerado como o melhor modelo para uma posterior previsão de casos. O estudo de (SATO, Renato Cesar. p. 128-131) descreve de aneira resumida o modelo Arima e sugere ainda que “como as estruturas periódicas das epidemias de doenças infecciosas mudam com o tempo. É sugerido, nesse caso, utilizar curtos períodos de segmento de tempo para analisar os efeitos de cada segmento” Já em (Sumi A, et al 2011;21(1):21-29.)\(^2\) há o uso e a citação de estudos que utilizaram de intervalos de tempo dentre epidemias no Japão.
Apesar de (Zhang, G. P. (2003), 50, 159–175)\(^3\) resumir o modelo Arima, o modelo é melhor detalhado em (Pissarenko, Dimitri., 2002)\(^4\), onde é descrito de maneira matemática tanto o processo de previsão, no entanto a metodologia de Box-Jenkins utilizada para modelar o modelo Arima(p,d,q) e os modelos autorregressivos tanto os ARMA, ARIMA, SARIMA e ARMAX são bem definidos em (dos Santos Gomes, Amanda; 2003.)\(^5\), além disso há a definição do modelo autorregressivo de ordeem p AR(P), o processo de médias moveis MA(q) de ordem q, e define a ordem d em que o processo é estacionário, além disso são definidos também os parâmetros do modelo SARIMA (p,d,q)x(P,D,Q)[m], em que m é o período sazional do modelo, os parâmetros do modelo e a metodologia box-jenkins também podem ser encontrados resumidamente em (Adhikari, Ratnadip & Agrawal,2013)\(^6\).
Para a análise utilizamos a função auto.arima() do R, toda a sua metodologia, além de estar disponível no cran, é bem explicada no capítulo 8 em (Hyndman, R.J., & Athanasopoulos, G., 2018)\(^7\), na parte sazional, por exemplo, o trabalho no capítulo 2.1 demonstra que para casos diários “Se a frequência das observações for maior do que uma vez por semana, geralmente há mais de uma maneira de lidar com a frequência. Por exemplo, dados com observações diárias podem ter uma sazonalidade semanal (frequência = 7) ou uma sazionalidade anual (frequência = 365,25)”. Além disso o argumento include.drift, que foi utilizado em nossa parte prática também é explicado no capítulo 8.7, estte argumento permite que a média seja diferente de 0 quando d=1, o parâmetro \(\mu\) é considerado como o “drift” no output do R quando d=1. O método drift é definido no capítulo 3.1 e é uma variação do método naïve permitindo que as previsões cresçam ou decresçam ao longo do tempo, a quantidade de mudança ao longo do tempo (drift) é definida como a média das mudanças vista nos dados históricos.
Primeiro foi ajustado um modelo Arima sem levar em consideração a sazionalidade, o modelo que deve ser levado em consideração é o Arima(2,1,2) com drift, além disso o modelo foi o mesmo para as quatro janelas de tempo e apresentou a média mais estável até a quarta janela de tempo na sua medida MASE (Essa metodologia deve ser levada em consideração em todas as sazionalidades consideradas de 7 e de 14 dias):
av_mod[4]
## [[1]]
## [[1]]$mase
## [1] 0.9957900 0.9495276 0.9638875 0.8421299
##
## [[1]]$smape
## [1] 0.08367364 0.06833143 0.09830163 0.08970403
##
## [[1]]$rmse
## [1] 249954.3 210287.3 264996.1 231556.7
##
## [[1]]$r2
## [1] 0.12838928 0.23548742 -0.14935038 0.07949295
errors[4]
## [[1]]
## [[1]]$mase
## [1] 0.9957900 0.9032652 0.9926074 0.4768569
##
## [[1]]$smape
## [1] 0.08367364 0.05298922 0.15824203 0.06391123
##
## [[1]]$rmse
## [1] 249954.3 170620.2 374413.8 131238.4
##
## [[1]]$r2
## [1] 0.1283893 0.3425856 -0.9190260 0.7660229
Erros
mase(validation_7d$new_cases,fc.c1$mean)
## [1] 0.99579
smape(validation_7d$new_cases,fc.c1$mean)
## [1] 0.08367364
R2_Score(fc.c1$mean,validation_7d$new_cases)
## [1] 0.1283893
rmse(validation_7d$new_cases,fc.c1$mean)
## [1] 249954.3
plot(fc.c1)
mase(validation_14d$new_cases,fc.c1$mean)
## [1] 0.9340821
smape(validation_14d$new_cases,fc.c1$mean)
## [1] 0.0784784
R2_Score(fc.c1$mean,validation_14d$new_cases)
## [1] 0.3480982
rmse(validation_14d$new_cases,fc.c1$mean)
## [1] 224722.3
plot(fc.c1)
mase(validation_28d$new_cases,fc.c1$mean)
## [1] 1.195329
smape(validation_28d$new_cases,fc.c1$mean)
## [1] 0.1381263
R2_Score(fc.c1$mean,validation_28d$new_cases)
## [1] 0.005090155
rmse(validation_28d$new_cases,fc.c1$mean)
## [1] 388475.2
plot(fc.c1)
O modelo Arima(2,0,3)(0,1,2)[7], foi o de melhor performance, considerando a metodologia ja explicada para seleção do modelo, suas medidas foram:
av_mod[4]
## [[1]]
## [[1]]$mase
## [1] 0.8716332 0.9941745 0.9341493 0.8280338
##
## [[1]]$smape
## [1] 0.07470235 0.06942659 0.08930628 0.08372055
##
## [[1]]$rmse
## [1] 236741.6 205465.7 244119.1 221168.7
##
## [[1]]$r2
## [1] 0.21810131 0.26644563 0.03953285 0.20085619
errors[4]
## [[1]]
## [[1]]$mase
## [1] 0.8716332 1.1167159 0.8140988 0.5096874
##
## [[1]]$smape
## [1] 0.07470235 0.06415084 0.12906566 0.06696335
##
## [[1]]$rmse
## [1] 236741.6 174189.8 321426.0 152317.4
##
## [[1]]$r2
## [1] 0.2181013 0.3147899 -0.4142927 0.6848262
Para 7 dias os valores de erro foram o seguinte:
mase(validation_7d$new_cases,fc.c1$mean)
## [1] 0.8716332
smape(validation_7d$new_cases,fc.c1$mean)
## [1] 0.07470235
R2_Score(fc.c1$mean,validation_7d$new_cases)
## [1] 0.2181013
rmse(validation_7d$new_cases,fc.c1$mean)
## [1] 236741.6
plot(fc.c1)
Para previsão em 14 dias as medidas de erro foram::
mase(validation_14d$new_cases,fc.c1$mean)
## [1] 0.9568581
smape(validation_14d$new_cases,fc.c1$mean)
## [1] 0.07991622
R2_Score(fc.c1$mean,validation_14d$new_cases)
## [1] 0.1578011
rmse(validation_14d$new_cases,fc.c1$mean)
## [1] 255424.4
plot(fc.c1)
Para 28 dias tivemos:
mase(validation_28d$new_cases,fc.c1$mean)
## [1] 1.475391
smape(validation_28d$new_cases,fc.c1$mean)
## [1] 0.1640782
R2_Score(fc.c1$mean,validation_28d$new_cases)
## [1] -0.569856
rmse(validation_28d$new_cases,fc.c1$mean)
## [1] 487979.3
plot(fc.c1)
O modelo Arima(2,0,4)(0,1,2)[14], foi o de melhor performance:
av_mod[4]
## [[1]]
## [[1]]$mase
## [1] 0.8778378 0.8185046 0.8658010 0.7644830
##
## [[1]]$smape
## [1] 0.07529318 0.05952960 0.09184774 0.08406063
##
## [[1]]$rmse
## [1] 229276.9 178508.9 252444.6 222139.6
##
## [[1]]$r2
## [1] 0.26663193 0.44906573 -0.09853307 0.11761839
errors[4]
## [[1]]
## [[1]]$mase
## [1] 0.8778378 0.7591713 0.9603939 0.4605288
##
## [[1]]$smape
## [1] 0.07529318 0.04376602 0.15648404 0.06069931
##
## [[1]]$rmse
## [1] 229276.9 127740.9 400316.1 131224.5
##
## [[1]]$r2
## [1] 0.2666319 0.6314995 -1.1937307 0.7660728
mase(validation_7d$new_cases,fc.c1$mean)
## [1] 0.8778378
smape(validation_7d$new_cases,fc.c1$mean)
## [1] 0.07529318
R2_Score(fc.c1$mean,validation_7d$new_cases)
## [1] 0.2666319
rmse(validation_7d$new_cases,fc.c1$mean)
## [1] 229276.9
plot(fc.c1)
mase(validation_14d$new_cases,fc.c1$mean)
## [1] 1.062386
smape(validation_14d$new_cases,fc.c1$mean)
## [1] 0.08875251
R2_Score(fc.c1$mean,validation_14d$new_cases)
## [1] 0.09225936
rmse(validation_14d$new_cases,fc.c1$mean)
## [1] 265177.1
plot(fc.c1)
mase(validation_28d$new_cases,fc.c1$mean)
## [1] 1.368564
smape(validation_28d$new_cases,fc.c1$mean)
## [1] 0.1546906
R2_Score(fc.c1$mean,validation_28d$new_cases)
## [1] -0.3635797
rmse(validation_28d$new_cases,fc.c1$mean)
## [1] 454790.9
plot(fc.c1)
Apesar dos modelos ajustados com sazionalidade performarem melhor no MASE em previsões de curto prazo, o modelo não-sazional foi o mais consistente, levando em consideração de previsões de médio e longo prazo, no entanto como tivemos MASE>1 em todos os modelos para previsão de longo prazo, recomenda-se usar o modelo com sazionalidade 14 para as previsões de 7 dias, pois este teve os menores erros nas 4 janelas de tempo em comparação com o de sazionalidade 7, e o modelo sem sazionalidade para previsões de curto à médio prazo.
[1] - SATO, Renato Cesar. Gerenciamento de doenças utilizando séries temporais com o modelo ARIMA. Einstein (São Paulo), São Paulo , v. 11, n. 1, p. 128-131, Mar. 2013 . Available from http://www.scielo.br/scielo.php?script=sci_arttext&pid=S1679-45082013000100024&lng=en&nrm=iso. access on 04 May 2021. https://doi.org/10.1590/S1679-45082013000100024.
[2] - Sumi A, Kamo K, Ohtomo N, Mise K, Kobayashi N. Time series analysis of incidence data of influenza in Japan. J Epidemiol. 2011;21(1):21-29. doi:10.2188/jea.je20090162
[3] - Zhang, G. P. (2003). Time series forecasting using a hybrid ARIMA and neural network model. Neurocomputing, 50, 159–175. doi:10.1016/s0925-2312(01)00702-0
[4] - Pissarenko, Dimitri. “Neural Networks For Financial Time Series Prediction: Overview Over Recent Research.” (2002).
[5] - dos Santos Gomes, Amanda; Cribari Neto, Francisco. Modelagem e previsão da arrecadação do imposto de renda no Brasil. 2003. Dissertação (Mestrado). Programa de Pós-Graduação em Estatística, Universidade Federal de Pernambuco, Recife, 2003.
[6] - Adhikari, Ratnadip & Agrawal, R.. (2013). An Introductory Study on Time series Modeling and Forecasting. 10.13140/2.1.2771.8084.
[7] - Hyndman, R.J., & Athanasopoulos, G. (2018) Forecasting: principles and practice, 2nd edition, OTexts: Melbourne, Australia. OTexts.com/fpp2. Accessed on <4/05/2021>