Em geral, procure um livro didático avançado de análise de séries temporais (os livros introdutórios geralmente o direcionam a confiar apenas no seu software), como o Time Series Analysis da Box, Jenkins & Reinsel. Você também pode encontrar detalhes sobre o procedimento Box-Jenkins pesquisando no Google. Observe que existem outras abordagens além da Box-Jenkins, por exemplo, baseadas na AIC.
Em R, você primeiro converte seus dados em um ts
objeto (série temporal) e diz a R que a frequência é 12 (dados mensais):
require(forecast)
sales <- ts(c(99, 58, 52, 83, 94, 73, 97, 83, 86, 63, 77, 70, 87, 84, 60, 105, 87, 93, 110, 71, 158, 52, 33, 68, 82, 88, 84),frequency=12)
Você pode plotar as funções de autocorrelação (parcial):
acf(sales)
pacf(sales)
Isso não sugere nenhum comportamento de AR ou MA.
Então você ajusta um modelo e inspeciona:
model <- auto.arima(sales)
model
Veja ?auto.arima
para ajuda. Como vemos, auto.arima
escolhe um modelo simples (0,0,0), pois não vê tendência nem sazonalidade nem AR ou MA em seus dados. Por fim, você pode prever e plotar as séries temporais e previsões:
plot(forecast(model))
Veja ?forecast.Arima
(observe a capital A!).
Este livro online gratuito é uma ótima introdução à análise e previsão de séries temporais usando R. Muito recomendado.
Sua série temporal é mensal, são necessários pelo menos 4 anos de dados para uma estimativa sensata do ARIMA, pois 27 pontos refletidos não fornecem a estrutura de autocorrelação. Isso também pode significar que suas vendas são afetadas por alguns fatores externos, em vez de serem correlacionadas com seu próprio valor. Tente descobrir qual fator afeta suas vendas e se esse fator está sendo medido. Em seguida, você pode executar uma regressão ou VAR (Regressão automática de vetores) para obter previsões.
Se você absolutamente não tem mais nada além desses valores, sua melhor maneira é usar um método de suavização exponencial para obter uma previsão ingênua. A suavização exponencial está disponível em R.
Em segundo lugar, não vejo as vendas de um produto isoladamente, as vendas de dois produtos podem estar correlacionadas, por exemplo, o aumento nas vendas de café pode refletir uma diminuição nas vendas de chá. use as outras informações do produto para melhorar sua previsão.
Isso normalmente acontece com os dados de vendas no varejo ou na cadeia de suprimentos. Eles não mostram muito da estrutura de autocorrelação na série. Enquanto, por outro lado, métodos como ARIMA ou GARCH normalmente trabalham com dados do mercado de ações ou índices econômicos nos quais você geralmente tem autocorrelação.
fonte
Este é realmente um comentário, mas excede o permitido, por isso eu o publico como uma quase resposta, pois sugere a maneira correta de analisar dados de séries temporais. .
O fato bem conhecido, mas muitas vezes ignorado aqui e em outros lugares, é que o ACF / PACF teórico usado para formular um modelo ARIMA provisório pressupõe que não haja tendências de pulsos / mudanças de nível / pulsos sazonais / tendências da hora local. Além disso, premissa parâmetros constantes e variação constante de erros ao longo do tempo. Nesse caso, a 21ª observação (valor = 158) é facilmente sinalizada como um outlier / Pulse e um ajuste sugerido de -80 gera um valor modificado de 78. O ACF / PACF resultante da série modificada mostra pouca ou nenhuma evidência de estrutura estocástica (ARIMA). Nesse caso, a operação foi um sucesso, mas o paciente morreu. A amostra de ACF é baseada na covariância / variação e uma variação indevidamente inflada / inchada gera um viés descendente para a ACF. Keith Ord certa vez se referiu a isso como o "efeito Alice no País das Maravilhas"
fonte
Como foi apontado por Stephan Kolassa, não há muita estrutura em seus dados. As funções de autocorrelação não sugerem uma estrutura de ARMA (ver
acf(sales)
,pacf(sales)
) eforecast::auto.arima
não escolher qualquer AR ou ordem MA.No entanto, observe que o nulo de normalidade nos resíduos é rejeitado no nível de significância de 5%.
Nota adicional:
JarqueBera.test
é baseado na funçãojarque.bera.test
disponível no pacotetseries
.Incluindo o aditivo discrepante na observação 21 que é detectada com a
tsoutliers
normalidade dos resíduos. Assim, a estimativa da interceptação e a previsão não são afetadas pela observação periférica.fonte