Eu tenho um dado que tem dois comportamentos subjacentes. Primeiro, há uma periodicidade nele. Parece uma curva senoidal. Em segundo lugar, os pontos de dados têm crescimento constante. Portanto, se eu tiver 100 pontos de dados sem crescimento, será semelhante a uma curva senoidal. Mas devido à taxa de crescimento nele. há um aumento de magnitude indo do ponto 1 ao ponto 100.
Não sei qual é o termo certo para pesquisar no google. Existe um método para esse tipo de análise de dados?
time-series
seasonality
trend
fourier-transform
user1243255
fonte
fonte
Respostas:
O termo que você procura é "decomposição de tendências e sazonalidades de séries temporais". Google isso.
Existem muitas abordagens. Se você realmente tiver apenas 100 pontos, Fourier não funcionará muito bem. As abordagens baseadas em Yule-Walker podem funcionar melhor. Existem também abordagens baseadas em filtros. Por exemplo, filtros de passe de banda do Google, como o bpassm do Atlanta Fed. A idéia é que você filtre diferentes componentes de frequência da série, para que a baixa frequência seja tendência, a freqüência média o sinal e a alta frequência - sazonalidade etc.
Há um conjunto completo de códigos neste exemplo do matlab . Leva você passo a passo pelo processo de dessazonalização, funciona muito bem para dados econômicos na minha experiência
fonte
Modelos auto-regressivos clássicos podem lidar com ciclos! Voltando, Yule (1927) e Walker (1931) modelaram a periodicidade das manchas solares usando uma equação da forma:
A atividade das manchas solares tende a operar em ciclos de 11 anos e, embora não seja imediatamente óbvio, a inclusão de dois termos auto-regressivos pode criar um comportamento cíclico! Modelos auto-regressivos agora são onipresentes na análise de séries temporais modernas. O US Census Bureau usa um modelo ARIMA para calcular o ajuste sazonal.
De maneira mais geral, você pode ajustar um modelo ARIMA que envolva:
Se você mergulhar na matemática , há uma relação entre os modelos ARIMA e as representações no domínio da frequência com uma transformação de Fourier. Você pode representar um processo estacionário de série temporal usando um modelo auto-regressivo, modelo de média móvel ou a densidade espectral.
Caminho prático a seguir:
Claro que você pode ficar mais chique, mas muitas vezes coisas simples podem funcionar surpreendentemente bem. Existem pacotes bem desenvolvidos para análise de séries temporais em R, EViews, Stata, etc ...
fonte
Se seus dados são uma série temporal, convém analisar a suavização exponencial tripla, também conhecida como método de Holt-Winters. Isso pode acomodar sazonalidade aditiva (onde a amplitude sazonal não cresce com a tendência ascendente ao longo do tempo) e sazonalidade multiplicativa. Aqui está a diferença:
Esta seção no livro previsão on-line livre de Hyndman & Athanasopoulos' explica Holt-Winters. Aqui está toda a taxonomia dos métodos de suavização exponencial, com base em Gardner (2006, International Journal of Forecasting ) . Para realmente modelar tal série, tendência extrato, componentes sazonais e de erro e de previsão, eu recomendo a
ets()
função noforecast
pacote para R .fonte