how to predict the remaining useful life of machine using neural network

2 ビュー (過去 30 日間)
pradeep
pradeep 2013 年 8 月 22 日
回答済み: Aditya Baru 2018 年 5 月 2 日
Hi,
1) I am trying to use the time series tool for bearing forecasting from an historic record of bearing data. I have a 2803 raw data signal which i have got from online. I'm trying to use Graphic user Interface(GUI),initially i go through some worked examples where i observed is that ,we are suppose to load input and target data before training the network.. but i fail to understand how to divide and prepare input and target data from the raw data, to load for training the network..
2) I have totally 2803 RMS data. out of which i'm taking data points from 1 to 2750 for training purpose, later by using those trained network, suppose to predict the next 53 point of time series(i.e 2751, 2752..... 2803).. Is this can be done using GUI...??? or should i use command function....???
i have a doubt , can a neural network can predict the next 30 points after 2803 (i.e 2803... to... 2833)....???if so how.. ??
please help me..

採用された回答

Greg Heath
Greg Heath 2013 年 8 月 22 日
Find the significant lags of the autocorrelation function. The maximum significant lag tends to be the prediction limit. If you want to predict further ahead, use a sliding window feedback delay.
See examples in
help narnet
doc narnet
NEWSGROUP
ANSWERS
Thank you for formally accepting my answer
Greg
  3 件のコメント
pradeep
pradeep 2013 年 9 月 5 日
hi Greg Sir, I have used below mentioned codes for "prognosis of bearing " using narxnet, for multi-step ahead prediction ,
%% 1. Importing data
S = load('magdata');
X = con2seq(S.u);
T = con2seq(S.y);
%% 2. Data preparation
N = 300; % Multi-step ahead prediction
% Input and target series are divided in two groups of data: % 1st group: used to train the network
inputSeries = X(1:end-N);
targetSeries = T(1:end-N);
% 2nd group: this is the new data used for simulation. inputSeriesVal will % be used for predicting new targets. targetSeriesVal will be used for % network validation after prediction
inputSeriesVal = X(end-N+1:end);
targetSeriesVal = T(end-N+1:end); % This is generally not available
%% 3. Network Architecture
delay = 2;
neuronsHiddenLayer = 50;
% Network Creation net = narxnet(1:delay,1:delay,neuronsHiddenLayer);
%% 4. Training the network
[Xs,Xi,Ai,Ts] = preparets(net,inputSeries,{},targetSeries);
net = train(net,Xs,Ts,Xi,Ai);
view(net)
Y = net(Xs,Xi,Ai);
% Performance for the series-parallel implementation, only % one-step-ahead prediction perf = perform(net,Ts,Y);
%% 5. Multi-step ahead prediction
inputSeriesPred = [inputSeries(end-delay+1:end),inputSeriesVal];
targetSeriesPred = [targetSeries(end-delay+1:end), con2seq(nan(1,N))];
netc = closeloop(net);
view(netc)
[Xs,Xi,Ai,Ts] = preparets(netc,inputSeriesPred,{},targetSeriesPred);
yPred = netc(Xs,Xi,Ai);
perf = perform(net,yPred,targetSeriesVal);
figure;
plot([cell2mat(targetSeries),nan(1,N); nan(1,length(targetSeries)),cell2mat(yPred); nan(1,length(targetSeries)),cell2mat(targetSeriesVal)]')
legend('Original Targets','Network Predictions','Expected Outputs')
the results are matching to one extent(i.e preicted values is almost matching to actual),now i'm suppose to plot error b/w the actual and predicted values.... so i tried the below mentioned codes for plotting the error,,, but its not working, so would u please tel me wat's wrong in this code..?? or can u please suggest me the code for pltting error.... % Test the Network outputs = net(inputs,inputStates,layerStates); errors = gsubtract(targets,outputs); performance = perform(net,targets,outputs)
% View the Network
% view(net)
% Plots
% Uncomment these lines to enable various plots.
%figure, plotperform(tr)
%figure, plottrainstate(tr)
%figure, plotregression(targets,outputs)
%figure, plotresponse(targets,outputs)
%figure, ploterrcorr(errors)
%figure, plotinerrcorr(inputs,errors)
thanking You u in advance.....
pradeep
pradeep 2013 年 9 月 5 日
hi Greg Sir,, below image link is the result..now i'm trying to plot error from (0 to 450)data point . so can you please help me by sharing the codefor ploting error....??? http://imageshack.us/photo/my-images/710/8yd9.png/

サインインしてコメントする。

その他の回答 (2 件)

dau
dau 2013 年 12 月 17 日
I am facing with this problem too, but mostly there are no Code availability for us. However, this prediction is incorrect and not good for future prediction, because the prediction relied on the known inputs for the inputs observed, with this kind of prediction there are many application available for you. Addition, this kind of prediction is insignificant. What we need is predict the future with unknown inputs for example 2020. I am mostly give up with that since there are no Code provided except some programmer can do. Pradeep, if you already found this solution please share me in my email: infohquan@gmail.com Thanks and good luck!

Aditya Baru
Aditya Baru 2018 年 5 月 2 日
The Predictive Maintenance Toolbox has some examples for estimating remaining useful life using similarity, degradation, and survival methods. You can check those out here:
If you are interested in using neural nets specifically, you can look at the above examples and replace the models used there with neural nets. The initial steps you'd need to take for extracting features would still be the same.

カテゴリ

Help Center および File ExchangeSequence and Numeric Feature Data Workflows についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by