limingwu8 / Predictive-Maintenance

time-series prediction for predictive maintenance

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Predictive Maintenance

Overview

This is the code for time series data analyzing. We will use LSTM to predict the value of sensor reading in the future and generate a "health index" for each component of the system and finally generate a overall "health index" for the whole system, which indicated the system's future health status.

Dataset

Twelve time series data from twelve different sensors which including temperature sensor, pressure sensor and vibration sensor. The raw dataset are located under folder "original". The format is time_sensorName.csv. e.g. 1705_MAIN_FILTER_OIL_TEMP.csv indicates dataset for Main Filter Oil Temperature sensor on May, 2017. The time interval of the raw dataset is different, which means need to be processed. The preprocessed (sampled) dataset is located under folder "sampled". They are sampled into different time intervals.

Models

A long short-term memory network (LSTM) was implemented for data prediction. The schematic diagram of a LSTM cell, the building block of LSTM network, is shown in the following figures. image1

image2

Scripts

  • utils/: for data reading, sampling and write into CSV
  • Sensor.py: predicting the sensor value in the future
  • train_batch.py: train LSTM models

Dependencies

Python (3.5)
Tensorflow (>1.0)
keras
numpy
pandas
scikit-learn
datetime
matplotlib
scipy
pickle

Usage

  1. Change the configurations in script train_batch.py. E.g. number of epochs, dataset path
  2. Run script train_batch.py, the generated results will be saved in the path that you specified.

Results

Prediction

This is the single step prediction result for one day sampled oil return temperature sensor. image3 This is the RMSE comparison of multi-step prediction for different time interval sampled oil return temperature sensor. image4

Health Index

This is the predicted health index of each sensor and the whole system on November. image5

About

time-series prediction for predictive maintenance

License:MIT License


Languages

Language:Python 88.5%Language:Jupyter Notebook 10.2%Language:MATLAB 1.3%