1 Star 0 Fork 0

greatwallisme / Predictive-Maintenance-using-LSTM

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Recurrent Neural Networks for Predictive Maintenance

  • Author: Umberto Griffo
  • Twitter: @UmbertoGriffo

Colab

You can try the code directly on Colab. Save a copy in your drive and enjoy It!

Sotware Environment

  • Python 3.6
  • numpy 1.13.3
  • scipy 0.19.1
  • matplotlib 2.0.2
  • spyder 3.2.3
  • scikit-learn 0.19.0
  • h5py 2.7.0
  • Pillow 4.2.1
  • pandas 0.20.3
  • TensorFlow 1.3.0
  • Keras 2.1.1

Problem Description

In this example I build an LSTM network in order to predict remaining useful life (or time to failure) of aircraft engines [3] based on scenario described at [1] and [2]. The network uses simulated aircraft sensor values to predict when an aircraft engine will fail in the future so that maintenance can be planned in advance. The question to ask is "Given these aircraft engine operation and failure events history, can we predict when an in-service engine will fail?" We re-formulate this question into two closely relevant questions and answer them using two different types of machine learning models:

* Regression models: How many more cycles an in-service engine will last before it fails?
* Binary classification: Is this engine going to fail within w1 cycles?

Data Summary

In the Dataset directory there are the training, test and ground truth datasets. The training data consists of multiple multivariate time series with "cycle" as the time unit, together with 21 sensor readings for each cycle. Each time series can be assumed as being generated from a different engine of the same type. The testing data has the same data schema as the training data. The only difference is that the data does not indicate when the failure occurs. Finally, the ground truth data provides the number of remaining working cycles for the engines in the testing data. The following picture shows a sample of the data:

You can find more details about the data at [1] and [2].

Experimental Results

Results of Regression model

Mean Absolute Error Coefficient of Determination (R^2)
12 0.7965

The following pictures shows the trend of loss Function, Mean Absolute Error, R^2 and actual data compared to predicted data:

Results of Binary classification

Accuracy Precision Recall F-Score
0.97 0.92 1.0 0.96

The following pictures shows trend of loss Function, Accuracy and actual data compared to predicted data:

Extensions

We can also create a model to determine if the failure will occur in different time windows, for example, fails in the window (1,w0) or fails in the window (w0+1, w1) days, and so on. This will then be a multi-classification problem, and data will need to be preprocessed accordingly.

Who is citing this work?

References

MIT License Copyright (c) 2019 Umberto Griffo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

Example of Multiple Multivariate Time Series Prediction with LSTM Recurrent Neural Networks in Python with Keras. 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/greatwallisme/Predictive-Maintenance-using-LSTM.git
git@gitee.com:greatwallisme/Predictive-Maintenance-using-LSTM.git
greatwallisme
Predictive-Maintenance-using-LSTM
Predictive-Maintenance-using-LSTM
master

搜索帮助