Predictive Maintenance By Using Machine Learning

Alekh Sinha
Analytics Vidhya
Published in
3 min readJun 30, 2021

Predictive maintenance is an emerging field especially in automotive industry. Telling customers or operator beforehand , when that particular machine needs to be changed brings a lot of convenience in the work.

In this blog I will consider two things:

  1. Strategy for predictive maintenance model
  2. Short Introduction to ARIMA

For predictive maintenance we need to understand failures. Failures can be of two type:-

  1. Sudden failure- like sensor failures
  2. failures gradually occurring over some time due to wear

Sudden failures are very hard to predict but gradually occurring failure is what we can target. It sounds reasonably simple task where we will collect data of each day, leverage time series model like ARIMA (Auto Regressive moving Average) to find a function of wear with respect to time and finally a threshold for finding time at which failure will occur but, this task is a bit more complicated than that.

There are two problem which we encounter in this:-

  1. Wear is not a direct parameter. We need to find exactly which sensor output can be used for estimating this wear.
  2. Threshold that needs to be defined

Let us take example of clutch to understand this better. Clutch is used to transmit torque. First step will be to define problem statement clearly

Problem statement- To prepare a model for predicting clutch failure

Now lets quantify this objective. We need to predict wear(component deterioration) as a function of time. wear=f(time).

Strategy:-

Wear cannot be measured directly so we need to find a parameter from which wear can be inferred. we should be able to measure this parameter through sensor

Estimator

Clutch function is to transmit torque but torque is difficult to measure so instead we can measure clutch input and output shaft speed and can calculate slip speed with it. As the clutch wear, clutch slip will increase so this parameter can be used for measuring clutch wear. A threshold can be defined by testing till actual data.

Now we can collect this data on predefined time frequencies. This block do not cover data collection method but it can be done with obd cable and pyobd python module.(Feel free to search for these)

This concept can be applied to any machine. We just needs to find features which can be sensed and can be used to estimate wear.

Introduction to time series Model (ARIMA)

For those who are new to ARIMA I will briefly touch ARIMA. Arima has basically three component:-

  1. AR- Auto regressive
  2. Integrated
  3. Moving average

For proceeding further we need to understand one more concept- stationary and non stationary time series.

As we can see in the figure, stationary data have constant mean while non stationary have varying mean. Now we know auto regression and moving average can be applied to a stationary data only I need to convert non stationary to stationary data. We can do it by using differencing.

Here y denotes output variable so basically we are comparing value at this time instant with previous time instant and then we are storing the difference in a variable. Now this y’ will become stationary and now auto regression and moving average can be applied.

Here output variable Y denotes y’ or the converted stationary time series data. This equation calculate Y at time t as a function of Y occurring at previous time step(auto regression) and the second part has the terms for moving average. P is the parameter for AR and q is the parameter for MA. All these parameter can be easily tuned by using concept of AIC and BIC or by following method given in this link:

--

--