Analyse des points de changement

8

Quelqu'un pourrait-il m'expliquer le point de changement? J'utilise le package en R, et je ne comprends pas vraiment ce que signifient les différentes méthodes, les avantages et les inconvénients de chacune, et je ne comprends surtout pas la valeur de la pénalité. Lorsque vous augmentez la valeur de la pénalité, qu'est-ce que cela signifie et que fait-il? J'ai fait beaucoup de recherches en ligne, mais je continue de trouver les sites cran R et quick R, qui sont bons, mais la façon dont ils le disent ne me suffit pas.

Merci beaucoup.

Darla
la source
2
Avez-vous lu cette documentation pour le package changepoint ?
Jeromy Anglim
Malheureusement, j'ai fait :(
Darla

Réponses:

21

Il y a 3 fonctions principales du paquet Changepoint cpt.mean, cpt.varet 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.meanfonction, etc.

La question suivante, vous devez vous demander si vous recherchez une ou plusieurs modifications dans vos données. L' methodargument 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é:

  1. "à l'oeil", c'est-à-dire essayez quelques valeurs différentes jusqu'à ce que vous en trouviez une qui vous convienne.

  2. "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.

  3. 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.valuesi 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.

adunaic
la source
C'est très utile, merci. Ma seule chose est que je suis vraiment accroché à la valeur de la pénalité. Qu'est-ce que ça veut dire? Lorsque vous vous connectez manuellement, comment interprétez-vous un pen.value = .05 vers un pen.value = .40? Qu'est-ce que cela dit sur vos données?
Darla
La taille de pen.value est relative aux données sur lesquelles vous travaillez, vous ne pouvez donc pas vraiment comparer une pen.value de 0,05 sur un ensemble de données avec une pen.value de 0,4 sur un autre. Cependant, sur le même ensemble de données, la plus petite pénalité identifiera plus de changements et pourra ainsi identifier de plus petits changements de paramètres. La plus grande valeur de pénalité recherche des changements plus importants avant de les considérer comme "significatifs".
adunaic
Alors, comment puis-je savoir combien significatif est significatif? Si je mets pen.value = .20, j'obtiens 8 points de changement, mais si je mets pen.value = .30, je n'obtiens que 5 points de changement. Comment savoir si ces 3 points de changement sont significatifs? Comment dois-je savoir avec quelle valeur rester?
Darla
1
voir la réponse à la nouvelle question de Deb sur: stats.stackexchange.com/questions/60245/…
adunaic
comment procéder pour effectuer une analyse des points de changement glissants? est-ce possible?
user1234440