Coleção series-temporais

Periodicidade (Fisher)

Fisher: existe uma periodicidade escondida?

O que o bloco faz

Procura uma PERIODICIDADE ESCONDIDA. Decompõe a série nas ondas de todos os períodos que ela comporta — o periodograma — e pergunta se o MAIOR pico é maior do que o acaso produziria. A estatística é o g, a fração da potência total que esse pico sozinho carrega (eq. 3.41 da dissertação). H0 é “a série não tem periodicidade”, e rejeitar é concluir que há um ciclo.

É o irmão do series/seasonality_kw, e os dois fazem a pergunta em sentidos opostos. O Kruskal-Wallis COMPARA ESTAÇÕES QUE VOCÊ JÁ DECLAROU: ele lê a frequência da série para saber o que é janeiro, e responde se aquelas estações diferem. Este aqui CAÇA UM PERÍODO DESCONHECIDO: não pergunta a frequência a ninguém, varre a grade inteira e diz onde está o pico. Quem já sabe qual é o ciclo e quer saber se ele é real usa o Kruskal-Wallis; quem desconfia de um ciclo e não sabe qual, usa este.

O pico pode não ser uma estação

É o ponto que mais engana desta página: o teste acha o maior pico ONDE QUER QUE ELE ESTEJA, e nem todo pico é estação. Cinco séries do R, medidas:

série            m      g       zα (5%)   p            período do pico
AirPassengers   71   0.5019    0.0984    4.627e-20     12 observações
UKgas           53   0.5531    0.1252    3.434e-17      4 observações
nottem         119   0.9140    0.0636    2.268e-124    12 observações
lh              23   0.2357    0.2432    6.193e-02      8 observações
Nile            49   0.1833    0.1335    2.944e-03    100 observações

O Nile REJEITA — e não tem sazonalidade nenhuma. Olhe o período: 100 observações, que é a série inteira. O ciclo não chega a se repetir uma segunda vez dentro dos dados, e isso não é estação; é a tendência e a estrutura de baixa frequência que sobraram depois de tirar a reta. Um pico sazonal se REPETE dentro da série: poucas observações por ciclo e muitos ciclos, como os 12 do AirPassengers. O primeiro período da grade, N, é justamente o contrário — um ciclo só, que é tendência e não estação —, e é nele que o Nile caiu.

m é o número de ordenadas que entram no g: as m = (N − 1) ÷ 2 (inteiro) frequências de Fourier, sem a frequência zero e sem a de Nyquist — em série de tamanho par, o período de duas observações fica de fora, porque a ordenada dele tem metade dos graus de liberdade das outras e a distribuição de g supõe todas iguais (Fisher, 1929). Até a versão 1 do bloco ela entrava na soma.

Remover antes

  • reta (padrão) — tira uma reta de mínimos quadrados antes do periodograma, como na dissertação. É o teste de Fisher aplicado aos resíduos da reta, e evita que uma tendência linear vire o maior pico.
  • media — tira só a média: a formulação original de Fisher (1929) e a de GeneCycle::fisher.g.test. No AirPassengers o pico passa a ser o período de 144 observações — a tendência —, e a nota avisa.

Por isso o bloco publica o PERÍODO junto com o veredito, e a nota avisa em voz alta quando o pico não se repete ao menos duas vezes. Um “há periodicidade” lido sem olhar o período é o erro mais fácil de cometer aqui.

O período sai em observações

O periodograma mede frequência em ciclos por unidade de tempo, e o inverso disso viria na unidade de tempo da série — num AirPassengers mensal, a estação de doze meses apareceria como o número 1, que se lê como “um mês” e inverte o sentido da frase. O bloco converte para OBSERVAÇÕES: o mesmo pico sai como 12, que é o que se conta no gráfico. Em série de frequência 1 os dois números coincidem. Junto vai quantas vezes o ciclo cabe na série — 12 no AirPassengers, 1 no Nile —, que é a leitura já feita do período.

O corte da dissertação e o p-valor

A dissertação decide comparando o g com o valor crítico zα = 1 - (α/m)^(1/(m-1)) (eq. 3.42), rejeitando quando o g passa de zα. Essa fórmula é o PRIMEIRO termo da distribuição exata de Fisher (1929), e é exata só quando o crítico passa de 1/2; abaixo disso ela é conservadora. O bloco usa a distribuição exata inteira, nos dois lados: o p-valor é a soma completa, e o zα publicado é o quantil exato a 5% dela. As duas regras são, então, A MESMA por construção: nas cinco séries acima elas concordam, inclusive no caso apertado do lh, onde o g fica ABAIXO de zα e o p-valor ACIMA de 5%. Para que a comparação da dissertação possa ser conferida direto no card, o zα sai publicado como o valor crítico a 5%, ao lado do p-valor.

Não precisa de estação declarada, mas precisa de tamanho

Ao contrário do series/seasonality_kw, este bloco ACEITA série de frequência 1: ele não agrupa por estação, e o periodograma existe para qualquer série. Recusar frequência 1 bloquearia justamente o uso para o qual ele serve — caçar um período que ninguém declarou —, e foi assim que a linha do Nile da tabela acima foi medida.

O que ele pede são oito observações. O limite vem da GRADE: com N observações o periodograma só enxerga os períodos N, N/2, N/3 e assim por diante, e o menor ciclo que esta coleção sabe declarar é o trimestral. Para que um período 4 exista nessa grade e ainda se repita duas vezes dentro da série são precisas oito observações — em N igual a 8 a grade tem o 4, em N igual a 7 ela não tem. Abaixo disso o “período do pico” não é uma escolha entre alternativas: é o único lugar onde ele poderia cair.

O que sai

O g, o p-valor e a conclusão em palavras; o período do pico e o número de ciclos vão em colunas extras, e o zα na coluna do valor crítico a 5%. A decisão é a 5%. A cauda é a SUPERIOR: é o g grande — o pico que concentra a potência — que derruba H0.

Faltantes

Este bloco não aceita faltantes: série com buraco põe o nó em vermelho. Ligue um series/interpolate antes, ou recorte a parte cheia com series/window.

Antes de continuar

Termos que esta página usa, em poucas palavras. As definições completas estão no glossário.

Hipótese nula
A afirmação que o teste põe à prova, em geral a de que não há efeito ou diferença (médias iguais, ausência de tendência). O teste mede o quanto os dados são incompatíveis com ela; não rejeitá-la não prova que ela é verdadeira.
p-valor
A probabilidade de obter um resultado tão extremo quanto o observado, ou mais, se a hipótese nula fosse verdadeira. p-valor pequeno indica dados pouco compatíveis com a hipótese nula; ele não é a probabilidade de a hipótese nula ser verdadeira nem mede o tamanho do efeito.
Autocorrelação
A correlação de uma série com ela mesma deslocada no tempo: o valor de hoje parecido com o de ontem. É o padrão que os modelos de séries descrevem, e o que torna inválidos os testes que supõem observações independentes.
Tendência
O movimento de longo prazo de uma série, de subida ou de descida, separado das oscilações de curto prazo e da sazonalidade.
Sazonalidade
Um padrão que se repete em intervalos fixos do calendário, como mais chuva em janeiro ou mais vendas em dezembro. O período sazonal é o comprimento do ciclo: 12 para dados mensais com ciclo anual.

Quando usar

Procure periodicidade em uma série quando o ciclo não estiver especificado previamente. A frequência e o intervalo observado condicionam quais períodos podem ser detectados.

Pressupostos

  • Sob H0 a série é ruído branco gaussiano (independente, normal, variância constante) em torno de uma reta (remover = reta) ou de uma média (media, a formulação de Fisher 1929): é daí que sai a distribuição exata de g sobre as m = (N − 1) ÷ 2 ordenadas de Fourier, sem a de Nyquist.

    Verificar:Correlograma (ACF)Ljung-Box

    Se falhar: Autocorrelação sem ciclo (um AR, por exemplo) já concentra potência nas frequências baixas e faz o teste rejeitar: leia o período do pico.

  • A tendência é no máximo linear (com reta, o periodograma a remove; com media, nem isso). Tendência curva ou estrutura de baixa frequência vira um pico no período da série inteira.

    Verificar:Série no tempo

    Se falhar: Diferencie antes (series/diff) e desconfie de pico que não se repete (a nota avisa).

  • A periodicidade cai na grade de Fourier (período N/j) e há uma dominante: o teste olha só o maior pico.

    Verificar:Correlograma (ACF)Gráfico sazonal

Configuração

  • Remover antes — reta (padrão) ou media: o que sai da série antes do periodograma.

Uma entrada: serie.

Exemplo

Fluxo 1

Série de exemplo
Periodicidade (Fisher)

Fluxo 2

Série de exemplo
Periodicidade (Fisher)
library(trama)

reg <- tr_registry()
tr_use("trama.series", registry = reg)

tr_flow(reg) |>
  tr_add("pax", "series/example") |>
  tr_add("f", "series/periodicity_fisher", from = "pax")

tr_flow(reg) |>
  tr_add("nilo", "series/example", dataset = "Nile") |>
  tr_add("f", "series/periodicity_fisher", from = "nilo")

Como interpretar

Um teste (data/test), com o período do pico e o número de ciclos em colunas extras, e o zα da dissertação na coluna do valor crítico a 5%. Ligado numa entrada de tabela, ele vira UMA linha de relatório: um data/bind_rows junta vários testes num só quadro.