如何使用GRNN预测变量的值?

时间:2015-04-20 18:22:00

标签: matlab time-series forecasting

我有一些固定采样时间的数据。我将这些数据分成火车和测试集,然后我用训练集训练GRNN,这给了我很好的结果。到现在为止还挺好。当我尝试预测测试集的值时,它不起作用(它给我一条水平线;总是相同的预测)。我能做些什么才能让它发挥作用?

编辑:

load ('dta.csv');

tam = size(dta);

data.X = (1:tam(1))'; %'
data.y = dta(:,end);

lim = round(tam(1)*0.7);

train.X = data.X(1:lim,:);
train.y = data.y(1:lim);

test.X = data.X(lim+1:end,:);
test.y = data.y(lim+1:end);


spread = 1.0;
net = newgrnn(train.X',train.y',spread);


pred = sim(net,train.X');
RMSE_TRAIN = sqrt(mean((train.y'-pred).^2))
STD_TRAIN = std(sqrt((train.y'-pred).^2))


pred = sim(net,test.X' );
RMSE_TEST = sqrt(mean((test.y'-pred).^2))
STD_TEST = std(sqrt((test.y'-pred).^2))

编辑2:

这是link to dta.csv

0 个答案:

没有答案