In einem Kommentar zu dieser Frage zitierte Benutzer @whuber die Möglichkeit, eine periodische Version von Splines zu verwenden, um periodische Daten anzupassen. Ich würde gerne mehr über diese Methode erfahren, insbesondere über die Gleichungen, die die Splines definieren, und wie man sie in der Praxis implementiert (ich bin meistens ein R
Benutzer, kann aber bei Bedarf mit MATLAB oder Python auskommen). Auch, aber dies ist ein "nice to have", wäre es großartig, über mögliche Vor- und Nachteile in Bezug auf die Anpassung trigonometrischer Polynome Bescheid zu wissen, wie ich normalerweise mit dieser Art von Daten umgehe (es sei denn, die Antwort ist nicht sehr glatt). In diesem Fall wechsle ich zum Gaußschen Prozess mit periodischem Kernel.
quelle
Antworten:
Splines werden in der Regressionsmodellierung verwendet, um möglicherweise komplexe, nichtlineare Funktionsformen zu modellieren. Ein Spline-Glättungstrend besteht aus stückweise kontinuierlichen Polynomen, deren Leitkoeffizient sich an jedem Haltepunkt oder Knoten ändert. Der Spline kann sowohl hinsichtlich des Polynomgrades des Trends als auch der Haltepunkte angegeben werden. Eine Spline-Darstellung einer Kovariate erweitert einen einzelnen Vektor beobachteter Werte in eine Matrix, deren Dimension der Polynomgrad plus die Anzahl der Knoten ist.
Eine periodische Version von Splines ist lediglich eine periodische Version einer Regression: Die Daten werden in Replikate der Länge der Periode geschnitten. So würde beispielsweise die Modellierung eines Tagesverlaufs in einem mehrtägigen Experiment an Ratten eine Rekodierungszeit des Experiments in Schritten von 24 Stunden erfordern, sodass die 154. Stunde der Modulo-24-Wert von 10 (154 = 6 * 24 + 10) wäre. Wenn Sie eine lineare Regression an die Schnittdaten anpassen, wird eine Sägezahnwellenform für den Trend geschätzt. Wenn Sie eine Schrittfunktion irgendwo in der Periode anpassen, ist dies eine Rechteckwellenform, die zur Serie passt. Der Spline kann ein viel komplexeres Wavelet ausdrücken. Für das, was es wert ist
splines
, gibt es im Paket eine Funktion,periodicSpline
die genau dies tut.Ich finde Rs Standard-Spline-Implementierung "bs" nicht nützlich für die Interpretation. Also habe ich unten mein eigenes Skript geschrieben. Für einen Spline vom Grad mit Knoten gibt diese Darstellung den ersten Spalten die Standardpolynomdarstellung, die ten Spalten ( ) werden einfach als ) bewertet wobei der tatsächliche Knotenvektor ist.n k p p + i i ≤ n k S p + i = ( X - k i ) p I ( X < k i ) kp nk p p+i i≤nk Sp+i=(X−ki)pI(X<ki) k
Interpolieren Sie für eine kleine Fallstudie einen sinusförmigen Trend in der Domäne von 0 bis (oder ) wie folgt:τ2π τ
Sie werden sehen, dass sie ziemlich übereinstimmen. Ferner ermöglicht die Namenskonvention die Interpretation. In der Regressionsausgabe sehen Sie:
Der erste Satz von Kovariaten für meinen Spline1.1-Grad ist der Polynomtrend für die erste Domäne hinter dem ersten Haltepunkt. Der lineare Term ist die Steigung der Tangente am Ursprung, X = 0. Dies ist fast 1, was durch die Ableitung der Sinuskurve (cos (0) = 1) angezeigt würde, aber wir müssen bedenken, dass dies Näherungen sind und der Fehler der Extrapolation des quadratischen Trends out anfällig ist zum Fehler. Der quadratische Term zeigt eine negative, konkave Form an. Der Ausdruck spline2.2 gibt einen Unterschied zur ersten quadratischen Steigung an, der zu einem positiven Leitkoeffizienten von 0,4 führt, der eine nach oben gerichtete konvexe Form anzeigt. Wir haben jetzt also eine Interpretation für die Spline-Ausgabe und können die Inferenz und Schätzungen entsprechend beurteilen.π/2
Ich gehe davon aus, dass Sie die Periodizität der vorliegenden Daten kennen. Wenn den Daten eine Wachstums- oder gleitende Durchschnittskomponente fehlt, können Sie eine lange Zeitreihe in Replikate einer kurzen Reihe mit einer Dauer von 1 Periode umwandeln. Sie haben jetzt Replikate und können die Datenanalyse verwenden, um den wiederkehrenden Trend abzuschätzen.
Angenommen, ich generiere die folgenden etwas lauten, sehr langen Zeitreihen:
Die resultierende Ausgabe zeigt eine angemessene Leistung.
quelle