# Train model for predicting events based on other signal events

I am trying to build a supervised ML-Model in the area of predictive Maintenance where the features are signal events, which can be represented with a gantt chart:

So my feature data consists of events with signal_code (each row in the gantt chart represents all events of a certain signal code), startTime, endTime, status (represented as the color in the chart). There can be up to a few hundred different signal codes.

I want to predict the likelyhood of an event (e.g. dark red in chart) say 30 minutes before it occures.

How could I detect "malicious" patterns prior to those events? Are there existing best practices for a use case like that?
I could find a lot information on time series (related question) but not for this kind of data. Obviously i will ne to apply some dimensionality reduction techniques such as PCA or LDA, but what will a do beforehand in order to put the data into a one-dimensional representation?

I welcome any advice on which algorithms or feature extraction methods might help! :)

• I am new to Data Science so please consider suggesting how i can improve my question instead of just downvoting it – Sip Jul 23 '20 at 14:38

For somebody new to ML you're starting with a quite complex problem!

Your first job is to formalize the problem: what exactly do you want to predict and from which information?

• Do you want to predict whenever a specific signal will occur, or whenever any one of several specific signals occurs, or detect any unusual pattern...? In the first two cases your task is supervised classification, detecting unusual patterns would probably be unsupervised outlier detection.
• In the case of supervised classification, which seems more compatible with your description, you're going to use the specific signal to detect as target variable: your features are made of a sequence of data until time $$t$$, and the target variable is 0 or 1 depending on whether the signal occurs in the next 30 mns.

There's a lot of good advice that you can use in the related question you mention. You could consider sequence labeling methods, but there are certainly a lot of other options.

I'm not so sure you will need dimensionality reduction in your case: the signals you're using as features are binary so your features are much less complex than in the related question.

• Thank you Erwan! Methods like sequence labeling was something i was looking for. This lead me to the Markov model, which at first glance, might be helpful for this kind of problem as well. I will update my Question after further research. – Sip Jul 24 '20 at 12:44
• @Sip if you take the sequence labeling path, Conditional Random Fields is more common nowadays than the HMMs (and usually perform better). – Erwan Jul 24 '20 at 13:10