2
$\begingroup$

My problem here is that I want to predict failures in advance with respect to their occurrence. I have sensors mounted on my machine and with a certain frequency, they send data to my database. Sometimes the machine fails and I want to find some anomaly patterns in the data before the actual failure. The idea is that if I notice in data some weird behavior I can stop the machine and do some maintenance to avoid its failure.

The only thing I have as a label for a timestamp is when the system is down because of the failure. So for each timestamp, I only know if my machine either is working or not because of the failure. I don't know if before the failure I have a sequence of timestamps in which sensors are normal or not.

What type of algorithm would you use in this case? I know the problem is not pretty standard. Below I leave my current idea.

Currently, I am thinking about using different LSTMs Autoencoders. I would like to represent in a compressed feature vector the representation of my "normal" input, and with the reconstruction error of the autoencoder, I can understand whether the input fed behaves normally or not. The problem is that I am not sure if my input is normal or not, so here one doubt is that using subsequences that happened very far from the failure could simulate my normal behavior. Then another doubt is that I would use different autoencoders because I want to model different time periods of the sequence (minutes, hours, days), and then ensemble these different time-window encoders. What do you think? Could this be feasible?

$\endgroup$

1 Answer 1

3
$\begingroup$

This is a standard problem in the field of Predictive Maintenance, and there are several ways to model it.

The key question is whether there is predictive information present in the data-stream at all. Not all failures have leading indicators. And the datais not always of appropriate type or quality to capture such leading indicators. If you have a labeled dataset, then one can attempt to judge. Using domain knowledge to build a Failure Mode Effect Analysis (FMEA) where one also adds "leading indicators" to each failure mode can also be very useful. It can also help answer "which data would be appropriate".

Here are some of the approaches one could take:

  • Time-to-Failure prediction. Supervised learning, regression. X: time-window of data preceding a failure, possibly long ahead of the failure. Y: time until failure.
  • Imminent failure prediction. Supervised learning, classification. X: time-window of data some short time before failure. Target: whether a failure occured in the next time-frame or not.
  • Anomaly Detection. Unsupervised learning. Model the "normal" behavior, and treat all deviations from normal as abnormal - a potensial failure. Use model design and hyperparameter tuning to try tune behavior to indicate the leading indicators.
$\endgroup$
3
  • $\begingroup$ Now the model based on domain knowledge has to be powered because it does not give decent results. I don't think the time-to-failure prediction approach could work because it's not a specific component of the platform that fails, but the entire structure that is way complex. I would like to go with unsupervised learning, but I am not sure how to make the network map the input with a failure ahead of time. Should I feed it past time series in which the platform did not have problems? And how to check when the network starts behaving in an anomalous way? $\endgroup$
    – Andrea
    Commented Feb 13, 2023 at 22:24
  • 1
    $\begingroup$ Have you established that it is indeed possible to predict the failure? If you do a backwards analysis on the events you have, can you find leading indicators of the failure event? Cause if a skilled data analyst cannot find such patterns, then it weakens the hypothesis that it exists in the data - which is a necessary precondition to solving it in an automated way $\endgroup$
    – Jon Nordby
    Commented Feb 13, 2023 at 23:36
  • 1
    $\begingroup$ With anomaly detection, you would only train on normal / non-failing data You would use the labeled failure for validation/test sets, to check whether the anomaly scores correspond to failures or not. There are many approaches and models possible. $\endgroup$
    – Jon Nordby
    Commented Feb 13, 2023 at 23:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.