# Predicting hardware failures with limited data

I am exploring using machine learning to predict if a particular hardware component would fail within a timeframe, say 3 months. The ultimate goal is to minimize physical human inspection so that maintenance crew would always performance maintenance/servicing just in time before hardware failure.

However, servicing are carried out at a fixed interval regardless of the condition of the hardware and it has practically never failed. The dataset we have is of this nature:

equipment: pump1
location: outdoor (or indoor)
provider: providerA
operation: -
temperature (as a function of time)
moisture (as a function of time)
team (as a discreet function of time, ie teamA, teamB, teamC)


Basically, we know some features of the equipment (here pump1), and we know some operating parameters (here temperature, moisture) as a function over time, and we also know which team did the servicing over time. I understand that survival analysis would be most suitable for a predictive maintenance problem but each operating parameters vary over time of study. Nothing is constant.

While regression does not take into account time. As such how do we actually model it to predict its failure?

Note: The above parameters are adapted from https://www.kaggle.com/ludobenistant/predictive-maintenance

• I'm in the same situation in one of our projects. Inspection and servicing happen so often that failures almost never happen, so there's no data on failures and we cannot build a model to predict failures early. This question is probably too broad for stackexchange.. if you post it somewhere else, please provide the link. Apr 7 '17 at 11:12
• @stmax i have posted on Kaggle before but unfortunately received no response. kaggle.com/questions-and-answers/30635#post170361
– Koh
Apr 7 '17 at 15:28
• I have edited my question and hopefully it is less broad
– Koh
Apr 9 '17 at 6:18

## 2 Answers

It depends on what you mean by failure. As el burro has mentioned, if there's a proxy that you can use to act as a label you can potentially still performing ML on your dataset.

I'm no mechanical engineer but I've worked in chemical plants and here are a few suggestions as proxies for pump failure.

1. Pump speed (if it's a fixed speed pump)
2. Rotor torque
3. Power input? (If it's with a variable speed drive)

Perhaps you can try using the above parameters as labels and use regression to forecast the parameter entering unhealthy levels? Of course, ideally regression should be used for interpolation but you can get decent results if your data is not too far off from the failure limits.

Can you use a proxy for hardware failure? Something like a state in which failure becomes likely? Then you could try to predict this state which should be more common and use a fudge factor to get to your failures.