依古比古922 2022-04-16 16:13 采纳率: 89.3%
浏览 8
已结题

请问一下请问一下error2=p_out-[139232,140541,141008,141178]中的数据怎么来的呢?

clear all
clc
clf

%% 1,读取1961-2015的人口数据,并做归一化处理  
input_1=[65859,67296,69172,70499,72538,74542,76368,78534,80671,82992,85229,87177,89211,90859,92420,93717,94974,96259,97542,98705,100072,101654,103008,104357,105851,107507,109300,111026,112704,114333,115823,117171,118517,119850,121121,122389,123626,124761,125786,126743,127627,128453,129227,129988,130756,131448,132129,132802,133450,134091,134916,135922,136726,137646,138326];  
n=length(input_1);  
row=4;      %通过前四年数据,预测第五年  
input=zeros(4,n-row);  
for i =1:row  
    input(i,:)=input_1(i:n-row+i-1);  
end  
output=input_1(row+1:end);  
[inputn,inputps]=mapminmax(input);  
[outputn,outputps]=mapminmax(output);  

%% 2,划分训练集和测试集  
inputn_train=inputn(:,1:n-row-5);  
inputn_test=inputn(:,n-row-4:end);  
outputn_train=outputn(1:n-row-5);  
outputn_test=outputn(n-row-4:end);  

%% 3,构建BP神经网络  
hiddennum=10;%隐含层节点数量经验公式p=sqrt(m+n)+a ,故分别取3~13进行试验  
net=newff(inputn_train,outputn_train,hiddennum,{'tansig','purelin'},'trainlm');     %tansig :正切S型传递函数。purelin:线性传递函数。trainlm:Levenberg-Marquardt算法   

%% 4,网络参数配置  
net.trainParam.epochs=1000;  
net.trainParam.lr=0.2;    

%% 5,BP神经网络训练  
[net,tr]=train(net,inputn_train,outputn_train);   
%% 6,仿真计算  
resultn=sim(net,inputn_test);  

%% 7,计算与测试集之间误差  
result=mapminmax('reverse',resultn,outputps);  
output_test=mapminmax('reverse',outputn_test,outputps);  
error=result-output_test;  
rmse=sqrt(error*error')/length(error); 
figure(1)  
plot(output_test,'b')  
hold on  
plot(result,'r*');  
hold on  
plot(error,'s','MarkerFaceColor','k')  
legend('期望值','预测值','误差')  
xlabel('数据组数')  
ylabel('值')  

%% 8,预测未来五年2016-2020的人口数据  
pn=5;  
[p_in,ps]=mapminmax(input_1(n-row+1:end));  
p_in=p_in';  
p_outn=zeros(1,pn);  
for i = 1:pn  
    p_outn(i)=sim(net,p_in);  
    p_in=[p_in(2:end);p_outn(i)];  
end  
p_out=mapminmax('reverse',p_outn,ps)  
error2=p_out-[139232,140011,140541,141008,141178];  
rmse2=sqrt(error2*error2')/length(error2)  
  
figure(2)  
plot(1961:2020,[input_1,139232,140011,140541,141008,141178],'r*')  
hold on  
plot(2011:2015,result,'b')  
hold on  
plot(2015:2020,[result(end),p_out],'g')  

请问一下error2=p_out-[139232,140011,140541,141008,141178]; 后面的这组数据[139232,140011,140541,141008,141178]代表什么呀?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 4月24日
    • 创建了问题 4月16日

    悬赏问题

    • ¥15 网站设计与开发职业技能大赛试题
    • ¥20 在使用CESM2.2.0模型进行case.submit过程中出现如下错误(关键词-Map)
    • ¥15 有办法改变通过wifi进入的网站的设置吗
    • ¥15 所以到底怎么算!算到凌晨五点都算不出来!
    • ¥15 label_studio
    • ¥15 请教如何phython发邮件
    • ¥15 linux系统安装问题
    • ¥15 路径规划如何采用矢量法让他们尽量在一个方向
    • ¥15 crypto 一道rsa解密题
    • ¥15 survIDINRI已将生存时间转为数值变量,仍错误 Time variable is not numeric。