Hi,
I have a dataset of 19 non linear regression data points. I am training the first 10 and trying to predict the next 9 values using different Neural Network. However, after trying out mulitple Neural Networks such as Radial Basis Function, Baysian Reguralization BackPropogation, Function Fitting Neural Network and LSTM, i am still not getting good prediction results. I have attached the data where X is the input and Y is the output. First 10 data points are being used for training and next 9 points are used for testing. I have also attached by code which uses Baysian Regularization backpropogation.
Attached is the dataset link :
The results obtained using Baysian Regularization backpropogation are shown in graph attached below :
The code used is as follows:
close all;
clear all;
rng('default');
out_col = 2;
inp_col = 1;
data= xlsread('Neww_BRP.xlsx');
n = 7;
Neurons = 5;
X_Train=data(i:n,inp_col);
Y_Train=data(i:n,out_col);
XValidation = data(n+1,inp_col);
net = feedforwardnet(Neurons,'trainbr');
[net,tr] = train(net,X_Train',Y_Train');
y = net(XValidation')';
Kindly let me know how can i improve the prediction results?
Thank you.

 採用された回答

ME
ME 2019 年 11 月 11 日

1 投票

I am far from an expert in this area but I'd guess that you are struggling to get a good preciction because you don't have enough data points to train your network properly.

2 件のコメント

Gulrukh Turabee
Gulrukh Turabee 2019 年 11 月 11 日
Hi,
thank you for your answer.I have seen some research papers, where only 6 to 7 data points are being taken for training, still they are getting good prediction results. I doubt this is the issue.
ME
ME 2019 年 11 月 11 日
Have you tried using a random sample of you data points to train the network rather than just using the first ten? That way your training data will likely cover a greater range of the behaviour seen in your data set and perhaps improve the predictive ability of your trained networks.

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

その他の回答 (1 件)

John D'Errico
John D'Errico 2019 年 11 月 11 日
編集済み: John D'Errico 2019 年 11 月 11 日

0 投票

I would point out that your code shows you using the first SEVEN data points, not the first 10, despite your claim otherwise.
n = 7;
As well, since those first two points are completely inconsistent with the rest of your data, I'd expect to see a serious problem in any intelligent long term extrapolation. You gave it 7 data points, and 28% of your data was completely useless crapola. Just because someone else had success does not mean that your data is as good as theirs.
I would instead, suggest that you really try using the first 10 data points. Better yet, try using points 3:10 to train the net. Then see how well prediction actually proceeds for points 11-19.
Remember that extrapolation is always a risky business, prone to failure. If it was always so easy to do, then we would always have perfectly accurate weather forecasts.

カテゴリ

質問済み:

2019 年 11 月 11 日

編集済み:

2019 年 11 月 11 日

Community Treasure Hunt

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

Start Hunting!

Translated by