Wie füge ich dem linearen Regressionsmodell eine periodische Komponente hinzu?

17

Ich habe einige kumulative Frequenzdaten. Eine Linie passt sehr gut zu den Daten, aber es gibt ein zyklisches / periodisches Wackeln in der Linie. Ich möchte schätzen , wenn die kumulative Frequenz einen bestimmten Wert erreichen wird c . Wenn ich die Residuen gegen angepasste Werte zeichne, erhalte ich ein schönes sinusförmiges Verhalten.y=einx+bc

Um eine weitere Komplikation hinzuzufügen, beachten Sie, dass in den Residuendiagrammen

Alt-Text

Es gibt zwei Zyklen mit niedrigeren Werten als die anderen, was einen Wochenendeffekt darstellt, der ebenfalls berücksichtigt werden muss.

Also, wohin gehe ich von hier aus? Wie kann ich einen Cosinus, Sinus oder einen zyklischen Term zu einem Regressionsmodell zu ca. Schätzung, wann die kumulative Häufigkeit gleich ?c

Ryan Rosario
quelle

Antworten:

9

Sie könnten die wunderbare stl()Methode ausprobieren - sie zerfällt (unter Verwendung einer iterierten loess()Anpassung) in Trend und saisonale und Rest. Dies kann nur Ihre Schwingungen hier aufnehmen.

Dirk Eddelbüttel
quelle
8

Wenn Sie die Frequenz der Schwingung kennen, können Sie zwei zusätzliche Prädiktoren einschließen, sin (2π wt) und cos (2π wt) - stellen Sie w ein, um die gewünschte Wellenlänge zu erhalten - und dies modelliert die Schwingung. Sie benötigen beide Terme, um die Amplitude und den Phasenwinkel anzupassen. Wenn es mehr als eine Frequenz gibt, benötigen Sie für jede Frequenz einen Sinus- und Cosinus-Term.

Wenn Sie die Frequenzen nicht kennen, besteht die Standardmethode zum Isolieren mehrerer Frequenzen darin, die Daten abzutrennen (die Residuen aus der linearen Anpassung abzurufen, wie Sie es getan haben) und eine diskrete Fouriertransformation für die Residuen auszuführen. Eine schnelle und unkonventionelle Methode hierfür ist MS-Excel, das über ein Fourier-Analyse-Tool im Datenanalyse-Add-In verfügt. Führen Sie die Analyse anhand der Residuen durch, nehmen Sie den Absolutwert der Transformationen und zeichnen Sie das Ergebnis in einem Balkendiagramm auf. Die Peaks sind Ihre Hauptfrequenzkomponenten, die Sie modellieren möchten.

Wenn Sie diese zyklischen Prädiktoren hinzufügen, achten Sie in Ihrer Regression genau auf ihre p-Werte und passen Sie nicht zu stark an. Verwenden Sie nur die statistisch signifikanten Frequenzen. Leider kann dies die Anpassung der tiefen Frequenzen etwas erschweren.

Mike Anderson
quelle
2
Wenn Sie die Frequenzen aus den Daten abschätzen (wie bei der Fourier-Analyse) und sie dann als sin / cos-Terme in die Regression einbeziehen, sind ihre p-Werte bedeutungslos.
whuber
4

Beginnen wir mit der Beobachtung, dass gewöhnliche kleinste Quadrate, die für diese Daten geeignet sind, wahrscheinlich unangemessen sind. Wenn die einzelnen Daten, die akkumuliert werden, wie üblich zufällige Fehlerkomponenten aufweisen, ist der Fehler in den kumulativen Daten ( nicht die kumulativen Häufigkeiten - das ist etwas anderes als das, was Sie haben) die kumulative Summe aller Fehlerausdrücke. Dies macht die kumulativen Daten heteroskedastisch (sie werden mit der Zeit immer variabler) und stark positiv korreliert. Da sich diese Daten so regelmäßig verhalten und es so viele gibt, gibt es kein Problem mit der Anpassung Sie erhalten, aber Ihre Schätzungen der Fehler, Ihre Vorhersagen (worum es bei der Frage geht) und insbesondere Ihre Standardvorhersagefehler können weit entfernt sein.

Ein Standardverfahren zur Analyse solcher Daten beginnt mit den ursprünglichen Werten. Nehmen Sie die täglichen Unterschiede, um die höherfrequente sinusförmige Komponente zu entfernen. Nehmen Sie die wöchentlichen Unterschiede von denen, um einen möglichen Zyklus von Woche zu Woche zu entfernen. Analysieren Sie, was noch übrig ist. Die ARIMA- Modellierung ist ein leistungsstarker, flexibler Ansatz. Beginnen Sie jedoch einfach: Zeichnen Sie die differenzierten Daten, um zu sehen, was los ist, und fahren Sie dann fort. Beachten Sie auch, dass Ihre Schätzungen für den Wochenzyklus mit weniger als zwei Datenwochen schlecht sind und diese Unsicherheit die Unsicherheit in den Vorhersagen dominieren wird.

whuber
quelle
2

Offensichtlich hat die dominante Schwingung eine Periode von einem Tag. Anscheinend gibt es auch Komponenten mit niedrigeren Frequenzen, die sich auf den Wochentag beziehen. Fügen Sie also eine Komponente mit einer Frequenz von einer Woche (dh einem Siebtel eines Tages) und den ersten Harmonischen hinzu. Das ergibt ein Modell der Form:

E(y)=c+ein0cos(2πt)+b0Sünde(2πt)+ein1cos(2πt/7)+b1Sünde(2πt/7)+ein2cos(4πt/7)+b2Sünde(4πt/7)+

ty

ein Stop
quelle
-2

Warum nicht einfach einen GA verwenden, um die Amplitude, Periode und Phase einer Sinus- (oder Cosinus-) Reihe nacheinander zu finden und dann zu kombinieren? Optimieren Sie Folgendes: (n (n-1) / ((np-1) ^ 2 (np-2))) RSS

Mark Campbell
quelle
1
Es ist unklar, wie dies die Frage nach der Berechnung einer inversen kumulativen Frequenzfunktion beantwortet. Und was meinst du mit einem "GA"? Genetischen Algorithmus? Etwas anderes?
Whuber