图神经网络时间序列预测,神经网络预测未来数据

图神经网络时间序列预测,神经网络预测未来数据_第1张图片

1、神经网络预测值为何全相同

最大的可能性是没有归一化。具体原因见下:

下面这个是经典的Sigmoid函数的曲线图:

如果不进行归一化,则过大的输入x将会导致Sigmoid函数进入平坦区,全部趋近于1,即最后隐层的输出全部趋同。输出层是个purelin,线性组合后的输出层输出当然也全是几乎相同的了。

使用matlab进行归一化通常使用mapminmax函数,它的用法:

[Y,PS] = mapminmax(X,YMIN,YMAX)——将数据X归一化到区间[YMIN,YMAX]内,YMIN和YMAX为调用mapminmax函数时设置的参数,如果不设置这两个参数,这默认归一化到区间[-1, 1]内。标准化处理后的数据为Y,PS为记录标准化映射的结构体。我们一般归一化到(0,1)区间内。希望采纳哦!

谷歌人工智能写作项目:小发猫

2、求助:用神经网络做一个数据预测

下列代码为BP神经网络预测37-56周的销售量的代码:

% x为原始序列

load 销售量.mat

data=C

x=data';

t=1:length(x);

lag=2;

fn=length(t);

[f_out,iinput]=BP(x,lag,fn);

%预测年份或某一时间段

t1=fn:fn+20;

n=length(t1);

t1=length(x)+1:length(x)+n;

%预测步数为fn

fn=length(t1);  

[f_out,iinput]=BP(x,lag,fn);

P=vpa(f_out,5);

[t1' P']

% 画出预测图

figure(6),plot(t,x,'b*-'),hold on

plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on

xlabel('周数'),ylabel('销售量');

str=['BP神经网络预测',num2str(length(x)+1),'-',num2str(length(x)+20),'周的销售量'];

title(str)

str1=['1-',num2str(length(x)),'周的销售量'];

str2=[num2str(length(x)+1),'-',num2str(length(x)+20),'周的预测销售量'];

legend(str1,str2)

运行结果

3、BP神经网络预测模型在matlab下编程如何显示出它的预测值

%画出预测输出结果和期望输出结果图
figure;
plot(output_fore,':og');
hold on;
plot(output2_lianghua','-*');
legend('预测输出','期望输出');
title('BP网络预测输出','fontsize',12);
ylabel('函数输出','fontsize',12);
xlabel('样本','fontsize',12);
%画出预测结果误差图
figure
plot(error,'-*')
title('BP网络预测误差','fontsize',12)
ylabel('误差','fontsize',12)
xlabel('样本','fontsize',12)

4、求预测一组数据的bp神经网络模型的matlab代码

用matlab求预测一组数据的bp神经网络模型,可以分
1、给定已经数据,作为一个原始序列;
2、设定自回归阶数,一般2~3,太高不一定好;
3、设定预测某一时间段
4、设定预测步数
5、用BP自定义函数进行预测
6、根据预测值,用plot函数绘制预测数据走势图
其主要实现代码如下:
clc
% x为原始序列(行向量)
x=[208.72 205.69 231.5 242.78 235.64 218.41];
%x=[101.4 101.4 101.9 102.4 101.9 102.9];
%x=[140 137 112 125 213 437.43];
t=1:length(x);
% 自回归阶数
lag=3;
%预测某一时间段
t1=t(end)+1:t(end)+5;
%预测步数为fn
fn=length(t1);
[f_out,iinput]=BP(x,lag,fn);
P=vpa(f_out,5);
A=[t1' P'];
disp('预测值')
disp(A)
% 画出预测图
figure(1),plot(t,iinput,'bo-'),hold on
plot(t(end):t1(end),[iinput(end),f_out],'rp-'),grid on
title('BP神经网络预测某地铁线路客流量')
xlabel('月号'),ylabel('客流量(百万)');
运行结果:

5、请问MATLAB中神经网络预测结果应该怎么看?求大神解答

从图中Neural
Network可以看出,你的网络结构是两个隐含层,2-3-1-1结构的网络,算法是traindm,显示出来的误差变化为均方误差值mse。经过482次迭代循环完成训练,耗时5秒。相同计算精度的话,训练次数越少,耗时越短,网络结构越优秀。达到设定的网络精度0.001的时候,误差下降梯度为0.0046,远大于默认的1e-5,说明此时的网络误差仍在快速下降,所以可以把训练精度目标再提高一些,比如设为0.0001或者1e-5。

6、如何建立bp神经网络预测 模型

建立BP神经网络预测 模型,可按下列步骤进行:

1、提供原始数据

2、训练数据预测数据提取及归一化

3、BP网络训练

4、BP网络预测

5、结果分析

现用一个实际的例子,来预测2015年和2016年某地区的人口数。

已知2009年——2014年某地区人口数分别为3583、4150、5062、4628、5270、5340万人

执行BP_main程序,得到

[ 2015,  5128.呵呵3946380615234375]

[ 2016, 5100.5797325642779469490051269531]

代码及图形如下。

7、神经网络 程序如下,怎样把原来的数据和预测数据用图形输出在同一图形中。 30

plot(x1,x2,'DisplayName','x2 vs. x1','XDataSource','x1','YDataSource','x2');figure(gcf)
x1,x2就是2组数据。

8、关于matlab BP神经网络,为什么预测出来的数据数值不变化?变化曲线就是一条水平直线

我觉得一个很大的原因是你预测给的输入范围(2014-)超出了训练数据的输入范围(2006-2013),神经网络好像是具有内插值特性,不能超出,你可以把输入变量-时间换成其他的变量,比如经过理论分析得出的某些影响因素,然后训练数据要包括大范围的情况,这样可以保证预测其他年份的运量的时候,输入变量不超出范围,最后预测的时候给出这几个影响因素的值,效果会好一点。
预测的话,规律应该包含在训练数据里面,让神经网络去学习,如果你都不知道变化规律,怎么能指望神经网络预测未来?
有关时间序列的问题也有其他的方法

9、求一个bp神经网络预测模型的MATLAB程序

BP神经网络预测的步骤:

1、输入和输出数据。

2、创建网络。fitnet()

3、划分训练,测试和验证数据的比例。net.divideParam.trainRatio; net.divideParam.valRatio;net.divideParam.testRatio

4、训练网络。 train()

5、根据图表判断拟合好坏。ploterrcorr();parcorr();plotresponse()

6、预测往后数据。net()

7、画出预测图。plot()

执行下列命令

BP_prediction

得到结果:

[ 2016, 14749.呵呵6798210144042969]

[ 2017, 15092.847215188667178153991699219]

[ 2018, 15382.150005970150232315063476562]

[ 2019,  15398.85769711434841156005859375]

[ 2020, 15491.935150090605020523071289062]

10、神经网络预测模型为什么输出的预测值为NaN,还有输出的图当中没有预测的点

plot(x1,x2,;DisplayName;,;x2 vs. x1;,;XDataSource;,;x1;,;YDataSource;,;x2;);figure(gcf)x1,x2就是2组数据。

你可能感兴趣的:(神经网络,神经网络,matlab,算法)