Diese Frage ist möglicherweise zu grundlegend. Für einen zeitlichen Trend von Daten möchte ich den Punkt herausfinden, an dem "abrupte" Änderungen auftreten. In der ersten Abbildung unten möchte ich beispielsweise den Änderungspunkt mithilfe einer statistischen Methode ermitteln. Und ich möchte eine solche Methode auf einige andere Daten anwenden, deren Änderungspunkt nicht offensichtlich ist (wie in der zweiten Abbildung). Gibt es also eine übliche Methode für diesen Zweck?
time-series
trend
change-point
user2230101
quelle
quelle
Antworten:
Wenn die Beobachtungen Ihrer Zeitreihendaten mit den unmittelbar vorhergehenden Beobachtungen korrelieren, könnte Sie das Papier von Chen und Liu (1993) [ 1 ] interessieren. Es beschreibt eine Methode zur Erkennung von Pegelverschiebungen und vorübergehenden Änderungen im Rahmen autoregressiver Zeitreihenmodelle mit gleitendem Durchschnitt.[1]
[1]: Chen, C. und Liu, LM. (1993),
"Joint Estimation of Model Parameters and Outlier Effects in Time Series",
Journal der American Statistical Association , 88 : 421, 284-297
quelle
Dieses Problem in Stats wird als (univariate) zeitliche Ereigniserkennung bezeichnet. Die einfachste Idee ist die Verwendung eines gleitenden Durchschnitts und einer Standardabweichung. Jeder Messwert, der außerhalb der 3 Standardabweichungen liegt (Faustregel), wird als "Ereignis" betrachtet. Es gibt natürlich fortgeschrittenere Modelle, die HMMs oder Regression verwenden. Hier ist eine einführende Übersicht über das Gebiet .
quelle
quelle
Es gibt ein damit verbundenes Problem, eine Reihe oder Sequenz in Zaubersprüche mit idealerweise konstanten Werten zu unterteilen. Siehe Wie kann ich numerische Daten in natürlich bildende "Klammern" gruppieren? (zB Einkommen)
Es ist nicht ganz das gleiche Problem, da die Frage Zauber mit langsamer Drift in eine oder alle Richtungen nicht ausschließt, jedoch ohne abrupte Änderungen.
Eine direktere Antwort ist zu sagen, dass wir nach großen Sprüngen suchen, daher besteht das einzige wirkliche Problem darin, den Sprung zu definieren. Die erste Idee ist dann, nur die ersten Unterschiede zwischen benachbarten Werten zu betrachten. Es ist nicht einmal klar, dass Sie dies verfeinern müssen, indem Sie zuerst das Rauschen entfernen. Wenn Sprünge nicht von Rauschunterschieden unterschieden werden können, können sie sicherlich nicht abrupt sein. Auf der anderen Seite möchte der Fragesteller offensichtlich, dass abrupte Änderungen sowohl rampenförmige als auch schrittweise Änderungen umfassen, so dass einige Kriterien wie Varianz oder Reichweite innerhalb von Fenstern fester Länge erforderlich erscheinen.
quelle
Der Bereich der Statistik, nach dem Sie suchen, ist die Änderungspunktanalyse. Es ist eine Website , hier das gibt Ihnen einen Überblick über die Gegend und hat auch eine Seite für Software.
Wenn Sie ein
R
Benutzer sind, würde ich daschangepoint
Paket für Änderungen im Mittelwert und dasstrucchange
Paket für Änderungen in der Regression empfehlen . Wenn Sie Bayesianer sein wollen, dann ist dasbcp
Paket auch gut.Im Allgemeinen müssen Sie einen Schwellenwert auswählen, der die Stärke der gesuchten Änderungen angibt. Es gibt natürlich Schwellenwerte, die in bestimmten Situationen empfohlen werden, und Sie können auch asymptotische Konfidenzniveaus oder Bootstrapping verwenden, um Vertrauen zu gewinnen.
quelle
Dieses Inferenzproblem hat viele Namen, einschließlich Änderungspunkte, Schaltpunkte, Unterbrechungspunkte, Regression unterbrochener Linien, Regression gebrochener Stöcke, bilineare Regression, stückweise lineare Regression, lokale lineare Regression, segmentierte Regression und Diskontinuitätsmodelle.
Hier finden Sie eine Übersicht über Änderungspunktpakete mit Vor- / Nachteilen und Arbeitsbeispielen. Wenn Sie die Anzahl der Änderungspunkte a priori kennen, lesen Sie das
mcp
Paket. Lassen Sie uns zunächst die Daten simulieren:Bei Ihrem ersten Problem handelt es sich um drei Intercept-Only-Segmente:
Wir können die resultierende Anpassung zeichnen:
Hier sind die Änderungspunkte sehr gut definiert (eng). Fassen wir die Anpassung zusammen, um ihre abgeleiteten Positionen (
cp_1
undcp_2
) zu sehen:Sie können viel kompliziertere Modelle
mcp
erstellen, einschließlich der Modellierung der Autoregression N-ter Ordnung (nützlich für Zeitreihen) usw. Haftungsausschluss: Ich bin der Entwickler vonmcp
.quelle