区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测

区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测

目录

    • 区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测
      • 效果一览
      • 基本介绍
      • 程序设计
      • 参考资料

效果一览

区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测_第1张图片
区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测_第2张图片
区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测_第3张图片

区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测_第4张图片

区间预测 | Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测_第5张图片

基本介绍

1.Matlab实现BiLSTM-Adaboost-ABKDE的集成学习双向长短期记忆神经网络结合自适应带宽核函数密度估计的多变量回归区间预测(完整源码和数据)
2.BiLSTM-Adaboost-ABKDE的集成学习双向长短期记忆神经网络结合自适应带宽核函数密度估计的多变量回归区间预测(点预测+概率预测+核密度估计) Matlab语言
3.多变量单输出,包括点预测+概率预测+核密度估计曲线,MatlabR2021a及以上版本运行,提供多种置信区间!评价指标包括R2、MAE、RMSE、MAPE、区间覆盖率picp、区间平均宽度百分比pinaw等。
4.算法新颖,对固定带宽核函数进行了改进。
5.直接替换Excel数据即可用,注释清晰,适合新手小白,直接运行main文件一键出图。
6.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。

程序设计

  • 完整程序和数据获取方式私信博主回复Matlab实现BiLSTM-Adaboost-ABKDE的集成双向长短期记忆网络自适应带宽核密度估计多变量回归区间预测

%%  数据反归一化
T_sim1 = mapminmax('reverse', T_sim1, ps_output);
T_sim2 = mapminmax('reverse', T_sim2, ps_output);

%% *区间预测* (基于KDE)
z = [0.975;0.95;0.875;0.75;0.625;0.55;0.525]; %分位数

%% *值评估指标*
[Error] = PlotError(T_sim1,T_train,N,'#3D59AB');

%% *自适应带宽核密度估计
figure;
[y,t,optim_width,~,~,confb95] = ABKDE(Error);
hold on
window=fill([t,fliplr(t)],[confb95(1,:),fliplr(confb95(2,:))],[7 7 7]/8,'FaceAlpha',0.5);
window.EdgeColor = 'none';
plot(t,confb95(1,:),'Color',[7 7 7]/9,'LineWidth',1);
plot(t,confb95(2,:),'Color',[7 7 7]/9,'LineWidth',1);
plot(t,y,'Color',[0.9 0.2 0.2],'LineWidth',2);
[f0,xi0] = ksdensity(Error,'Function','pdf');
plot(xi0,f0,'LineWidth',1.5,'Color',"#7E2F8E");
xlim([min(t) max(t)]);
legend({'95%置信核密度估计曲线','','','优化自适应带宽核密度估计曲线','未优化固定带宽核密度估计曲线'});
grid on;
ylabel('概率密度');
xlabel('预测误差');
set(gca,'TickDir','out'); 
set(gcf,'color','w')

for m = 1:length(z)
    Q1(m) = QuantSol_FUN(t,y,1-z(m));         %  下界
    Q2(m) = QuantSol_FUN(t,y,z(m));           %  上界
end

for m = 1:length(z)
    Lower(:,m) = T_sim2 + Q1(m);
    Upper(:,m) = T_sim2 + Q2(m);
end

%% *绘图*
PlotProbability(T_sim2,T_test,numel(T_test),Lower,Upper,0,N,[0 100 0]/255); %概率绘图

%% *核密度估计*
time_index = [25;50;75;100]; %确定采样点,注意元素不要超过预测样本的个数!!
num_KD = numel(time_index);
PlotKernelDensity(Lower,Upper,time_index,T_test',num_KD);
set(gcf,'color','w')

参考资料

[1] https://blog.csdn.net/kjm13182345320/article/details/127931217
[2] https://blog.csdn.net/kjm13182345320/article/details/127418340

你可能感兴趣的:(区间预测,BiLSTM-Adaboost,ABKDE,集成双向长短期记忆网络,自适应带宽核密度估计,多变量回归区间预测)