Ich habe einige Daten, die ich glatt benutze loess
. Ich möchte die Wendepunkte der geglätteten Linie finden. Ist das möglich? Ich bin mir sicher, dass jemand eine ausgefallene Methode entwickelt hat, um dieses Problem zu lösen. Ich meine, schließlich ist es R!
Ich kann die Glättungsfunktion, die ich verwende, problemlos ändern. Ich habe es nur benutzt, loess
weil es das ist, was ich in der Vergangenheit benutzt habe. Aber jede Glättungsfunktion ist in Ordnung. Mir ist klar, dass die Wendepunkte von der von mir verwendeten Glättungsfunktion abhängen. Ich bin damit einverstanden. Ich möchte damit beginnen, nur eine Glättungsfunktion zu haben, die dabei hilft, die Wendepunkte auszuspucken.
Hier ist der Code, den ich benutze:
x = seq(1,15)
y = c(4,5,6,5,5,6,7,8,7,7,6,6,7,8,9)
plot(x,y,type="l",ylim=c(3,10))
lo <- loess(y~x)
xl <- seq(min(x),max(x), (max(x) - min(x))/1000)
out = predict(lo,xl)
lines(xl, out, col='red', lwd=2)
Antworten:
Aus der Perspektive der Verwendung von R zum Ermitteln der Flexionen in der geglätteten Kurve müssen Sie nur die Stellen in den geglätteten y-Werten finden, an denen die Änderung in y das Vorzeichen wechselt.
Anschließend können Sie dem Diagramm Punkte hinzufügen, an denen diese Beugungen auftreten.
Unter dem Gesichtspunkt der Suche nach statistisch aussagekräftigen Wendepunkten stimme ich @nico zu, dass Sie sich mit der Analyse von Änderungspunkten befassen sollten, die manchmal auch als segmentierte Regression bezeichnet wird.
quelle
Hier gibt es Probleme auf mehreren Ebenen.
Zuallererst ist Löss nur ein Glatter und es gibt viele, viele zur Auswahl. Optimisten argumentieren, dass nahezu jeder vernünftige Glätter ein echtes Muster findet und dass nahezu alle vernünftigen Glätter sich auf echte Muster einigen. Pessimisten argumentieren, dass dies das Problem ist und dass "vernünftige Glätter" und "echte Muster" hier in Bezug aufeinander definiert werden. Warum Löss und warum ist das Ihrer Meinung nach eine gute Wahl? Die Wahl ist nicht nur eine einzige Glättung oder eine einzige Implementierung einer Glättung (nicht alles, was unter dem Namen Löss oder Niedrig steht, ist softwarebezogen identisch), sondern auch ein einziger Glättungsgrad (selbst wenn dies von der Software gewählt wird) Routine für Sie). Sie erwähnen diesen Punkt, aber das spricht ihn nicht an.
Genauer gesagt, wie Ihr Spielzeugbeispiel zeigt, können grundlegende Merkmale wie Wendepunkte von Löss leicht nicht bewahrt werden (auch nicht, um Löss herauszustellen). Ihr erstes lokales Minimum verschwindet und Ihr zweites lokales Minimum wird durch die von Ihnen gezeigte bestimmte Glättung verschoben. Es ist zu erwarten, dass Flexionen, die durch Nullen der zweiten Ableitung anstatt der ersten definiert sind, noch launischer sind.
quelle
Es gibt eine Reihe großartiger Ansätze für dieses Problem. Einige schließen ein. (1) - changepoint-package (2) - segmented-package. Sie müssen jedoch die Anzahl der Änderungspunkte auswählen. (3) MARS wie im -Erd- Paket implementiert
Abhängig von Ihrem Bias / Varianz-Kompromiss erhalten Sie von allen etwas unterschiedliche Informationen. -segmentiert- ist einen Blick wert. Unterschiedliche Anzahl von Wechselpunktmodellen kann mit AIC / BIC verglichen werden
quelle
Sie könnten vielleicht die FDA-Bibliothek verwenden, und sobald Sie eine geeignete kontinuierliche Funktion geschätzt haben, können Sie leicht die Stellen finden, an denen die zweite Ableitung Null ist.
FDA-KRAN
FDA Intro
quelle
Ich habe viele Besuche im Blog über das Changepoint-Paket erhalten (> 650, Stand: 11. November 2014). Hier ist ein aktualisierter Beitrag mit CausalImpact. http://r-datameister.blogspot.com/2014/11/causality-in-time-series-look-at-2-r.html
quelle