求大神帮忙用matlab程序做BP神经网络预测

2024-11-05 10:59:10
推荐回答(3个)
回答1:

1、样本数据太少,用BP网络预测可能并非好选择。说不定用一般的回归分析效果更好。

2、要对Y进行预测,需要知道2015年的影响因素X1~X7才行吧?

 

BP神经网络的参考程序:

data = [ ...
    2009 2102.13 108.69 1104.99 888.45 700.6 64.28 8204.5 17502.1
    2010 2701.61 132.74 1456.64 1121.64 839.02 99.58 9100 20760.52
    2011 3636.62 208.22 2002.1 1426.29 1111.12 123.09 10086.88 29286.8
    2012 4164.32 229.05 2303.9 1631.37 1293.62 176.42 12005.115 33720.1
    2013 4672.91 247.21 2583.75 1841.95 1480.84 181.9 13136.77 39131
    2014 5157.97 257.63 2872.01 2028.33 1666.75 200.87 15110 42194
    ];
year = data(:,1);
p = data(:,2:8).';
t = data(:,9).';
net = newff(p,t,10);
net = train(net,p,t);
y1 = sim(net,p(:,end))

由于没有2015年的X1~X7数据,最后一句用2014年的数据进行测试。

 

如果用多元线性回归:

c=regress(t',p')
y2=c'*p(:,end)

由于样本数量太少(少于影响因素的数量),这种情况下,实际上回归的结果可以几乎没有误差(只有数值误差)。当然,用于预测是否准确要另当别论。

回答2:

不要用截图,不能直接利用,要方便别人利用来写程序、调试。可直接帖数据或发文件,否则,要别人一个一个再输入数据,可能要花时间。请补充下。

回答3:

2015年没数据,怎么预测?