Cette question est peut-être trop basique. Pour une tendance temporelle d'une donnée, je voudrais découvrir le point où se produit un changement "brutal". Par exemple, dans la première figure ci-dessous, je voudrais découvrir le point de changement en utilisant une méthode statistique. Et je voudrais appliquer une telle méthode dans certaines autres données dont le point de changement n'est pas évident (comme la 2ème figure) .Alors existe-t-il une méthode commune à cette fin?
time-series
trend
change-point
user2230101
la source
la source
Réponses:
Si les observations de vos données de séries chronologiques sont corrélées avec les observations immédiatement précédentes, l'article de Chen et Liu (1993) pourrait vous intéresser. Il décrit une méthode pour détecter les changements de niveau et les changements temporaires dans le cadre des modèles de séries chronologiques à moyenne mobile autorégressifs.[ 1 ]
[1]: Chen, C. et Liu, LM. (1993),
«Joint Estimation of Model Parameters and Outlier Effects in Time Series»,
Journal de l'American Statistical Association , 88 : 421, 284-297
la source
Ce problème dans les statistiques est appelé la détection d'événement temporel (univarié). L'idée la plus simple est d'utiliser une moyenne mobile et un écart-type. Toute lecture qui est «hors» de 3 écarts-types (règle générale) est considérée comme un «événement». Il existe bien sûr des modèles plus avancés qui utilisent des HMM, ou régression. Voici un aperçu introductif du domaine .
la source
la source
Il existe un problème connexe de division d'une série ou d'une séquence en sorts avec des valeurs idéalement constantes. Voir Comment puis-je regrouper des données numériques en "crochets" formant naturellement? (par exemple revenu)
Ce n'est pas tout à fait le même problème car la question n'exclut pas les sorts avec une dérive lente dans une ou toutes les directions, mais sans changements brusques.
Une réponse plus directe est de dire que nous recherchons de gros sauts, donc le seul vrai problème est de définir le saut. La première idée est alors juste de regarder les premières différences entre les valeurs voisines. Il n'est même pas clair que vous devez affiner qu'en supprimant d'abord le bruit, comme si les sauts ne peuvent pas être distingués des différences de bruit, ils ne peuvent certainement pas être brusques. D'un autre côté, le questionneur souhaite évidemment que le changement brusque inclue le changement en rampe et le changement en escalier, donc un critère tel que la variance ou la plage dans les fenêtres de longueur fixe semble nécessaire.
la source
Le domaine des statistiques que vous recherchez est l'analyse des points de changement. Il y a un site Web ici qui vous donnera un aperçu de la région et aussi une page pour le logiciel.
Si vous êtes un
R
utilisateur, je recommanderais lechangepoint
package pour les changements de moyenne et lestrucchange
package pour les changements de régression. Si vous voulez être bayésien, lebcp
package est également bon.En général, vous devez choisir un seuil qui indique la force des changements que vous recherchez. Il y a, bien sûr, des choix de seuil que les gens préconisent dans certaines situations et vous pouvez également utiliser des niveaux de confiance asymptotiques ou des bootstrap pour obtenir de la confiance.
la source
Ce problème d'inférence a de nombreux noms, notamment des points de changement, des points de commutation, des points de rupture, une régression en ligne brisée, une régression en bâton cassé, une régression bilinéaire, une régression linéaire par morceaux, une régression linéaire locale, une régression segmentée et des modèles de discontinuité.
Voici un aperçu des packages de points de changement avec des avantages / inconvénients et des exemples pratiques. Si vous connaissez le nombre de points de changement a priori, consultez le
mcp
package. Tout d'abord, simulons les données:Pour votre premier problème, il s'agit de trois segments d'interception uniquement:
Nous pouvons tracer l'ajustement résultant:
Ici, les points de changement sont très bien définis (étroits). Résumons l'ajustement pour voir leurs emplacements inférés (
cp_1
etcp_2
):Vous pouvez faire des modèles beaucoup plus compliqués avec
mcp
, y compris la modélisation de l'autorégression de Nième ordre (utile pour les séries chronologiques), etc. Avertissement: Je suis le développeur demcp
.la source