Unable to predict data well enough
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Gulrukh Turabee
el 11 de Nov. de 2019
Editada: John D'Errico
el 11 de Nov. de 2019
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.
0 comentarios
Respuesta aceptada
ME
el 11 de Nov. de 2019
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 comentarios
ME
el 11 de Nov. de 2019
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.
Más respuestas (1)
John D'Errico
el 11 de Nov. de 2019
Editada: John D'Errico
el 11 de Nov. de 2019
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.
0 comentarios
Ver también
Categorías
Más información sobre Sequence and Numeric Feature Data Workflows en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!