Comment détecter tout changement / tendance d'une série chronologique de données?
J'ai donc un tableau de dire 25 échantillons et je voudrais être en mesure de noter les tendances de savoir si c'est la diminution de n ou de l'augmentation de ces 25 de l'échantillon intervalle de temps(en gros, 25 échantillons de la matrice est mon tampon qui est rempli par chaque dire 1 ms).
Noter que c'est une tendance générale que je cherche, non à l'individu dérivés(comme je l'aurais obtenu à l'aide des différences finies ou d'autres numériques, les techniques de différenciation).
Fond, j'attends de mes données pour être bruyant, alors il pourrait y avoir des hauts et des bas, même après filtrage et ainsi de suite. Mais c'est la tendance générale de l'augmentation ou de la diminution des comportements que je suis à la recherche d'.
Je souhaite intégrer l'augmentation/la diminution de comportement dans chaque ms pour déclencher un événement qui est plus d'une interface utilisateur de l'événement (à clignoter une LED) afin de ne pas avoir de très délais de traitement aussi longtemps que je peux détecter la tendance générale.
Merci d'avance!
- Je suppose que tu veux dire long ici:
so it does not have to very **(long?)** delay of processing as long as I can detect the general trend.
- Suggérons de modifier le titre afin de mieux refléter la question: ce n'est plus "Comment détecter la tendance (ou de variation significative) à partir d'une série chronologique de données"?
- Je vais voter pour fermer cette question hors-sujet parce que c'est de la pure mathématiques/statistiques, pas une question de programmation
Vous devez vous connecter pour publier un commentaire.
Comme cela a déjà été signalé, vous n'êtes pas à la recherche pour les dérivés. Vous êtes vraiment à la recherche d'un "changement significatif" algorithme de détection pour un temps de la série.
Vous aurez certainement envie d'un filtre de lissage (et la moyenne mobile de filtre est bien-voir Bjorn répondre pour cette partie).
Mais en plus de la fonction de lissage du filtre, vous aurez également besoin d'un critères de décision ou de seuil sélecteur de au-delà de ce qui vous permettra de décider si oui ou non filtrée de modifications importantes.
Si les statistiques sous-jacentes de votre temps la série est stable (le temps stationnaire de la série), vous pouvez utiliser un fixe seuil statistique, dans le sens des écarts-types de la moyenne. Par exemple, vous pouvez choisir de 2 déviations standard si vous voulez une assez forte "alarme" seuil (pensez alarmant que sur la plus forte de 5% de retours).
Si il n'y a rien dans le problème sous-jacent qui suggère que votre temps la série est stable, c'est à dire si la série pourrait avoir une tendance, ou les sous-jacents au processus de génération de la série temporelle peut passer par fundmantal changements pendant que vous êtes suivi, vous aurez besoin d'utiliser une dynamique, ou adaptative seuil, dans le sens du rapport signal-à-bruit (mu/sigma). Vous pouvez ensuite choisir de détecter tous les "significative" des éléments qui transmettent le signal d'essai de bruit.
Le son n'est pas à moi comme vous voulez que les dérivés à tous. Il semble que vous voulez un filtre passe-bas. Un filtre passe-bas supprime simplement l'évolution rapide des données et des feuilles dans la place la plus longue, lente évolution des tendances. La plus intuitive filtre passe-bas est un filtre à moyenne mobile, où vous prenez la moyenne des n dernières entrées -, où n est déterminée en fonction du bruit par rapport à la taille de la tendance vous êtes à la recherche pour. Il est largement utilisé à partir de données audio pour le traitement de l'image pour les données du chômage (la moyenne mobile de quatre semaines taux de chômage est largement citée).
Il est possible de développer plus efficace/filtres sélectifs récursive à l'aide de techniques, si vous pensez que c'est nécessaire. Vous pouvez utiliser ce tutoriel pour créer un filtre passe-bas. Il est écrit pour l'audio, mais il fonctionne sur la plupart des données. Il vous montre comment écrire une cloche de filtre, mais un filtre passe-bas est plus facile.
http://blog.bjornroche.com/2012/08/basic-audio-eqs.html
Vous pouvez utiliser un filtre de wiener si vous connaissez le signal de la statistique et de l'utiliser comme un n-longueur d'avance prédicteur. Votre décision de tendance peut ensuite être facilement basée sur la prédiction du filtre de wiener. Si le signal n'est pas grand-sens stationnaire et vous pensez que la prédiction ne peut pas être fait de façon linéaire (non linéaire/non stationnaires processus) alors vous pouvez utiliser une adaptation wiener filtre comme le LMS filtre.