1 模型
2 部分代码
clc;clear;closeallload('.\世界遗产假山数据\环秀山庄\.10数据\环秀山庄.10沉降1-5号点.mat')data=table2array(hx_settlement1_5(1:2000,5));%训练集输入%%%序列的前 90% 用于训练,后 10% 用于测试numTimeStepsTrain=floor(0.9*size(data,1));dataTrain=data(1:numTimeStepsTrain,:);dataTest=data;lag=1;%确定该类型第几年n=length(dataTrain);%% 训练集制作train_x=zeros(lag,n-lag);fori=1:n-lagtrain_x(:,i)=dataTrain(i:i+lag-1)';%形成训练集输入网络endtrain_y=dataTrain(lag+1:end)';%训练集输出7% 结果YPred=double(YPred');%输出是n*1的single型数据,要转换为1*n的double是数据形式% 反归一化predict_value=method('reverse',YPred,output_ps);predict_value=double(predict_value);true_value=method('reverse',targetD_test,output_ps);true_value=double(true_value);figure% subplot(2,1,1)plot(true_value,'b')holdonplot(predict_value,'r')legend('实际值','预测值')gridonxlabel('时间')ylabel('数据值')% subplot(2,1,2)% stem(predict_value-true_value)% xlabel('时间')% ylabel('均方差值')% title('均方差图 ' ) %% 评判指标z_mse=mean((predict_value-true_value).^2);%msedisp(['均方差(MSE):',num2str(z_mse)])z_r=sum((predict_value-mean(true_value)).^2)/sum((predict_value-true_value).^2);%rdisp(['R:',num2str(z_r)])rmse=sqrt(mean((true_value-predict_value).^2));disp(['根均方差(RMSE):',num2str(rmse)])mae=mean(abs(true_value-predict_value));disp(['平均绝对误差(MAE):',num2str(mae)])
3 仿真结果
4 参考文献
[1]郝晓辰, 杨跃, 杨黎明,等. 基于时间序列卷积神经网络的水泥烧成过程能耗预测模型[C]// 中国自动化大会(CAC). 0
.