ARIMA – MODELO AUTORREGRESSIVO INTEGRADO DE MÉDIAS MÓVEIS Elisa Henning Julho/2013 2 O que veremos hoje • Introdução sobre ARIMA • Identificação, modelagem, avaliação • Arima com R • Rstudio • Pacote Forecast • Pacote fpp • Exercícios 3 Introdução – Séries Temporais • As séries temporais representam um conjunto de observações ordenadas no tempo e fundamentadas na ideia de que a história dos acontecimentos, ao longo deste, pode ser usada para prever o futuro. • A previsão de uma série temporal é o estabelecimento dos valores futuros da série, sendo uma previsão a estimativa acerca da verossimilhança de eventos futuros, baseados na informação atual e histórica. • Pressupõe a modelagem matemática do fenômeno, obtenção de conclusões e avaliação do modelo em termos de precisão (SOUZA; CAMARGO, 2004). 4 Introdução • As previsões de demanda baseadas em séries temporais partem do princípio de que a demanda futura será uma projeção dos valores passados, não sofrendo influência de outras variáveis. • Métodos estatísticos de previsão de séries temporais buscam identificar um padrão de comportamento da série e utilizá-lo para prever os valores futuros. • Estas séries, em sua grande maioria, apresentam características repetitivas que podem ser utilizadas no momento de realizar previsões. • Um modelo clássico para séries temporais supõe que a série possa ser escrita como o agrupamento dos três seguintes componentes: tendência, ciclo e sazonalidade; e o processo de construção de valores previstos para a série é realizado por meio da reunificação de cada um desses componentes (SOUZA; SAMOHYL; MIRANDA, 2008). 5 Introdução Integrado de Média Móvel – Autoregressive Integrated Moving Average (ARIMA) é um procedimento popular entre os modelos estatísticos de análise de séries temporais • Esse modelo foi proposto por Box e Jenkins na década de 70 e tem origem nos modelos autorregressivo (AR), médias móveis (MA) e da combinação dos modelos AR e MA (ARMA). • Além de incluir modelos não estacionários (ARIMA) e sazonais (SARIMA). Cada um destes modelos pode modelar uma série isolada ou combinadamente. • O modelo Autorregressivo 6 Introdução Classe de modelos capazes de representar: • Séries estacionárias • Séries não-estacionárias • Não envolve variáveis independentes na sua construção • Dados “falam por si” 7 Introdução • Uma variedade de séries temporais encontradas na indústria e em negócios exibe comportamento não estacionário. • Não variam em termos de valor fixo para a média, em geral, em virtude da presença de autocorrelação. • Esta classe de modelos segue uma metodologia denominada “Metodologia Box-Jenkins”, • Sugerida para aplicações às séries não-estacionárias que se tornam estacionárias após a aplicação de sucessivas diferenças 8 ARIMA AR I MA • MODELO AUTOREGRESSIVO • INTEGRADO • MÉDIAS MÓVEIS 9 ARIMA • AR(p), onde a série é descrita por seus valores passados • • • • • regredidos e pelo ruído aleatório; MA(q), que explora a estrutura de autocorrelação dos resíduos de previsão do período atual com aqueles ocorridos em períodos anteriores e; ARMA(p, q) que apresentam processos mistos AR(p) e MA(q); se apoiam na premissa que a série temporal é estacionária, ou seja, suas propriedades estatísticas básicas, como média, variância e covariância permanecem constantes. Quando a série é não-estacionária, é utilizada a componente de integração I(d), resultando no modelo ARIMA(p,q,d). Depois de calcular a diferença entre os valores subjacentes da série d vezes, é possível torná-la estacionária, de modo que ofereça uma base válida para a previsão 10 As Fórmulas Modelo autorregressivo 11 As Fórmulas Modelo de Médias Móveis 12 As Fórmulas MODELO AUTORREGRESSIVO DE MÉDIAS MÓVEIS 13 As Fórmulas ARIMA 14 ARIMA A estrutura de um modelo ARIMA (p,d,q): • p = número de parâmetros auto-regressivos • d = número de diferenças • q = número de médias parâmetros de médias móveis Um modelo ARIMA (2,3,1) significa: p=2 d=3 q=1 15 METODOLOGIA 16 17 Identificação • Relações de autocorrelação : PACF • Um processo AR(p) tem PACF com valores significativamente maiores de zero para lags até p. • Um processo MA(q) tem PACF que se comporta de modo similar à ACF de um processo AR(p) - exponenciais e/ou senóides amortecidas. 18 EXEMPLO 2 -3 3 ts.sim.1 50 5 10 15 20 Lag • AR(1) ou ARIMA (1,0,0) 150 0.4 200 -0.2 PACF 0.4 100 -0.2 ACF 0 5 10 Lag 15 20 19 Exemplo 3 -3 ts.sim.2 10 15 20 Lag • MA(1) ou ARIMA (0,0,1) 200 -0.2 PACF 5 150 0.4 100 0.4 50 -0.2 ACF 0 5 10 Lag 15 20 20 EXEMPLO 4 -6 6 ts.sim.3 100 PACF 5 10 15 20 Lag • ARMA (1,1) ou ARIMA (1,0,1) 150 200 -0.4 0.4 50 -0.4 0.4 ACF 0 5 10 Lag 15 20 21 Identificação • Os modelos vistos até então representam séries estacionárias. • As séries podem ser não estacionárias quanto ao nível: • oscilam ao redor de um nível médio durante algum tempo e depois saltam para outro nível temporário. • Para tornar este tipo de série estacionária é suficiente aplicar uma diferença, sendo este o caso típico de séries econômicas. 22 Identificação • Podem ser não estacionárias quanto à inclinação: • oscilando em uma direção por algum tempo e depois mudando para outra direção temporária. • Para torná-las estacionárias é necessário, em geral, uma segunda diferença. • Na análise do gráfico da ACF, verifica-se que esta não decresce rapidamente. -0.2 -0.2 0.0 0.0 0.4 ACF 0.6 0.8 0.8 1.0 1.0 20 5 10 Lag 15 20 0.4 0.6 0 0.2 PACF 0.2 0 10 20 30 40 50 23 Exemplo 4 – série 1 serie1 40 60 80 5 10 Lag 100 15 20 24 Exemplo 4 – série 1 – cont. -3 -2 -1 0 1 2 3 diff(serie1) 40 60 100 0.4 -0.2 0.0 0.2 PACF 0.4 0.2 0.0 -0.2 ACF 80 0.6 20 0.6 0 5 10 Lag 15 20 5 10 Lag 15 20 25 Exemplo 4 – série 2 -15 -10 -5 0 serie2 80 100 -0.2 PACF 60 0.2 0.4 0.6 0.8 40 0.2 0.4 0.6 0.8 20 -0.2 ACF 0 5 10 Lag 15 20 5 10 Lag 15 20 26 Identificação • Verificar se na série original existe a necessidade de transformação desta com o objetivo de estabilizar sua variância. • Tomar diferenças nas séries tantas vezes quanto necessárias para tornar a série estacionária. • Identificar o processo ARMA resultante através da análise das autocorrelações e autocorrelações parciais estimadas. 27 15 5 10 a10 20 25 30 Exemplo 5 1995 2000 2005 Time Vendas anuais de remédios para diabetes na Austrália 28 2.5 2.0 1.5 1.0 log(a10) 3.0 Exemplo 5 – aplicar uma transformação 1995 2000 Time 2005 29 Identificação • Há uma certa subjetividade envolvendo este procedimento. • É possível dois ou mais modelos ajustarem os dados. • mesmo número de parâmetros, aquele que resultar no menor erro médio padrão deve ser escolhido. • tiverem número de parâmetros diferentes o princípio da parcimônia deve ser utilizado na seleção • Critérios de informação de AKAIKE (AIC) ou o critério de informação Bayesiano (BIC) 30 AIC e BIC • Métodos baseados em uma função penalizadora. Nestes a idéia fundamental é minimizar a estimativa da variância residual do modelo. • Apresentam um termo na equação, denominado termo penalizador que aumenta na medida em que o número de parâmetros cresce, enquanto que a variância residual diminui. • Assim busca-se identificar um modelo que equilibre este comportamento. 31 Estimação • Estimar os parâmetros cada um dos modelos Auto- regressivas , de médias móveis , e a variância dos erros. • Inicialmente é necessário usar um processo iterativo de estimação não-linear de mínimos quadrados • estimativas preliminares - valores iniciais neste procedimento. • Os programas computacionais, na maioria dos casos, incorporam estes valores iniciais • Esta estimação é realizada em geral através do método de máxima verossimilhança. 32 Exemplo 5 Os resultados correspondem aos parâmetros dos modelos e o desvio padrão dos estimadores 33 Caso 1 – Identificação -5 ts.sim.4 5 10 Lag 15 20 150 200 -0.4 0.4 100 PACF 50 -0.4 0.4 ACF 0 5 10 Lag 15 20 34 O modelo 35 Caso 2 - Identificação -20 40 ts.sim.5 200 -0.2 PACF 150 0.4 0.8 100 0.4 0.8 50 -0.2 ACF 0 5 10 Lag 15 20 5 10 Lag 15 20 36 O modelo 37 Diagnóstico dos modelos • O modelo escolhido é checado junto aos dados originais para verificar sua acurácia em descrever a série. • O modelo ajusta bem os dados se os resíduos deste são pequenos, e de comportamento aleatório. • Verificar se os resíduos são autocorrelacionados. • Os resíduos do modelo não devem apresentar autocorrelação. • Os gráficos da ACF e PACF dos resíduos do modelo devem ser plotados e analisados. • Existem também testes estatísticos formais para tal fim, como os testes de Box-Pierce e Ljung-Box. 38 Exemplo 5 – caso 2 – Análise dos resíduos tsdisplay(mod.2$residuals) -2 0 2 mod.2$residuals 100 200 -0.2 0.0 PACF 0.0 -0.2 ACF 150 0.2 50 0.2 0 5 10 Lag 15 20 5 10 Lag 15 20 39 Diagnóstico • NORMALIDADE DOS RESÍDUOS • Para que o modelo seja adequado os resíduos também devem ter distribuição normal. • Construção de um histograma • o gráfico de probabilidade normal • teste formal para verificação da suposição de normalidade (Shapiro-Wilk, Jarque-Bera) 40 Diagnóstico 30 20 10 0 Frequency 40 Histograma dos residuos -2 -1 0 mod.2$residuals 1 2 41 Diagnóstico • PERIODOGRAMA ACUMULADO • Uma reta teórica e limites de confiança são traçados. • Se o modelo é adequado, a estatística plotada não tem desvios sistemáticos desta • Demais testes 42 Periodograma acumulado cpgram(mod.2$residuals) 0.0 0.2 0.4 0.6 0.8 1.0 Series: mod.2$residuals 0.0 0.1 0.2 0.3 frequency 0.4 0.5 43 Outras análises – tsdiag(modelo) tsdiag(mod.2) -2 2 Standardized Residuals 0 50 100 150 200 Time 0.0 ACF ACF of Residuals 0 5 10 15 20 Lag 0.0 p value p values for Ljung-Box statistic 2 4 6 lag 8 10 44 Previsão • Neste passo é feita a previsão que decorre através da substituição das variáveis das equações de cada modelo, apresentadas em seguida e a da indicação do número de passos a frente que se quer prever. • Corresponde a etapa de extrapolação dos dados históricos através do modelo encontrado. 45 Previsão • INTERVALOS DE CONFIANÇA • É recomendável trabalhar com estimativas intervalares construídas a partir das pontuais • É comum os softwares retornarem intervalos de 95% e 80% de confiança 46 Previsões 47 Gráfico das previsões -20 0 20 60 100 Forecasts from ARIMA(1,1,0) 0 50 100 150 200 48 Incluindo as predições preditos<-fitted(previsao) lines(preditos,col=2,lty=2) -20 0 20 60 100 Forecasts from ARIMA(1,1,0) 0 50 100 150 200 49 Medidas dos erros de previsão 50 Exemplo 6 • Série temporal com 100 (cem) observações correspondente ao número de usuários conectados à Internet em um particular servidor a cada minuto. 51 Exemplo 6 • Série temporal com 100 (cem) observações correspondente ao número de usuários conectados à Internet em um particular servidor a cada minuto. 100 150 200 WWWusage 40 60 100 0.8 PACF -0.4 0.0 0.2 0.4 0.6 0.8 0.6 0.4 0.2 0.0 -0.4 ACF 80 1.0 20 1.0 0 5 10 Lag 15 20 5 10 Lag 15 20 52 O modelo 53 Diagnóstico – analise resíduos > tsdisplay(modelo$residuals) > hist(modelo$residuals) > shapiro.test(modelo$residuals) -5 0 5 r1 40 60 100 0.2 -0.3 -0.2 -0.1 0.0 PACF 0.1 0.2 0.1 0.0 -0.1 -0.2 -0.3 ACF 80 0.3 20 0.3 0 5 10 Lag 15 20 5 10 Lag 15 20 54 Análise resíduos Normal Q-Q Plot 0 5 -5 0 Sample Quantiles 15 10 Frequency 20 5 25 Histogram of r1 -10 -5 0 r1 5 -2 -1 0 Theoretical Quantiles Jarque Bera Test p-value = 0.936 Shapiro-Wilk normality test p-value = 0.7107 1 2 55 Diagnóstico • Resíduos apresentam um comportamento aleatório. • Sem a presença de autocorrelação. • Tem distribuição normal. • Conclui-se que é apropriado. 56 Previsões • Foram então realizadas previsões para seis períodos adiante. • Os valores pontuais e os intervalos de 80% e 85% de confiança estão no slide a seguir • Gráfico com a série original, os valores ajustados pelo modelo e as previsões pontuais e intervalares 57 > previsao<-forecast(modelo,h=6) > plot(previsao) 100 200 Forecasts from ARIMA(1,1,1) 0 20 40 60 80 100 58 ARIMA para dados sazonais • Um modelo ARIMA sazonal é denominado de SARIMA de ordem (p,d,q)(P,D,Q)12, onde: • p = termo autoregressivo regular • d = diferença regular • q = termo de médias móveis regular • P = termo autoregressivo sazonal • D = diferença sazonal • Q = termos de médias móveis sazonal 59 EXEMPLO 11 • Neste exemplo, a série estudada corresponde à dados da série mensal do total de vendas de garrafas de vinho (de até 1 litro) na Austrália, no período de Janeiro de 1980 a Agosto de 1994. (Fonte: http://www.robhyndman.info/TSDL/ ). -0.2 -0.2 0.0 0.0 0.4 0.4 0.6 0.6 0.8 0.8 1980 5 10 15 Lag 20 0.2 PACF 0.2 ACF 15000 25000 35000 60 EXEMPLO 11 wineind 1985 1990 5 1995 10 15 Lag 20 61 EXEMPLO 11 15000 20000 25000 30000 35000 40000 Seasonal plot: wineind Jan Feb Mar Apr May Jun Jul Month Aug Sep Oct Nov Dec 62 EXEMPLO 11 • Modelo escolhido pelo R 63 EXEMPLO 11 1985 1990 -0.2 0.0 PACF 0.0 -0.2 ACF 1995 0.2 1980 0.2 -10000 5000 modelo$residuals 0 5 10 20 Lag 30 0 5 10 20 Lag 30 64 EXEMPLO 11 Normal Q-Q Plot 30 0 -5000 20 -10000 10 0 Frequency 40 Sample Quantiles 50 5000 60 Histogram of r5 -10000 -5000 0 r5 5000 -2 -1 0 Theoretical Quantiles 1 2 65 EXEMPLO 11 0.0 0.2 0.4 0.6 0.8 1.0 Series: r5 0 1 2 3 frequency 4 5 6 66 Exercício • Vendas de carrinho de mão • Série mensal 67 head(cm) attach(cm) cm<-ts(cm,frequency=12,start=c(2005)) cm plot(cm,type="b",pch=19,main="Vendas de carrinhos de mão") tsdisplay(cm) seasonplot(cm) meu.modelo.1<-auto.arima(cm) meu.modelo.1 tsdisplay(meu.modelo.1$residuals) tsdiag(meu.modelo.1) cpgram(meu.modelo.1$residuals) hist(meu.modelo.1$residuals) shapiro.test(meu.modelo.1$residuals) previsao<-forecast(meu.modelo.1,h=3) previsao plot(previsao) preditos<-fitted(meu.modelo.1) lines(preditos,col=4) accuracy(meu.modelo.1) 68 EXEMPLO 12 • Vamos analisar a série correspondente ao IPIProdução Física IndustrialProdutos Alimentares, no período compreendido entre janeiro de 1985 e julho de 2000. • adaptado de MORETTIN & TOLOI (2004) -0.2 -0.2 0.0 0.0 ACF 0.4 0.4 0.6 0.6 0.8 0.8 1985 5 10 15 Lag 20 0.2 PACF 0.2 80 100 120 140 69 EXEMPLO 12 ipi 1990 1995 5 2000 10 15 Lag 20 70 EXEMPLO 12 80 100 120 140 Seasonal plot: ipi Jan Feb Mar Apr May Jun Jul Month Aug Sep Oct Nov Dec 71 EXEMPLO 12 72 EXEMPLO 12 -3 -1 1 3 Standardized Residuals 1985 1990 1995 2000 Time 0.0 0.4 0.8 ACF ACF of Residuals 0.0 0.5 1.0 1.5 Lag 0.0 0.4 0.8 p value p values for Ljung-Box statistic 2 4 6 lag 8 10 73 EXEMPLO 12 Normal Q-Q Plot 0 -5 30 20 -10 10 -15 0 Frequency 40 Sample Quantiles 5 50 10 60 15 Histogram of r6 -15 -10 -5 0 r6 5 10 15 -3 -2 -1 0 Theoretical Quantiles 1 2 3 74 EXEMPLO 12 0.0 0.2 0.4 0.6 0.8 1.0 Series: r6 0 1 2 3 frequency 4 5 6 75 EXEMPLO 12 • Assim, são feitas previsões para os meses de agosto a dezembro de 2000. • As previsões e um gráfico com os valores observados e calculados podem ser visualizados em seguida. 76 EXEMPLO 12 80 100 120 140 Forecasts from ARIMA(2,1,5)(1,0,1)[12] 1985 1990 1995 2000 77 ERROS DE PREVISÃO • Após a seleção do modelo é importante também calcular e analisar as medidas correspondentes aos erros de previsão • (MAD, MAPE, etc) • Um bom modelo, de preferência, deve ajustar-se bem aos dados, com erros pequenos. • Uma forma de escolha, entre vários modelos para a mesma série, é optar por aquele que tem os menores valores para estas medidas. • No R: accuracy(modelo) – dentro da amostra • accuracy (modelo, novos dados) – fora da amostra 78 VANTAGENS E DESVANTAGENS DOS MODELOS ARIMA • A abordagem Box-Jenkins para a análise de séries temporais é uma poderosa ferramenta para previsões acuradas no curto prazo. • O modelo ARIMA é flexível e pode representar inúmeras séries que ocorrem na prática. • Testes formais para testar a adequação do modelo são facilmente encontrados. • E, previsões e predições são obtidas diretamente do modelo. 79 VANTAGENS E DESVANTAGENS DOS MODELOS ARIMA • Todavia algumas limitações merecem destaque: • É necessária uma série com relativamente um número grande de dados • Não existem métodos simples para recalcular os parâmetros na inclusão de novos dados, sendo necessário, algumas vezes desenvolver um novo modelo. • A utilização desta metodologia requer experiência e algum conhecimento além do uso automático de um pacote computacional. 80 Mais exercícios? ETS? Carrinho de mão – modelo ets meu.modelo.2<-ets(cm) meu.modelo.2 accuracy(meu.modelo.2) Série de dados - iof 81 REFERÊNCIAS 1. 2. 3. 4. 5. 6. 7. ALMEIDA, S. G.; SOUZA, A. M.; MARCHEZAN, A.; SANTA CATARINA, G. M. F. Previsão dos preços das culturas de arroz e feijão praticados no Rio Grande do Sul. Anais do XV SIMPEP – Simpósio de Engenharia de Produção. Bauru: Novembro de 2008. Disponível em: http://www.simpep.feb.unesp.br/anais_simpep.php?evento=2. Acesso em: 12/01/2009. CAMARGO, M. E.; FILHO, W. P.; RUSSO, S. L. Previsão de vendas através da metodologia BOX & JENKINS: Um estudo de caso. Anais do ENEGEP 2007. Foz de Iguaçu: Outubro de 2007. Disponível em: < http://www.abepro.org.br/biblioteca/ENEGEP2007_TR620466_0405.pdf>. Acesso em: 12/01/2009. FIGUEIREDO, C.; NETO, A. C. Previsão de séries temporais utilizando a metodologia Box & Jenkins e redes neurais para inicialização de planejamento e controle de produção. Anais do XV SIMPEP. Bauru: Novembro, 2008. Disponível em: http://www.simpep.feb.unesp.br/anais_simpep.php?evento=2. Acesso em: 12/01/2009. HANKE, J.; WICHERN, D.; REITSCH, A. Business Forecasting. 7ª Edição. New Jersey: Prentice Hall, 2001. MORETTIN, P. A.; TOLOI, C. Análise de Séries Temporais. São Paulo: Ed Edgar Blucher, 2004. RODRIGUES, G. A.; PAULISTA P.H.; TURRIONI, J. B. Previsão do Preço da Energia: uma aplicação da metodologia Box-Jenkins. Anais do ENEGEP 2008. Rio de Janeiro: Outubro de 2008. Disponível em: < http://www.abepro.org.br/biblioteca/enegep2008_TN_WIC_070_498_11575.pdf> Acesso em 26/01/2009 http://otexts.com/fpp/