I have to predict a fault (automotive related) as much in advance as possible.
Right now I have found a solution that is somewhat satisfactory (a good number of true positives and a low number of false positives) but it doesn't feel optimal.

I know that usually this fault appears when a variable X drops (although it's not always a fault when X drops).
For each fault (time t0) of each vehicle in the training dataset I have found the moment (t-k) when the drop of X starts. I have set the target variable y to 1 from t-k to t0. y is 0 anywhere else.

Using XGBoost I then predict y.
The problem now is that I have multiple predictions for each fault (one for each record) and I need to group them somehow.
To send the alert I could simply take the first prediction equal to 1 for each fault of each vehicle, but by doing so I would have too many false positives.

The solution I am using right now groups predictions using a "manual" logic: there must be a minimum number of predictions equal to 1 in the last hours, there must be a minimum ratio of predictions equal to 1 compared to predictions equal to 0, variable X cannot be higher than a certain threshold (because if it's not dropping it shouldn't be a fault), etc. But by doing so I have to find the optimal combination of these parameters (with a grid search) and it doesn't feel like it's the right way to do it.

Can anyone share a better way to do this?



You must log in to answer this question.