Angenommen, ich habe eine unbekannte Funktion mit Domäne ℝ , von der ich weiß, dass sie einige vernünftige Bedingungen wie Kontinuität erfüllt. Ich kenne die genauen Werte von f (weil die Daten aus einer Simulation stammen) an einigen äquidistanten Abtastpunkten t_i = t_0 + iΔt mit i∈ \ {1,…, n \} , von denen ich annehmen kann, dass sie ausreichend fein sind, um alle zu erfassen relevante Aspekte von f , z. B. kann ich annehmen, dass sich zwischen zwei Abtastpunkten höchstens ein lokales Extremum von f befindet . Ich suche nach einem Test, der mir sagt, ob meine Daten mit f genau periodisch übereinstimmen , dh ∃τ: f (t + τ) = f (t) \, ∀ \, t fwobei die Periodenlänge etwas resonant ist, zum Beispiel (aber es ist denkbar, dass ich bei Bedarf stärkere Einschränkungen vornehmen kann).
Unter einem anderen Gesichtspunkt habe ich Daten und suche nach einem Test, der die Frage beantwortet, ob eine periodische Funktion (die die Bedingungen wie oben erfüllt) existiert, so dass .
Der wichtige Punkt ist, dass zumindest sehr nahe an der Periodizität liegt (es könnte zum Beispiel oder mit ) in dem Maße, in dem das Ändern eines Datenpunktes um einen kleinen Betrag ausreichen kann, um die Daten so zu gestalten, dass genau periodisch ist. Daher helfen Standardwerkzeuge für die Frequenzanalyse wie die Fourier-Transformation oder die Analyse von Nulldurchgängen nicht viel.
Beachten Sie, dass der gesuchte Test wahrscheinlich nicht probabilistisch ist.
Ich habe einige Ideen, wie ich einen solchen Test selbst entwerfen kann, möchte aber vermeiden, das Rad neu zu erfinden. Ich suche also einen vorhandenen Test.
quelle
Antworten:
Wie gesagt, ich hatte eine Idee, wie ich das machen sollte. Ich erkannte, verfeinerte und schrieb einen Artikel darüber, der jetzt veröffentlicht wird: Chaos 25, 113106 (2015) - Preprint auf ArXiv .
Das untersuchte Kriterium ist fast das gleiche wie in der Frage skizziert: Bei gegebenen Daten die zu den Zeitpunkten , entscheidet der Test, ob es eine Funktion und a so dass:x1,…,xn t0,t0+Δt,…,t0+nΔt f:[t0,t0+Δt]→R τ∈[2Δt,(n−1)Δt]
Der Test kann geändert werden, um kleine Fehler wie numerische Fehler der Simulationsmethode zu berücksichtigen.
Ich hoffe, dass meine Arbeit auch antwortet, warum ich an einem solchen Test interessiert war.
quelle
Transformieren Sie die Daten mithilfe der diskreten Fourier-Transformation (DFT) in einen Frequenzbereich . Wenn die Daten perfekt periodisch sind, gibt es genau einen Frequenzbereich mit einem hohen Wert, und andere Bereiche sind Null (oder nahe Null, siehe Spektralverlust).
Beachten Sie, dass die Frequenzauflösung durch . Dies setzt also die Grenze für die Erkennungsgenauigkeit.sampling frequencyNumber of samples
quelle
Wenn Sie das tatsächliche periodische Signal kennen, berechnen Sie
Summiere dann die Elemente von . Wenn es über einem Schwellenwert liegt (Fehler aus der Gleitkomma-Arithmetik berücksichtigen), sind die Daten nicht periodisch.difference
quelle