Usualmente, quado desejamos fazer previsão há uma série de informações sobre o mercado que deveríamos levar em conta. Por exemplo, as vendas de produtos são muitas vezes sazonais, e podemos esperar que as tendências sejam sustentadas por períodos curtos, os quais podem se alterar.
Se temos por exemplo um produto inovador bem-sucedido, as vendas aumentarão inicialmente, mas depois estabilizarão antes de decrescer devido aos concorrentes que entram no mercado. Esse tipo de informação pode ser adequadamente modelada pelo método Holt-Winters.
A nomenclatura usada aqui define a mudança no nível de um período de tempo para o período seguinte, como inclinação (slope). Os padrões sazonais também podem mudar devido aos caprichos da moda e da variação do clima.
O método de Holt-Winters foi sugerido por Holt (1957) e Winters (1960), que
trabalharam no School of Industrial Administration em Carnegie Institute
of Technology.
O método usa médias móveis ponderadas exponencialemente para atualizar as estimativas da média ajustada sazonalmente (chamada de nível), inclinação e sazonalidade.
Considere uma série temporal $\{x_{t}\}$ com período igual a $p$. O método Holt-Winters utiliza as seguintes equações:
onde $a_{t}$, $b_{t}$ e $s_{t}$ são as estimativas para o nível, inclinação e efeito da sazonalidade no período $t$. Os parâmetros $\alpha$, $\beta$ e $\gamma$ são os parâmetros de suavização.
A previsão para valores futuros $x_{n+k}$ em $k$ períodos a frente após a $n$-ésima observação é dada da seguinte forma:
onde $a_{n}$ é o nível estimado, $b_{n}$ é a inclinação estimada e $a_{n}+kb_{n}$ é o nível estimado no tempo $n+k$ e $s_{n}+k-p$ é a estimativa do peso exponencializado para o efeito sazonal no tempo $n=k-p$. Outra forma do método Holt-Winters é com efeito sazonal multiplicativo. Nesse caso, o conjunto de equações é dado por:
A equação de previsão para o período $x_{n} + k$ torna-se:
Os parâmetros podem ser fixados no R ou então estimados de modo a minimizar o erro de previsão. Em outras palavras, quando os parâmetros não são informados, o R procura pelos valores que minimizam o erro de previsão.
Usando o método Holt-Winters no R.
Para realizar a estimação e posterior previsão pelo método Holt-Winters no R utilizamos a função HoltWinters.Para esse exemplo, considere a base de dados das concentrações atmosféricas de CO2 expressos em partes por milhão (ppm).
O nome da base em CSV é denominada BaseCO2.csv.
O primeiro passo é ler a base de dados no R:
#Lê a base de dados
dados.df<-read.csv("http://dl.dropbox.com/u/36068691/BaseCO2.csv")
#Imprime as variáveis existentes
names(dados.df)
#Cria a série temporal
serie<-ts(dados.df$CO2,start=c(1959,1),end=c(1997,12),frequency=12)
Os dados também foram transformados no formato ts com a primeira observação referente a Janeiro de 1959 e a última em Dezembro de 1997. O argumento frequency=12 informa ao R que cada período (de um ano) é composto por 12 observações. Em outras palavras, informa ao R que a frequência da série é mensal.
Em seguida utilizamos a função HoltWinters:
#Realiza o método Holt-Winters holt <- HoltWinters(serie) #Plota a série temporal plot(holt) #Plota a decomposição da serie plot(fitted(holt))A série temporal observada juntamente com seus valores preditos pelo modelo são representados no gráfico abaixo: O método decompõem a série temporal. Essa decomposição é apresentada a seguir: A previsão para o próximo ano com um intervalo de confiança de 95% é dado pelo seguinte comando:
#Realiza a previsão para 12 meses a frente p <- predict(holt, 12, prediction.interval = TRUE, level = 0.95) plot(holt, p)Cujo resultado é apresentado pelo gráfico abaixo: Caso não haja sazonalidade evidente, podemos fazer:
#Realiza o método Holt-Winters sem efeito sazonal holt <- HoltWinters(serie, gamma = FALSE)Para maiores detalhes do método Holt-Winters indico o texto The Holt-Winters Forecasting Procedure.






