Il y a 3 fonctions principales du paquet Changepoint cpt.mean
, cpt.var
et cpt.meanvar
. En tant que praticien, ce sont les seules fonctions du package dont vous avez besoin. Si vous pensez que vos données peuvent contenir un changement de moyenne, vous utilisez la cpt.mean
fonction, etc.
La question suivante, vous devez vous demander si vous recherchez une ou plusieurs modifications dans vos données. L' method
argument gère cela, il y a AMOC pour au plus un changement et PELT, BinSeg et SegNeigh pour plusieurs changements. La méthode à points de changement multiples que vous souhaitez utiliser dépend:
a) Votre choix de méthode de distribution / sans distribution (voir ci-dessous) et
b) Combien de temps vous avez / à quel point vous voulez que votre réponse soit précise. Le BinSeg est rapide mais approximatif, PELT est exact et rapide mais ne peut pas être utilisé dans toutes les distributions, SegNeigh est exact mais lent.
La question suivante est de savoir quelles hypothèses vous pouvez / êtes prêt à faire sur vos données. La clé ici est que l'hypothèse s'applique à chaque ensemble de données entre les modifications et non à l'ensemble des données. Par exemple, vous pouvez supposer une distribution normale, mais si vous effectuez un test de normalité sur l'ensemble des données, il échouera très probablement (en raison des changements potentiels). Ainsi, nous faisons généralement une hypothèse, exécutons l'analyse des points de changement, puis vérifions les hypothèses en fonction des changements identifiés. Encore une fois, selon le type de changement, il existe différentes méthodes de distribution et sans distribution. Voir la documentation de chaque fonction pour les choix et n'hésitez pas à commenter les statistiques de test que vous envisagez d'utiliser et je peux lister les hypothèses.
Enfin, vous regardez la pénalité. La pénalité offre un compromis entre de nombreux petits changements et aucun changement. Ainsi, si vous définissez la pénalité à 0, vous obtenez un changement à chaque emplacement possible et si vous définissez la pénalité à l'infini, vous n'obtenez aucun changement. La valeur appropriée de la pénalité dépend de vos données et de la question à laquelle vous souhaitez répondre. Par exemple, vous pouvez avoir des changements en moyenne de 0,5 unités, mais vous ne pouvez être intéressé que par des changements de 1+ unités. Il existe plusieurs façons de choisir votre pénalité:
"à l'oeil", c'est-à-dire essayez quelques valeurs différentes jusqu'à ce que vous en trouviez une qui vous convienne.
"elbow-plot", c'est-à-dire tracer le nombre de points de changement identifiés par rapport à la pénalité utilisée. Cela crée une courbe par laquelle de petites valeurs de la pénalité produisent de grands changements (parasites) et à mesure que la pénalité diminue, ces changements parasites diminuent à un rythme rapide, ce taux ralentit car seuls les vrais changements sont laissés avant de descendre lentement à aucun changement pour des pénalités plus importantes . L'idée est d'adapter 2 lignes droites à cette courbe et de choisir la pénalité où elles se croisent. Cela produit une façon ad hoc mais plus objective de choisir la pénalité que 1.
utiliser un critère d'information. Il y en a comme AIC, BIC / SIC, Hannan-Quinn inclus dans le package. Il y en a d'autres qui ne sont pas inclus dans le package mais vous pouvez fournir une formule pen.value
si vous le souhaitez.
Si vous avez besoin de plus d'informations ou d'éclaircissements sur des points spécifiques, commentez et j'essaierai de répondre.