cmis_forecast: Faz ajuste de modelos ARIMA, ETS e HoltWinters...

Description Usage Arguments Details Value Author(s) References Examples

View source: R/CMISForecast.R

Description

A fun<c3><a7><c3><a3>o recebe como argumentos de entrada um conjunto de dados com duas vari<c3><a1>veis: data e valor realizado conforme frequ<c3><aa>ncia, hor<c3><a1>ria, di<c3><a1>ria ou mensal e aplica tr<c3><aa>s tipos de metodologias de forecast em s<c3><a9>ries temporais, sendo eles ETS (Exponential smoothing state space model), HoltWinters (Holt-Winters Filtering) e ARIMA (Auto Regressive Integrated Moving Averege). Estas tr<c3><aa>s metodologias de forecast combinadas geram cerca de 34 tipos de modelos e o melhor deles <c3><a9> escolhido.

Usage

1
2
3
4
cmis_forecast(dados, n_passos_frente, freq, foreplot = FALSE, id_metrica_frequencia = 0,
	primeiro_modelo = 0, parametro_1 = NA, parametro_2 = NA, parametro_3 = NA,
	parametro_4 = NA, parametro_5 = NA, parametro_6 = NA, parametro_7 = NA,
	modelo = 0, saida_geral = FALSE, ore_save = FALSE, ...)

Arguments

dados

Conjunto de dados com duas vari<c3><a1>veis, a primeira sendo a DATA no formato DD/MM/AAAA HH:MM:SS e a outra contendo a m<c3><a9>trica realizada.

n_passos_frente

N<c3><ba>mero que indica o orizonte de proje<c3><a7><c3><a3>o. M<c3><a9>trica mensal, a proje<c3><a7><c3><a3>o m<c3><a1>xima <c3><a9> de 18 meses (3 anos); M<c3><a9>trica di<c3><a1>ria, a proje<c3><a7><c3><a3>o m<c3><a1>xima <c3><a9> de 180 dias (6 meses) M<c3><a9>trica <c3><a9> por hora, a proje<c3><a7><c3><a3>o m<c3><a1>xima <c3><a9> de 336 dias (14 dias)

freq

Frequ<c3><aa>ncia da m<c3><a9>trica, di<c3><a1>ria <c3><a9> 7, mensal <c3><a9> 12 e hor<c3><a1>ria <c3><a9> 24

foreplot

Se TRUE, plota o gr<c3><a1>fico dos cinco melhores modelos ajustados

id_metrica_frequencia

Grava o nome correspondente nas tabelas do CMIS para identificar qual foi a proje<c3><a7><c3><a3>o calculada.

primeiro_modelo

Indica se o <c3><a9> o primeiro modelo ou j<c3><a1> existe um gravado na base do CMIS

parametro_1, ..., parametro_7

Par<c3><a2>metros de entrada de modelos j<c3><a1> presentes no CMIS. Caso um modelos j<c3><a1> exista no CMIS os par<c3><a2>tros deste passam pela fun<c3><a7><c3><a3>o CMIS_PROJECOES e testes s<c3><a3>o realizados com os mesmos. Eles tamb<c3><a9>m s<c3><a3>o par<c3><a2>metros de sa<c3><ad>da para o novo modelo ajustado para os dados.

modelo

Esta flag indica se j<c3><a1> existe ou n<c3><a3>o um modelo ativo no CMIS

saida_geral

Se TRUE Exibe v<c3><a1>rias estat<c3><ad>sticas do melhor modelo de s<c3><a9>rie temporal ajustado, como o objeto do modelo, a tabela de bonda do ajuste e escolha, os par<c3><a2>metros, os dados hist<c3><b3>ricos e a proje<c3><a7><c3><a3>o dos dados. Se FALSE, exibe apenas a proje<c3><a7><c3><a3>o com limites superior e inferior.

ore_save

Se TRUE salva a os outliers tratados, a proje<c3><a7><c3><a3>o e os par<c3><a2>metros para o melhor modelo escolhido no servidor CMIS.

...

Argumentos adicionais para fun<c3><a7><c3><b5>es internas

Details

O c<c3><a1>lculo das proje<c3><a7><c3><b5>es passa basicamente em seis etapas: receber os dados, tratar as datas, tratar outliers, estimar modelos iniciais, escolher melhores modelos, salvar resultados. Para cada etapa fun<c3><a7><c3><b5>es espec<c3><ad>ficas foram desenvolvidas e o conjunto integrado de todas resulta na fun<c3><a7><c3><a3>o geral cmis_forecast. Tratamento de outliers e informa<c3><a7><c3><b5>es detalhadas sobre os tipos de modelos de previs<c3><a3>o ou forecast ser<c3><a3>o discutidos na se<c3><a7><c3><a3>o modelos abordados.

TRATAMENTO DE OUTLIERS

Em virtude de anomalias nos dados, os chamados pontos discrepantes e tamb<c3><a9>m valores faltantes (missing values), em muitas an<c3><a1>lises tais casos s<c3><a3>o tratados como exe<c3><a7><c3><a3>o e, em muitas situa<c3><a7><c3><b5>es, t<c3><a9>cnicas adequadas de tratamento devem ser utilizadas visando contornar sem deturpar o comportamento real dos dados. Diversas t<c3><a9>cnicas de detec<c3><a7><c3><a3>o de outliers s<c3><a3>o utilizadas na literatuta atual, contudo esta quest<c3><a3>o <c3><a9> delicada em fun<c3><a7><c3><a3>o do tipo de dados envolvidos e de fatores inesperados como cat<c3><a1>strofes, por exemplo. No CMIS a vis<c3><a3>o estat<c3><ad>stica <c3><a9> abordada em conjunto com t<c3><a9>cnicas de visualiza<c3><a7><c3><a3>o em gr<c3><a1>ficos o que nos d<c3><a1> margem para maior robustez nas an<c3><a1>lises. A abordagem de tratamento de outliers no CMIS <c3><a9> feita em duas frentes que suporta dois tipos de situa<c3><a7><c3><b5>es suportadas pela abordagem de Hyndman .

I. Dados n<c3><a3>o sazonais com ou sem missing: nestes casos interpola<c3><a7><c3><a3>o linear <c3><a9> empregada. Nesta abordagem, um modelo linear <c3><a9> ajustado com base no hist<c3><b3>rico e val<c3><b5>es estimados deste modelo s<c3><a3>o ent<c3><a3>o inseridos para completar a s<c3><a9>rie;

II. Dados sazonais com ou sem missing: <c3><a9> feita uma decomposi<c3><a7><c3><a3>o da s<c3><a9>rie via stl(Seazonal Trend Loess ), que usa regress<c3><a3>o polinomial na s<c3><a9>rie dessazonalizada e em seguida resazonalisa a mesma com base na proje<c3><a7><c3><a3>o desta no per<c3><ad>do anterior. Embora complicada, esta t<c3><a9>cnica permite capturar comportamentos sazonais e evita a perda de informa<c3><a7><c3><a3>o da s<c3><a9>rie real.

TIPOS DE MODELOS ABORDADOS

Os modelos abordados no c<c3><a1>lculo das proje<c3><a7><c3><b5>es est<c3><a3>o divididos em tr<c3><aa>s grandes classes: ETS, HoltWinters e ARIMA, contudo estes modelos possuem casos especiais, abaixo segue um resumo dos principais pontos de cada tipo:

Modelos ETS

A termina<c3><a7><c3><a3>o ETS foi introduzida por Hyndman, R.J., Koehler, A.B., Ord, J.K., and Snyder, R.D. (2008) em seu livro e no pacote forecast onde o autor consolidou os trinta tipos de modelos divididos entre os com alisamento ou suaviza<c3><a7><c3><a3>o exponenciais e os de espa<c3><a7>os de estados com inova<c3><a7><c3><b5>es em uma <c3><ba>nica equa<c3><a7><c3><a3>o e criou uma rotina em R capaz fazer proje<c3><a7><c3><a3>o a partir do melhor dos modelos ajustados atrav<c3><a9>s pela equa<c3><a7><c3><a3>o geral. Esta classe de modelos possui horizonte de proje<c3><a7><c3><a3>o e vida curtos. Em termos de tend<c3><aa>ncia, podem ser: N (nenhuma),A(aditiva), Ad (aditiva suavizada), M (multiplicativa), Ma (multiplicativa suavizada) e em termos de sazonalidade: N (nenhuma), A (aditiva) e M (multiplicativa) segundo a taxonomia empregada por Rob J Hyndman.

Modelos HoltWinters

O m<c3><a9>todo de HoltWinters <c3><a9> uma extens<c3><a3>o do m<c3><a9>todo de Holt que por sua vez utiliza m<c3><a9>dias m<c3><b3>veis exponenciais para fazer proje<c3><a7><c3><b5>es. Tal m<c3><a9>todo consiste em extender o m<c3><a9>todo de Holt de modo a lidar com varia<c3><a7><c3><b5>es tanto na tend<c3><aa>ncia quanto na sazonalidade dos dados. Estes modelos tamb<c3><a9>m possuem vers<c3><b5>es aditivas e multiplicativas, semelhantemente aos modelos ETS vistos anteriormente. Estes modelos possuem horizonte de proje<c3><a7><c3><a3>o e de vida de curto a m<c3><a9>dio.

Modelos ARIMA

Os Modelos de Alisamento Exponencial e os modelos ARIMA s<c3><a3>o os mais utilizados para fazer proje<c3><a7><c3><b5>es devido a robustez dos mesmos na modelagem de s<c3><a9>ries temporais a principal diferen<c3><a7>a entres as duas aboradagens <c3><a9> que a primeira se baseia na descri<c3><a7><c3><a3>o da tend<c3><aa>ncia e da sazonalidade dos dados enquanto o segundo nos ajuda a descrever melhor o fen<c3><b4>meno de autocorrela<c3><a7><c3><a3>o dos dados. Para mais informa<c3><a7><c3><b5>es sobre estes modelos veja as refr<c3><aa>ncias. Modelos ARIMA s<c3><a3>o compostos por dois componentes fundamentais: um processo estoc<c3><a1>stico Auto Regresivo (AR) e um processo M<c3><a9>dias M<c3><b3>veis (MA), do ingl<c3><aa>s Moving Average mais uma ordem de diferen<c3><a7>a. O horizonte de proje<c3><a7><c3><a3>o e a vida destes modelos <c3><a9> longa pras duas abordagens, sozonais e n<c3><a3>o sazonais.

ESTRAT<c3><89>GIA DE SELE<c3><87><c3><83>O DE MODELOS

O Pacote forecast cont<c3><a9>m uma s<c3><a9>rie de m<c3><a9>todos de proje<c3><a7><c3><a3>o/forecast automatizados onde in<c3><ba>meros modelos s<c3><a3>o testados e os melhores s<c3><a3>o escolhidos para cada categoria. No CMIS o desafio <c3><a9> escolher n<c3><a3>o entre modelos de mesmo tipo, ex. ARIMA, mas entre modelos dos tipos ARIMA, ETS e HoltWinters. Embora para cada um destes modelos o algoritmo de escolha baseado em AICc seja plaus<c3><ad>vel, no nosso caso precisamos de m<c3><a9>todos que avaliem a qualidade de cada modelo de proje<c3><a7><c3><a3>o. No mercado, existem tr<c3><aa>s principais abordagens de decis<c3><a3>o sobre a bondade do ajuste que s<c3><a3>o elas: Mean Absolute Percent Error (MAPE), Mean Absolute Error (MAE) e Root Mean Squared Error (RMSE). Uma t<c3><a9>cnica bastante utilizada <c3><a9> a de rankeamento onde cada estat<c3><ad>st<c3><ad>stica <c3><a9> ordenada do menor para o maior valor, e geralmente o modelo com menor MAPE (< 40 por cento) <c3><a9> escolhido como o mais adequado. Para o CMIS, uma abordagem complementar desta t<c3><a9>cnica foi desenvolvida criando-se a soma de rankings que al<c3><a9>m das estat<c3><ad>sticas MAPE, MAE e RMSE adiciona mais duas estat<c3><ad>sticas que s<c3><a3>o o inverso do ranking de seis testes estat<c3><ad>sticos sobre os res<c3><ad>duos do modelo testado e o Mean Absolute Scaled Error (MASE). Assim, o modelo escolhido ser<c3><a1> aquele com a menor das somas de cinco rankings. A an<c3><a1>lise de res<c3><ad>duo do modelo ajustado <c3><a9> parte fundamental na qualidade do ajuste serve para verificar se o mesmo atende aos pressupostos assumidos para os res<c3><ad>duos e <c3><a9> feita com base em seis testes, vide analise_residuos.

S<c3><a3>o atribu<c3><ad>dos pesos para cada teste realizado nos res<c3><ad>duos. Quanto maior o peso mais importante <c3><a9> o teste, nesta vis<c3><a3>o os testes de independ<c3><aa>ncia, homocedasticidade e autocorrela<c3><a7><c3><a3>o s<c3><a3>o os mais importantes.

A regra para compor o ranking dos testes para os res<c3><ad>duos <c3><a9> composta da seguinte maneira (para cada modelo ajustado):

I. <c3><89> fixado o n<c3><ad>vel de confian<c3><a7>a <c3><a9> de 0.95 e ent<c3><a3>o realiza-se o teste e confere o p-valor do mesmo;

II. Se a hip<c3><b3>tese de que o pressuposto foi atendido for verdadeira, recebe o peso de acordo com a tabela de pesos, sen<c3><a3>o 0. Faze-se a soma dos pesos e cria-se um sinalizador com o inverso da soma dos pesos que aqui damos o nome de 1/RESIDUOS (o m<c3><a1>ximo <c3><a9> 10, passou nos 6 testes);

A regra para compor o ranking geral <c3><a9> a seguinte:

I. Ajusta-se cinco tipos de modelos iniciais, ARIMA, ETS, HoltWinters Sazonal, HoltWinters n<c3><a3>o sazonal e HoltWinters com Alisamento Exponencial e armazena as estat<c3><ad>sticas MAPE, MAE, RMSE, MASE e RESIDUOS;

II. Ranqueia-se estas estat<c3><ad>sticas do menor para o maior valor para cada modelo e faz-se a soma destes valores e comp<c3><b5>e-se uma tabela.

III. A menor soma corresponde ao modelo escolhido para a proje<c3><a7><c3><a3>o. A Tabela 8 exemplifica a escolha de um modelo ARIMA dentre cinco possibilidades para uma m<c3><a9>trica qualquer atrav<c3><a9>s da t<c3><a9>cnica de kankeamento das estat<c3><ad>sticas de bondade e de an<c3><a1>lise de res<c3><ad>duos. Neste caso o modelo ETS ficou se segundo lugar e assim por diante. Nesta tabela a estat<c3><ad>stica res<c3><ad>duos ficou com o valor 1/0,125 = 8 para o modelo escolhido, sabe-se que a soma m<c3><a1>xima <c3><a9> 10, contudo em todos os testes a bondade do ajuste foi efetiva e uma viola<c3><a7><c3><a3>o de 2 pontos na soma dos resultados dos testes de res<c3><ad>duos n<c3><a3>o desclassifica o modelo. Outra raz<c3><a3>o <c3><a9> que nosso interesse <c3><a9> mais forte na proje<c3><a7><c3><a3>o e n<c3><a3>o nos valores preditos para a m<c3><a9>trica. Pode haver situa<c3><a7><c3><b5>es em que a soma de rankings total ficar<c3><a1> acima de 5, nestas situa<c3><a7><c3><b5>es a menor soma ainda ser<c3><a1> escolhida, pois nem todas as m<c3><a9>tricas s<c3><a3>o plaus<c3><ad>veis de possu<c3><ad>rem os melhores modelos em virtude de situa<c3><a7><c3><b5>es diversas como outliers ou grandes varia<c3><a7><c3><b5>es e at<c3><a9> mesmo situa<c3><a7><c3><b5>es onde os dados s<c3><a3>o constantes ao longo do tempo.

Value

Quando o argumento saida_geral = TRUE um objeto tipo lista <c3><a9> exibido com as seguintes sa<c3><ad>das:

modelo

Melhor modelo de s<c3><a9>rie temporal ajustado dentre de 34 tipos: ETS (Exponential smoothing state space model), HoltWinters (Holt-Winters Filtering) e ARIMA (Auto Regressive Integrated Moving Averege)

par_modelo

Par<c3><a2>metros do modelo. Se for ARIMA, retornam 7 par<c3><a2>metros, caso HoltWinters ou ETS, menos par<c3><a2>metros s<c3><a3>o retornados.

bondade

Tabela fundamental para a decis<c3><a3>o entre os modelos testados. Nela constam os rankings das estat<c3><ad>sticas de bondade utilizadas na tomada de decis<c3><a3>o. Entre elas est<c3><a3>o as utilizadas pelo mercado de forecast mundial: MAPE(Mean Absolute Percent Error), MAE (Mean Absolute Error) e RMSE(Root Mean Squared Error) al<c3><a9>m da estat<c3><ad>stica baseada na an<c3><a1>lise dos res<c3><ad>duos do modelo criada por Capacidade que <c3><a9> o inverso da soma de rankings das estat<c3><ad>sticas de teste dos res<c3><ad>duos. Mais detalhes adiante.

previsao

Tabela da proje<c3><a7><c3><a3>o com limite superio e inferior a 0.95 de certeza. Esta tabela ser<c3><a1> salva no CMIS para exibi<c3><a7><c3><a3>o no dashboard.

projecao

Tabela completa que cont<c3><a9>m al<c3><a9>m da proje<c3><a7><c3><a3>o os limites superiores e inferiores para 0.85 e 0.95 de certeza.

dados_historicos

Os dados originais de entrada.

outliers

Tabela contendo aquelas observa<c3><a7><c3><b5>es tratadas como autliers no processo de estima<c3><a7><c3><a3>o estat<c3><ad>stica.

Author(s)

Desenvolvimento inicial por

GUILHERME, O.T.(jose.torres2@gvt.com.br)

Aprimoramentos feito por

LOPES, J. L. (jose.evandeilton@gvt.com.br)

References

R Core Team (2014). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. URL http://www.R-project.org/.

Texts, Forecasting: principles and practice, < http://robjhyndman.com/talks/uwa/ >, acesso em 30/10/2014.

Hyndman, R.J. and Khandakar, Y. (2008) "Automatic time series forecasting: The forecast package for R", Journal of Statistical Software, 26(3).

Hyndman, R.J., Koehler, A.B., Snyder, R.D., and Grose, S. (2002) "A state space framework for automatic forecasting using exponential smoothing methods",International J. Forecasting, 18(3), 439-454.

Hyndman, R.J., Akram, Md., and Archibald, B. (2008) "The admissible parameter space for exponential smoothing models". Annals of Statistical Mathematics, 60(2), 407-426.

Hyndman, R.J., Koehler, A.B., Ord, J.K., and Snyder, R.D. (2008) Forecasting with exponential smoothing: the state space approach, Springer-Verlag.http://www.exponentialsmoothing.net.

Box, G. E. P., G. M. Jenkins and G. C. Reinsel (2008). Time series analysis: forecasting and control. 4th. Hoboken, NJ: John Wiley & Sons.

Brockwell, P. J. and R. A. Davis (2002). Introduction to time series and forecasting. 2nd ed. New York: Springer.

Chatfield, C. (2000). Time-series forecasting. Boca Raton: Chapman & Hall/CRC.

Pena, D., G.C. Tiao and R.S. Tsay, eds. (2001). A course in time series analysis. New York: John Wiley & Sons.

Shumway, R. H. and D. S. Stoffer (2011). Time series analysis and its applications: with R examples. 3rd ed. New York: Springer.

Examples

1
2
data(mensal)
fit <- cmis_forecast(mensal[,c(1,3)], 50, 12, foreplot = TRUE, saida_geral = TRUE)

evandeilton/RTFC documentation built on May 29, 2019, 10:37 a.m.