Test per distinguere i dati periodici da quelli quasi periodici


9

Supponiamo di avere una funzione sconosciuta con il dominio , che conosco per soddisfare alcune condizioni ragionevoli come la continuità. Conosco i valori esatti di f (perché i dati provengono da una simulazione) in alcuni punti di campionamento equidistanti t_i = t_0 + iΔt con i∈ \ {1, ..., n \} , che posso assumere per essere sufficientemente bene per catturare tutto aspetti rilevanti di f , ad esempio, posso supporre che ci sia al massimo un estremo locale di f tra due punti di campionamento. Sto cercando un test che mi dica se i miei dati soddisfano che f è esattamente periodico, cioè ieτ: f (t + τ) = f (t) \, ∀ \, tffti=t0+iΔti{1,,n}fffτ:f(t+τ)=f(t)t, con la durata del periodo leggermente risonabile, ad esempio Δt<τ<n·Δt (ma è concepibile che io possa fare vincoli più forti, se necessario).

Da un altro punto di vista, ho i dati x0,,xn e sto cercando un test che risponda alla domanda se esiste una funzione periodica f (soddisfacendo le condizioni come sopra) tale che f(ti)=xii .

Il punto importante è che f è almeno molto vicino alla periodicità (potrebbe essere ad esempio f(t):=sin(g(t)·t) o f(t):=g(t)·sin(t) con g(t)g(t0)/Δt ) nella misura in cui cambiare un punto dati di una piccola quantità può essere sufficiente per far sì che i dati rispettino f essendo esattamente periodici. Pertanto, strumenti standard per l'analisi di frequenza come la trasformata di Fourier o l'analisi di passaggi a zero non saranno di grande aiuto.

Si noti che il test che sto cercando non sarà probabilmente probabilistico.

Ho alcune idee su come progettare un test del genere, ma voglio evitare di reinventare la ruota. Quindi sto cercando un test esistente.


4
Dato che disponi di dati , potresti spiegare cosa intendi con il test non essendo "statistico"? Che tipo di test hai in mente allora?
whuber

1
Tra l'altro, si potrebbe desiderare di iniziare qui nel caso in cui si sta cercando un test statistico di periodicità.
Tchakravarty,

2
Come sono stati determinati i punti di campionamento? Dato che presumibilmente non sai esattamente cosa sia , allora se qualcun altro dovesse campionare , non userebbero "tempi" diversi e quindi otterrebbero valori diversi? Questa è variabilità. Per inciso, non esistono dati esatti a meno che tu non stia eseguendo un esercizio matematico teorico, quindi sarebbe una buona idea spiegare come hai trovato i valori di . fff
whuber

2
Poiché @whuber e ameba stanno guidando, questa domanda rimarrà difficile a cui rispondere finché non viene fornita una definizione soddisfacente di periodica e / o test . Dati punti arbitrari campionati senza errori ci sono infinite funzioni periodiche continue (usando la definizione letterale) che si adatteranno ai punti. È un semplice esercizio di interpolazione. Ma questa ovviamente non è più una risposta alla tua domanda del fatto che un insieme di predittori casuali si adatterà perfettamente a punti tramite regressione lineare. Quindi, aspettiamo con fiato sospeso il tuo chiarimento. nnn
cardinale il

1
Per qualsiasi che non sia un multiplo razionale di , i dati che hai possono sempre essere visti come un campione di una funzione periodica continua del periodo perché non hai osservazioni esattamente un multiplo integrale di parte. Questo porta alle osservazioni di @ cardinale, il che equivale a notare che questa conclusione è troppo banale per essere utile, ma tuttavia non hai fornito alcun criterio per escluderlo. τΔtττ
whuber

Risposte:


0

Come ho detto, ho avuto un'idea di come farlo, di cui ho realizzato, perfezionato e scritto un articolo, che ora è pubblicato: Chaos 25, 113106 (2015) - prestampa su ArXiv .

Il criterio studiato è quasi lo stesso delineato nella domanda: dati dati campionati ai punti temporali , il test decide se esiste una funzione e a tale che: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 non ha estremi più locali della sequenza , con la possibile eccezione al massimo di un estremo vicino all'inizio e alla fine di ciascuno.xf

Il test può essere modificato per tenere conto di piccoli errori, come errori numerici del metodo di simulazione.

Spero che il mio articolo risponda anche al motivo per cui ero interessato a tale test.


-1

Trasforma i dati in un dominio di frequenza utilizzando la trasformata discreta di Fourier (DFT). Se i dati sono perfettamente periodici, ci sarà esattamente un bin di frequenza con un valore elevato e gli altri bin saranno zero (o vicino allo zero, vedere dispersione spettrale).

Si noti che la risoluzione della frequenza è data da . Quindi questo imposta il limite per la precisione del rilevamento.sampling frequencyNumber of samples


1
Come ho già affermato nella domanda, la trasformata di Fourier (almeno da sola) non è nemmeno lontanamente abbastanza precisa per rilevare le differenze che mi interessano e difficilmente rileverà alcuna differenza tra e . Inoltre, ciò che stai rivendicando vale solo per i dati sinusoidali. Per qualsiasi altro dato, appariranno i submonmonici. sin(x)(1+εx)·sin(x)
Wrzlprmft,

-2

Se conosci l'attuale segnale periodico, calcola

difference=|theoretical datameasured data|

Quindi sommare gli elementi di . Se è al di sopra di una soglia (considerare l'errore dall'aritmetica in virgola mobile) i dati non sono periodici.difference


1
A parte il fatto che non conosco il segnale sottostante, questo non ha nulla a che fare con la periodicità ma funzionerebbe ogni volta che conosco il segnale sottostante.
Wrzlprmft,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.