Dessazonalizando dados com análise de fourier


8

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?


Semelhante a stats.stackexchange.com/a/213455/17230 ? Regressão harmônica, ou regressão com termos de Fourier, eu acho. A ideia pode ser usada em vários tipos de modelo de série temporal.
Scortchi - Restabelece Monica

você pode postar enredo? mais contexto?
Matthew Gunn

Respostas:


5

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


1
Ame este exemplo. Era isso que eu estava procurando.
precisa saber é o seguinte

6

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:

yt+1=a+b1yt+b2yt1+ϵt+1

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:

  • p ordem termos auto-regressivos (como acima)
  • q ordem da média móvel
  • d diferenças (para obter os dados estacionários)

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:

  1. Você primeiro precisa obter uma série temporal estacionária . Por exemplo, com produto interno bruto ou consumo agregado, as pessoas geralmente pegam o logaritmo e calculam a primeira diferença. (A idéia básica é que a distribuição sobre as mudanças percentuais no consumo agregado é invariável ao longo do tempo.) Para obter uma série temporal estacionária partir do consumo agregado .C tΔctCt

Δct=logCtlogCt1
  1. Depois de ter uma série temporal estacionária, é fácil ajustar um modelo de AR (n) auto-regressivo. Você pode simplesmente fazer menos quadrados. Para um modelo AR (2), você pode executar a regressão.

yt=a+b1yt!+b2yt2+ϵt

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 ...


3

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:

sazonalidade aditiva versus multiplicativa

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 no forecastpacote para R .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.