Teste para distinguir dados periódicos de quase periódicos

9

Suponha que eu tenha alguma função desconhecida com domínio , que sei cumprir algumas condições razoáveis, como continuidade. Eu conheço os valores exatos de f (porque os dados provêm de uma simulação) em alguns pontos de amostragem equidistantes t_i = t_0 + iΔt com i∈ \ {1,…, n \} , que posso assumir que sejam suficientemente bons para capturar tudo aspectos relevantes de f , por exemplo, posso assumir que existe no máximo um extremo local de f entre dois pontos de amostragem. Estou procurando um teste que me diga se meus dados estão em conformidade com f sendo exatamente periódico, ou seja, ∃τ: f (t + τ) = f (t) \, ∀ \, tffti=t0+iΔti{1,,n}fffτ:f(t+τ)=f(t)t, com a duração do período sendo um tanto razoável, por exemplo, Δt<τ<n·Δt (mas é concebível que eu possa criar restrições mais fortes, se necessário).

De outro ponto de vista, tenho dados x0,,xn e estou procurando um teste que responda à questão de saber se existe uma função periódica f (cumprindo as condições acima) para que f(ti)=xii .

O ponto importante é que f é pelo menos muito próximo da periodicidade (pode ser, por exemplo, f(t):=sin(g(t)·t) ou f(t):=g(t)·sin(t) com g(t)g(t0)/Δt ) na medida em que a alteração de um ponto de dados por uma pequena quantidade possa ser suficiente para fazer com que os dados estejam em conformidade com f sendo exatamente periódicos. Assim, ferramentas padrão para análise de frequência, como a transformada de Fourier ou a análise de cruzamentos zero, não ajudarão muito.

Observe que o teste que estou procurando provavelmente não será probabilístico.

Tenho algumas idéias de como projetar esse teste, mas quero evitar reinventar a roda. Então, eu estou procurando por um teste existente.

Wrzlprmft
fonte
4
Dado que você tem dados , você poderia explicar o que quer dizer com o teste não sendo "estatístico"? Que tipo de teste você tem em mente então?
whuber
11
A propósito, você pode querer começar aqui caso esteja procurando um teste estatístico de periodicidade.
Tchakravarty 13/09/14
2
Como foram determinados os pontos de amostragem? Como você presumivelmente não sabe exatamente o que é, então se outra pessoa fosse amostrar , eles não usariam "tempos" diferentes e, portanto, obteriam valores diferentes? Isso é variabilidade. Aliás, não existem dados exatos, a menos que você esteja realizando um exercício matemático teórico; portanto, seria uma boa idéia explicar como você encontrou os valores de . fff
whuber
2
Como @whuber e ameba estão dirigindo, essa pergunta permanecerá difícil de responder até que seja fornecida uma definição satisfatória de periódico e / ou teste . Dados pontos arbitrários amostrados sem erro, existem infinitamente muitas funções periódicas contínuas (usando a definição literal) que se ajustam aos pontos. É um simples exercício de interpolação. Mas isso obviamente não é mais uma resposta para sua pergunta do que o fato de que um conjunto de preditores aleatórios encaixará perfeitamente pontos por meio de regressão linear. Por isso, aguardamos ansiosamente o seu esclarecimento. nnn
cardeal
11
Para qualquer que não seja um múltiplo racional de , os dados que você possui sempre podem ser vistos como uma amostra de uma função periódica contínua do período porque você não tem observações exatamente um múltiplo integral de parte. Isso leva às observações do @ cardinal, que significam notar que essa conclusão é trivial demais para ser útil, mas, no entanto, você não forneceu nenhum critério para descartá-la. τΔtττ
whuber

Respostas:

0

Como disse, tive uma idéia de como fazer isso, que percebi, refinei e escrevi um artigo, que agora é publicado: Chaos 25, 113106 (2015) - pré-impressão no ArXiv .

O critério investigado é quase o mesmo que esboçado na pergunta: dados amostrados nos pontos de tempo , o teste decide se existe uma função e a modo que:x1,,xnt0,t0+Δt,,t0+nΔtf:[t0,t0+Δt]τ[2Δt,(n1)Δt]

  • f(t0+iΔt)=xii{1,,n}
  • f(t+τ)=f(t)t[t0,t0+Δtτ]
  • f não tem mais extremos locais do que a sequência , com a possível exceção de no máximo um extremo próximo ao início e ao fim de cada.xf

O teste pode ser modificado para levar em conta pequenos erros, como erros numéricos do método de simulação.

Espero que meu trabalho também responda por que eu estava interessado em fazer esse teste.

Wrzlprmft
fonte
-1

Transforme os dados no domínio da frequência usando a transformada de Fourier discreta (DFT). Se os dados forem perfeitamente periódicos, haverá exatamente um compartimento de frequência com um valor alto e outros compartimentos serão zero (ou próximo de zero, consulte vazamento espectral).

Observe que a resolução da frequência é dada por . Portanto, isso define o limite para a precisão da detecção.sampling frequencyNumber of samples

como um
fonte
11
Como já afirmei na pergunta, a transformação de Fourier (pelo menos por si só) não é remotamente precisa o suficiente para detectar as diferenças pelas quais estou interessado e dificilmente detectará qualquer diferença entre e . Além disso, o que você está reivindicando vale apenas para dados senoidais. Para outros dados, a sub-harmônica será exibida. sin(x)(1+εx)·sin(x)
Wrzlprmft
-2

Se você conhece o sinal periódico real, calcule

difference=|theoretical datameasured data|

Em seguida, some os elementos de . Se estiver acima de um limite (considere o erro da aritmética de ponto flutuante), os dados não serão periódicos.difference

asdsaj
fonte
11
Além do fato de eu não conhecer o sinal subjacente, isso não tem nada a ver com periodicidade, mas funcionaria sempre que eu conhecer o sinal subjacente.
Wrzlprmft