approach for predicting machine failure using maintenance history

I have been struggling with this problem for a while now and I finally decided to post a question here to get some help. The problem i'm trying to solve is about predictive maintenance.

Specifically, a system produces 2 kinds of maintenance messages when it runs, a basic-msg and a fatal-msg, a basic message indicates that there is a problem with the system that needs to be checked (its not serious), a fatal-msg on the other hand signals that the machine must be shut down and the fatal problem be addressed before it is allowed to run again. All maintenance messages have a unique message-id associated with them.

For example:

Basic-msgs:

112234: Check Valve 3

162746: Main switch power fluctuating

Fatal-msgs:

7432955: Valve 3 Broken

3358399: Startup Failed

Some key Details: A basic-msg can occur without a fatal-msg, but a fatal-msg must occur with a corresponding basic-msg. Every time the machine is run it gets a unique run-id.

Problem: By looking at the basic-msgs occurred in the previous 4 runs of the machine, predict what fatal-msgs could occur in the next run. I have the data for previous 8 years (includes basic-msgs, fatal-msgs, corresponding run-ids.

I am stuck with this for about 3 weeks now, can someone guide me about a machine learning approach I can take to solve this, and what tools should i use.

Thanks!

Topic machine-learning-model unsupervised-learning deep-learning random-forest machine-learning

Category Data Science


This appears like a standard multi class classification problem. The features are frequency counts of the basic messages leading up to the fatal message. You would have as many features as there are basic categories.

The labels would be the fatal message categories themselves.


Sequence labeling seems like a good fit for your problem. Your features could be the frequency of each kind of basic-msg in the past 4 runs (but maybe it would work better normalized by unit of time).

There are a good few libraries for Conditional Random Fields for example.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.