我想通过Matlab预测使用人工神经网络的车辆的行驶时间。我的输入数据是:天,小时,时间段。
我想预测旅行时间。当我使用30天(小时,小时)的样本作为训练数据来预测一天(每小时)时,我的预测非常糟糕。
相反,当我使用2天(每小时)数据时,我有更好的预测。我已经尝试了2,3,4 ......天和各种架构,回归率从未超过0.67。这意味着我没有一个好的模型。我错了什么?代码如下:
%% Read the xlsx
insertdata = xlsread('input4.xlsx');
testdata = xlsread('test.xlsx');
% input data
px=insertdata(:,2:4);
p=px';
% target data
tx=insertdata(:,1);
t=tx';
% test data
ptestx=testdata(:,2:4);
ptest=ptestx';
ptesty=testdata(:,1);
ptesy=ptesty';
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %Normalize Data [-1, 1]
NodeNum1 = 20;
NodeNum2 = 10;
TypeNum = 1; % output vector dimensions
TF1 = 'tansig'; TF2 = 'tansig'; TF3 = 'tansig';
net=newff(minmax(pn),[NodeNum1,NodeNum2,TypeNum],{TF1 TF2 TF3},'traingdx');
%Creat network 'traingdm'
net.trainParam.show=50;
net.trainParam.epochs=1000;
net.trainParam.goal=1e-7;
net.trainParam.lr=0.01;
net=train(net,pn,tn);