Das Änderungspunktpaket enthält 3 Hauptfunktionen cpt.mean
, cpt.var
und cpt.meanvar
. Als Praktiker sind dies die einzigen Funktionen im Paket, die Sie benötigen sollten. Wenn Sie der Meinung sind, dass Ihre Daten eine Änderung des Mittelwerts enthalten könnten, verwenden Sie die cpt.mean
Funktion usw.
Bei der nächsten Frage sollten Sie sich fragen, ob Sie nach einer einzelnen oder mehreren Änderungen in Ihren Daten suchen. Das method
Argument behandelt dies, es gibt AMOC für höchstens eine Änderung und PELT, BinSeg und SegNeigh für mehrere Änderungen. Welche Methode mit mehreren Änderungspunkten Sie verwenden möchten, hängt ab von:
a) Ihre Wahl der Verteilung / verteilungsfreien Methode (siehe unten) und
b) Wie viel Zeit Sie haben / wie genau Ihre Antwort sein soll. Das BinSeg ist schnell, aber ungefähr, PELT ist genau und schnell, kann aber nicht in allen Distributionen verwendet werden. SegNeigh ist genau, aber langsam.
Die nächste Frage ist, welche Annahmen Sie zu Ihren Daten treffen können / wollen. Der Schlüssel hierbei ist, dass die Annahme für jeden Datensatz zwischen Änderungen gilt und nicht für die gesamten Daten. Beispielsweise können Sie möglicherweise eine Normalverteilung annehmen. Wenn Sie jedoch einen Test auf Normalität für die gesamten Daten durchführen, schlägt dies höchstwahrscheinlich fehl (aufgrund möglicher Änderungen). Daher nehmen wir normalerweise eine Annahme an, führen die Änderungspunktanalyse durch und überprüfen dann die Annahmen basierend auf den identifizierten Änderungen. Auch hier gibt es je nach Art der Änderung unterschiedliche Verteilungsmethoden und verteilungsfreie Methoden. Die Auswahlmöglichkeiten finden Sie in der Dokumentation zu den einzelnen Funktionen. Sie können auch kommentieren, welche Teststatistik Sie verwenden möchten, und ich kann die Annahmen auflisten.
Schließlich sehen Sie sich die Strafe an. Die Strafe bietet einen Kompromiss zwischen vielen kleinen Änderungen und keinen Änderungen. Wenn Sie also die Strafe auf 0 setzen, erhalten Sie an jeder möglichen Stelle eine Änderung. Wenn Sie die Strafe auf unendlich setzen, erhalten Sie keine Änderungen. Der angemessene Wert der Strafe hängt von Ihren Daten und der Frage ab, die Sie beantworten möchten. Beispielsweise haben Sie möglicherweise Änderungen im Mittelwert von 0,5 Einheiten, aber Sie sind möglicherweise nur an Änderungen von 1+ Einheiten interessiert. Es gibt viele Möglichkeiten, Ihre Strafe zu wählen:
"by-eye", dh probieren Sie einige verschiedene Werte aus, bis Sie einen finden, der für Ihr Problem geeignet ist.
"Ellbogen-Plot", dh Plotten der Anzahl der identifizierten Änderungspunkte gegen die verwendete Strafe. Dies erzeugt eine Kurve, bei der kleine Werte der Strafe große (unechte) Änderungen hervorrufen, und wenn die Strafe abnimmt, fallen diese unechten Änderungen mit einer schnellen Rate ab, verlangsamt sich diese Rate, da nur echte Änderungen übrig bleiben, bevor sie für größere Strafen langsam auf keine Änderungen abfallen . Die Idee ist, 2 gerade Linien an diese Kurve anzupassen und die Strafe dort zu wählen, wo sie sich kreuzen. Dies führt zu einer Ad-hoc-Methode, mit der die Strafe objektiver gewählt werden kann als 1.
Verwenden Sie ein Informationskriterium. Es gibt einige wie AIC, BIC / SIC, Hannan-Quinn im Paket enthalten. Es gibt andere, die nicht im Paket enthalten sind, aber Sie können eine Formel angeben, pen.value
wenn Sie dies wünschen.
Wenn Sie weitere Informationen oder Erläuterungen zu bestimmten Punkten benötigen, kommentieren Sie einfach und ich werde versuchen zu antworten.