24
Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Embed Size (px)

Citation preview

Page 1: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Exemplo completo – ARIMA

Pacote forecast – RDados carrinho de mão

Page 2: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

2

• Vendas de carrinho de mão• Série mensal

Page 3: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Acessando o pacoteDigitar no R Console > library(forecast)

ou

Page 4: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Preparando os dados

Mostra as seis primeiras colunas e/ou linhas> head(cm)Mostra as últimas seis…> tail (cm)Permite o acesso às variáveis de um conjunto de dados> attach(cm)Outra opção – utilizar o $Exemplo – cm$cm

Page 5: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Preparando a série• O comando ts – vai “transformar” a sua série

de dados em uma série temporal.– ts (dados, frequency= frequencia da serie (12 para mensal, 4 para

trimestral...), start=c(data de inicio),...)• start=c(2005) – janeiro de 2005• start=c(2005,2) – fevereiro de 2005)

• Ajuda? ?ts

Page 6: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Explorando a série - gráficosplot(cm,type="b",pch=19,main="Vendas de carrinhos de mão")

Nota:

type= “b” – both (pontos e linhas)type=“l” – somente linhas

pch = 19 – ponto cheio em preto Veja ?pch para opções

Page 7: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Mostra numa única janela o gráfico da série temporal e os gráficos da ACF E PACF> tsdisplay(cm)

Obs:Note que a série não apresenta autocorrelação.

Page 8: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Complementando

• Caso tenha interesse em construir gráficos de acf e pacf em separado:

> acf (serie)>pacf(serie)

Page 9: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Verificando a sazonalidade> seasonplot(cm)Plota um gráfico sazonal

Verifique que a série não apresenta sazonalidade

Page 10: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Estimando o modelo ARIMAA função auto.arima busca um modelo adequado aos dados.meu.modelo.1 é o nome que estamos dando ao modelo – que está sendo armazenado) A função summary retorna as estimativas dos parâmetros, critérios de informação, como o AIC e BIC, além de algumas medidas dos erros (dentro da amostra)

meu.modelo.1<-auto.arima(cm)summary (meu.modelo.1) Veja que é um modelo

AR

O coeficiente AR1 é 0,6097O erro padrão é 0,1061

O MAPE (erro absoluto médio – em %) é 30,091%

Page 11: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Avaliando se o modelo é adequado: análise dos resíduos

Verificar se não há nenhum padrão e nem presença de autocorrelação nos resíduos

Faz um gráfico dos resíduos e das FAC e FACP dos resíduos> tsdisplay(meu.modelo.1$residuals)

Page 12: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão
Page 13: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Plota gráficos dos resíduos padronizados, ACF dos resíduos e resultados do teste Ljung-Box> tsdiag(meu.modelo.1)

Como podem ver, os resíduos não apresentam um padrão, nem autocorrelação e os p-valores estão ok

Um resíduo (veja destaque) apresenta valor superior a 3

Page 14: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Periodograma acumulado >cpgram(meu.modelo.1$residuals)

Page 15: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Verificando a normalidade dos resíduos Histograma dos resíduos>hist(meu.modelo.1$residuals)

Gráfico de probabilidade normal> qqnorm(meu.modelo.1$residuals)> qqline(meu.modelo.1$residuals)

Page 16: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Teste de normalidadeEfetua o teste de normalidade Shapiro Wilk > shapiro.test(meu.modelo.1$residuals)

Shapiro-Wilk normality test

data: meu.modelo.1$residualsW = 0.9546, p-value = 0.02576

Bem, seria melhor que o p-valor superior a 0,05...Mas, vamos continuar com o exemplo!

Page 17: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Efetuando as previsõesPrevisões para três meses adiante> previsao<-forecast(meu.modelo.1,h=3)

Retorna a previsão pontual (Point Forecast) e os intervalos de 80% e 95% de confiança

Page 18: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Plotando um gráfico com as previsões > plot(previsao)

Em azul estão as previsões pontuais.Em cinza escuro o intervalo de 80% e em cinza claro o de 95%

Page 19: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Plotando a série original, os valores ajustados, as previsões e os intervalos

Calcula os valores ajustados pelo modelo> preditos<-fitted(meu.modelo.1)Plota esses valores no gráfico anterior, em azul> lines(preditos,col=4)

Page 20: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Vendo o erro fora da amostraInserindo um vetor com as vendas dos três primeiros meses de 2012 vendas<-c(706,813,1088)

Transformando em série temporal> vendas<-ts(vendas,frequency=12,start=c(2010,1))> vendas Jan Feb Mar2010 706 813 1088

Calculando as medidas dos erros de previsãoaccuracy(previsao,vendas)

OBS: accuracy (modelo) retorna o erro dentro da amostra

Page 21: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Comparando com um modelo de suavização exponencial

Estimando um modelo de suavização exponencial> meu.modelo.2<-ets(cm)> summary(meu.modelo.2)

Page 22: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Efetuando as previsões (3 adiante) com o modelo 2 e verificando os erros de previsão

Compare agora essas medidas com as do modelo.1

Medidas dos erros – dentro da amostra – para o modelo 1 e modelo 2

Page 23: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

E, o gráfico...> plot(previsao.2)> preditos.2<-fitted(meu.modelo.2)> lines(preditos,col=4)

Page 24: Exemplo completo – ARIMA Pacote forecast – R Dados carrinho de mão

Considerações finais

• Neste exemplo vimos como utilizar os procedimentos automáticos do pacote forecast

• Mas, nada substitui a análise feita por um pesquisador, com base nos gráficos e informações presentes

• O modelo escolhido pode não ser o “melhor” modelo.

• Sugiro verificarem a função arima (?arima) e Arima (?Arima) no R