Comment puis-je transformer des données de séries chronologiques afin de pouvoir utiliser des techniques plus simples pour la prévision des pannes?


8

Je sais que c'est principalement un site de statistiques, donc si je suis hors sujet, veuillez me rediriger.

J'ai un système avec des pompes qui se cassent parfois et doivent être remplacées. Je voudrais pouvoir prédire les pannes et ainsi prévenir rapidement les personnes qui remplacent les pompes. J'ai des données historiques sur le processus de pompage, telles que le débit, la pression, la hauteur du liquide, etc.

Je n'ai qu'une petite expérience dans l'utilisation des techniques d'apprentissage automatique pour classer les données - en gros, j'ai suivi et fait les exercices du cours d'apprentissage automatique d'Andrew Ng sur coursera, ainsi que d'Andrew Conway Statistics One, - et je n'ai jamais utilisé l'apprentissage automatique pour classer les séries chronologiques. Je pense à des moyens de transformer mon problème afin de pouvoir utiliser mes connaissances existantes à ce sujet. Avec mes connaissances limitées, je n'obtiendrai pas une prédiction très optimale, mais j'espère en tirer des leçons, et pour ce problème, toute petite amélioration de la prédiction est utile, par rapport à l'attente de la survenue des défauts.

L'approche que je propose consiste à transformer la série chronologique en un problème de classification normal. L'entrée serait un résumé d'une fenêtre de séries chronologiques, avec la valeur moyenne, l'écart type, les valeurs maximales, etc. pour chaque type de données dans la fenêtre. Pour la sortie, je ne sais pas ce qui fonctionnerait le mieux. Une approche est que la sortie serait une classification binaire indiquant si la pompe est tombée en panne dans un certain laps de temps à partir de la fin de la fenêtre ou non. Un autre est que la sortie serait le temps restant avant que la pompe ne tombe en panne, donc pas une classification, mais une régression (au sens de l'apprentissage automatique) à la place.

Pensez-vous que cette approche est susceptible de donner des résultats? S'agit-il de "dépend du domaine et des données historiques". Y a-t-il de meilleures transformations (d'entrée et de sortie) que je n'ai pas envisagées, ou la prédiction de panne basée sur des données de série temporelle est-elle si différente de la prédiction de panne plus standard, que mon temps serait mieux utilisé pour lire sur l'apprentissage automatique avec des séries temporelles ?


La mesure en temps réel des vibrations / du bruit des pompes serait ici un véritable avantage.
image_doctor

@image_doctor: Je pourrais peut-être l'obtenir. Voulez-vous dire que ce serait bien, car les vibrations / bruits sont pertinents pour le domaine problématique? Dans ce cas, ne pourrais-je pas le résumer comme les autres données? Ou s'agit-il intrinsèquement du traitement de l'information en temps réel? J'aimerais pouvoir prévoir les défauts bien à l'avance, comme un jour ou (de préférence) plus. Je ne sais pas si c'est faisable avec le domaine et les données. Mais cette échelle de temps ne me suggère pas que le traitement en temps réel aide vraiment. Si vous voulez dire que le temps réel est important, ai-je mal compris quelque chose?
Boris

Il est pertinent pour le domaine problématique. Les pompes montrent souvent des signes de déséquilibre ou de changements dans les modes de vibration avant la panne. L'analyse spectrale en temps réel, ou au moins quelque chose comme des échantillons horaires, devrait être une fonctionnalité très utile pour la prédiction des défaillances.
image_doctor

J'ai un problème similaire et j'évalue actuellement le potentiel d'utilisation des modèles à risques proportionnels de Cox. Avez-vous pu l'utiliser dans votre solution? Pourriez-vous s'il vous plaît partager avec nous la solution finale que vous avez prise pour atteindre le résultat?

Réponses:


5

Vous voudrez peut-être examiner l'analyse de survie, avec laquelle vous pouvez estimer la fonction de survie (la probabilité que le temps de défaillance soit supérieur à un temps spécifique) et la fonction de danger (la probabilité instantanée qu'une unité échoue, étant donné qu'elle n'a pas échoué jusqu'à présent). Avec la plupart des approches d'analyse de survie, vous pouvez entrer des prédicteurs invariants et variant dans le temps.

Il existe différentes approches d'analyse de la survie, notamment le modèle semi-paramétrique de risques proportionnels de Cox (ou régression de Cox) et les modèles paramétriques. La régression de Cox ne vous oblige pas à spécifier la fonction de risque de base sous-jacente, mais vous constaterez peut-être que vous avez besoin d'un modèle paramétrique pour capturer correctement les modèles de défaillance dans vos données. Parfois, des modèles paramétriques de temps de défaillance accéléré sont appropriés, où le taux de défaillance augmente avec le temps.

Vous pouvez essayer de commencer par la régression de Cox, car c'est la plus simple à utiliser et vérifiez dans quelle mesure vous pouvez prédire l'échec sur un ensemble de tests d'exclusion. Je soupçonne que vous obtiendrez de meilleurs résultats avec une sorte d'analyse de survie qui prend explicitement en compte le temps et la censure (pompes qui n'ont pas encore échoué) qu'avec essayer de transformer cela en un problème de classification non temporel.


J'ai un problème similaire et j'essaie également de l'encadrer dans un cadre d'analyse de survie: j'ai essentiellement la même usine qui continue de tomber en panne et fonctionne à nouveau après la maintenance. Je veux déterminer quand et si l'usine va tomber en panne. Dans ce cas, comment combiner plusieurs mesures sur chaque intervalle de temps car l'analyse de survie aura une ligne par échec mais j'aurais collecté des données pendant des heures avant l'échec.
discipulus

1

Je baserais ma décision sur la classification par rapport à la régression en fonction de la disponibilité des données (cette dernière nécessite de connaître l'heure exacte à laquelle la défaillance s'est produite, la première ne le fait pas) et de savoir si avoir des estimations de la durée de la défaillance est vraiment une exigence pour votre problème (mon défaut serait d'essayer la classification en premier).


Merci. Oui, d'une certaine manière, estimer le délai de défaillance prend un chemin plus long vers le résultat, mais cela évite de décider quelle période de défaillance estimer: je ne sais pas si les données permettent de mieux classer une période de défaillance de 10 jours qu'une période de 5 jours, donc avec la classification, je dois former de nombreux classificateurs et ensuite faire un compromis pour donner les meilleurs résultats par rapport à un avertissement en temps opportun. L'estimation du délai avant l'échec contournerait cela, mais l'estimation elle-même pourrait être plus difficile.
Boris
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.