Qual método pode ser usado para detectar a sazonalidade nos dados?

56

Quero detectar a sazonalidade nos dados que recebo. Existem alguns métodos que encontrei, como o gráfico de sub-séries sazonais e o gráfico de autocorrelação, mas o problema é que não entendo como ler o gráfico, alguém poderia ajudar? A outra coisa é: existem outros métodos para detectar a sazonalidade com ou sem o resultado final no gráfico?

Danial
fonte
11
você pode incluir o gráfico real que está tendo problemas para entender.
Karl
Mais preferencialmente, os dados originais que podem ser utilizados para gerar o ACF "problemático".
precisa saber é o seguinte
11
ver: journals.ametsoc.org/doi/abs/10.1175/JCLI-D-10-05012.1 Qian, C., Z Wu, C Fu e D Wang, 2011: Sobre a mudança do El Niño: uma visão anual variável no tempo ciclo, variabilidade interanual e estado médio. J. Climate, 24 (24), 6486–6500

Respostas:

70

Uma maneira realmente boa de encontrar periodicidade em qualquer série regular de dados é inspecionar seu espectro de potência após remover qualquer tendência geral . (Isso se presta bem à triagem automatizada quando a energia total é normalizada para um valor padrão, como a unidade.) A remoção preliminar de tendências (e a diferenciação opcional para remover a correlação serial) é essencial para evitar períodos de confusão com outros comportamentos.

O espectro de potência é a transformada discreta de Fourier da função de autocovariância de uma versão suavizada da série original. Se você considerar as séries temporais como amostra de uma forma de onda física, poderá estimar quanto da energia total da onda é transportada dentro de cada frequência. O espectro de potência (ou periodograma ) representa a potência versus frequência. Os padrões cíclicos (isto é, padrões repetitivos ou sazonais) aparecerão como grandes picos localizados em suas frequências.

Como exemplo, considere esta série temporal (simulada) de resíduos de uma medição diária realizada por um ano (365 valores).

série de resíduos

0

Aqui está outro gráfico dos mesmos dados, desenhado para nos ajudar a ver possíveis padrões periódicos.

série de resíduos preenchidos até 0

Se você parecer realmente duro, poderá discernir um padrão ruidoso, mas repetitivo, que ocorre de 11 a 12 vezes. As sequências longas de valores acima de zero e abaixo de zero sugerem pelo menos alguma autocorrelação positiva, mostrando que esta série não é completamente aleatória.

Aqui está o periodograma, mostrado para frequências de até 91 (um quarto da duração total da série). Foi construído com uma janela Welch e normalizado para a área da unidade (para todo o periodograma, não apenas a parte mostrada aqui).

periodograma

O poder parece "ruído branco" (pequenas flutuações aleatórias) mais dois picos proeminentes. Eles são difíceis de perder, não são? O maior ocorre em um período de 12 e o menor em um período de 52. Esse método detectou um ciclo mensal e um ciclo semanal nesses dados. Isso é realmente tudo o que existe. Para automatizar a detecção de ciclos ("sazonalidade"), basta digitalizar o periodograma (que é uma lista de valores) em busca de máximos locais relativamente grandes.

É hora de revelar como esses dados foram criados.

Dados decompostos em sinal mais ruído

Os valores são gerados a partir de uma soma de duas ondas senoidais, uma com frequência 12 (de amplitude ao quadrado 3/4) e outra com frequência 52 (de amplitude ao quadrado 1/4). Estes são os picos detectados no periodograma. Sua soma é mostrada como a curva preta grossa. Iid O ruído normal de variação 2 foi então adicionado, como mostrado pelas barras cinza claro que se estendem da curva preta aos pontos vermelhos. Esse ruído introduziu as manobras de baixo nível na parte inferior do periodograma, que de outra forma seriam apenas um zero. Totalmente dois terços da variação total dos valores são não periódicos e aleatórios, o que é muito barulhento: é por isso que é tão difícil perceber a periodicidade apenas olhando para os pontos. No entanto (em parte porque há muitos dados), é fácil encontrar as frequências com o periodograma e o resultado é claro.

Instruções e bons conselhos para calcular periodogramas aparecem no site de Receitas Numéricas : procure a seção "estimativa do espectro de potência usando a FFT". Rpossui código para estimativa do periodograma . Essas ilustrações foram criadas no Mathematica 8; o periodograma foi calculado com sua função "Fourier".

whuber
fonte
2
A suposição "após remover qualquer tendência geral" é o calcanhar de Aquiles, pois pode haver muitas tendências temporais, muitas mudanças de nível, todas excluídas no seu exemplo. A idéia de que as séries de entrada são determinísticas por natureza voa diante do possível presença de estrutura ARIMA sazonal e regular. Não tratados incomuns valores de uma só vez irá distorcer qualquer esquema de identificação baseada em periodograma devido a um viés de baixa para as estimativas periodograma rendimento não-significance.If semanal e / ou efeitos alterado mensalmente, em algum momento no passado, o procedimento baseado em periodograma seria um fracasso
IrishStat 29/09/11
@Irish Acho que seu comentário pode exagerar um pouco. É mais elementar procurar e tratar "Valores incomuns únicos" (também conhecidos como outliers), portanto, é importante mencionar que enfatizamos que alguns estimadores de séries temporais podem ser sensíveis a outliers. A "natureza determinista" deturpa as idéias básicas: ninguém supõe que haja determinismo (como evidenciado pela enorme quantidade de ruído na simulação). A simulação incorpora um sinal periódico definido como modelo - sempre aproximado na realidade - apenas para ilustrar a conexão entre o periodograma e a sazonalidade. (Continuação ...)
whuber
2
Sim, mudanças na sazonalidade podem obscurecer o periodograma (e o ACF, etc.), especialmente mudanças na frequência (improvável) ou na fase (possível). As referências no meu post fornecem uma solução para lidar com isso: elas recomendam o uso de uma janela móvel para a estimativa do periodograma. Há uma arte nisso, e claramente existem armadilhas, de modo que muitas análises de séries temporais se beneficiarão de tratamento especializado, como você advoga. Mas a pergunta pergunta se existem "outros métodos para detectar a sazonalidade" e inegavelmente o periodograma é uma opção estatisticamente poderosa, computacionalmente eficiente e prontamente interpretável.
whuber
No meu mundo, usar senos / cossenos são "efeitos determinísticos", muito parecidos com os indicadores do mês do ano. Ajustar qualquer modelo pré-especificado restringe os valores ajustados a um padrão especificado pelo usuário, geralmente abaixo do padrão. Os dados devem ser "escutados" para ajudar o analista / software avançado a discernir efetivamente entre entradas fixas e estocásticas. da série. Na minha opinião, a utilização do periodograma "sobrevende" a modelagem estatística simples
IrishStat
2
@whuber Repetir a mesma coisa pode não ser útil. No entanto, pode ser bom também fixar o parágrafo abaixo do periodograma para dizer que os picos estão localizados na "frequência de" 12 e 52 vezes por ano, e não no "período de". Corrigir o enredo também para dizer "frequência" em vez de "período" também pode ser bom se você achar que não é muito chato.
Celelibi
19

Aqui está um exemplo usando dados mensais sobre pedidos de registro de desemprego de uma cidade de Nova Jersey (da Stata, apenas porque foi o que eu analisei esses dados originalmente). Sazonalidade ACF

As alturas das linhas indicam a correlação entre uma variável e o sth lag de si; a área cinza mostra se essa correlação é significativa (esse intervalo é apenas um guia e não é a maneira mais confiável de testar a significância). Se essa correlação for alta, há evidências de correlação serial. Observe as alterações que ocorrem nos períodos 12, 24 e 36. Como esses são dados mensais, isso sugere que a correlação fica mais forte quando você olha períodos exatamente 1, 2 ou 3 anos antes. Isso é evidência de sazonalidade mensal.

Você pode testar esses relacionamentos estatisticamente, regredindo a variável em variáveis ​​simuladas, indicando o componente de sazonalidade - aqui, manequins mensais. Você pode testar o significado conjunto desses manequins para testar a sazonalidade.

Esse procedimento não está certo, pois o teste exige que os termos do erro não sejam correlacionados em série. Portanto, antes de testar esses manequins de sazonalidade, precisamos remover a correlação serial restante (geralmente incluindo atrasos da variável). Pode haver pulsos, quebras e todos os outros problemas de séries temporais que você precisa corrigir para obter os resultados apropriados do teste. Você não perguntou sobre isso, então não vou entrar em detalhes (além disso, há muitas perguntas sobre o currículo sobre esses tópicos). (Apenas para alimentar sua curiosidade, esta série requer os manequins do mês, um único atraso e um componente de turno para se livrar da correlação serial.)

Charlie
fonte
4

A sazonalidade pode e muda frequentemente ao longo do tempo, portanto, as medidas sumárias podem ser bastante inadequadas para detectar a estrutura. É preciso testar a transitoriedade dos coeficientes do ARIMA e, muitas vezes, as mudanças nos “manequins sazonais”. Por exemplo, em um horizonte de 10 anos, pode não ter havido um efeito de junho nos primeiros k anos, mas nos últimos 10 mil anos há evidências de um efeito de junho. Um simples efeito composto de junho pode não ser significativo, pois o efeito não foi constante ao longo do tempo. De maneira semelhante, um componente ARIMA sazonal também pode ter sido alterado. Deve-se tomar cuidado para incluir mudanças no nível local e / ou tendências da hora local, garantindo que a variação dos erros permaneça constante ao longo do tempo. Não se deve avaliar transformações como GLS / mínimos quadrados ponderados ou transformações de potência como toras / raízes quadradas, etc. nos dados originais, mas nos erros de um modelo experimental. As suposições gaussianas não têm nada a ver com os dados observados, mas tudo a ver com os erros do modelo. Isso se deve aos fundamentos dos testes estatísticos que usam a razão de uma variável qui-quadrado não central para uma variável qui-quadrado central.

Se você quiser publicar uma série de exemplos do seu mundo, ficarei feliz em fornecer a você e à lista uma análise completa que leve à detecção da estrutura sazonal.

IrishStat
fonte
1

A resposta de Charlie é boa, e é onde eu começaria. Se você não quiser usar gráficos ACF, poderá criar variáveis ​​fictícias k-1 para os k períodos presentes. Então você pode ver se as variáveis ​​dummy são significativas em uma regressão com as variáveis ​​dummy (e provavelmente um termo de tendência).

Se seus dados são trimestrais: o fictício Q2 é 1 se este for o segundo trimestre, caso contrário 0 fictício Q3 é 1 se for o terceiro trimestre, caso contrário 0 fictício Q4 é 1 se for o quarto trimestre, caso contrário 0 Nota trimestre 1 é o estojo base (todos os 3 manequins zero)

Você também pode verificar a "decomposição de séries temporais" no Minitab - geralmente chamada de "decomposição clássica". No final, você pode querer usar algo mais moderno, mas este é um lugar simples para começar.

zbicyclist
fonte
0

Gostaria de aceitar a oferta de ajuda do usuário IrishStat ou de qualquer outra pessoa da minha série de exemplos do mundo real. Estou tentando produzir um índice sazonal com base nos últimos 5 anos dos preços futuros do petróleo. Eu consegui produzir uma média simples Sazonal que pode ser vista aqui .

No entanto, gostaria de reproduzir um gráfico sazonal anual contínuo (acho que o rolamento significa que o início e o final do ano têm o mesmo valor) e está em uma escala de zero a 100, conforme mostrado na imagem abaixo: insira a descrição da imagem aqui

Há 15 anos de dados diários do nível de preços na planilha que podem ser baixados. Exemplo ou qualquer dica sobre como obter o que foi dito acima seria muito apreciado.

Andrej Kirda
fonte
-1

Sou um pouco novo para R, mas meu entendimento da função ACF é que, se a linha vertical ultrapassar a linha tracejada superior ou abaixo da linha tracejada inferior, haverá alguma regressão automática (incluindo a sazonalidade). Tente criar um vetor de seno

Bill Yarberry
fonte
A instalação de senos / cossenos etc. pode ser útil para algumas séries temporais físicas / elétricas, mas você deve estar ciente do MSB, viés de especificação do modelo.
precisa saber é o seguinte
11
A regressão automática não implica sazonalidade.
Jens