區間預測 | Matlab實現DNN-KDE深度神經網絡結合核密度估計多置信區間多變量回歸區間預測
目錄
- 區間預測 | Matlab實現DNN-KDE深度神經網絡結合核密度估計多置信區間多變量回歸區間預測
- 效果一覽
- 基本介紹
- 程序設計
- 參考資料
效果一覽
基本介紹
1.Matlab實現DNN-KDE深度神經網絡結合核密度估計多置信區間多變量回歸區間預測;
2.多變量單輸出,包括點預測+概率預測曲線+核密度估計曲線,MatlabR2021a及以上版本運行,提供多種置信區間!評價指標包括R2、MAE、RMSE、MAPE、區間覆蓋率picp、區間平均寬度百分比pinaw等。
3.直接替換Excel數據即可用,注釋清晰,適合新手小白,直接運行main文件一鍵出圖。
4.代碼特點:參數化編程、參數可方便更改、代碼編程思路清晰、注釋明細。
程序設計
- 完整程序和數據獲取方式資源處下載Matlab實現DNN-KDE深度神經網絡結合核密度估計多置信區間多變量回歸區間預測。
%% 清空環境變量
warning off % 關閉報警信息
close all % 關閉開啟的圖窗
clear % 清空變量
clc % 清空命令行
%% 劃分訓練集和測試集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, end)';
M = size(P_train, 2);P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, end)';
N = size(P_test, 2);
%% 歸一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);
%% *值評估指標*
errorTest = T_sim2 - T_test;
AE = abs(errorTest); %絕對誤差
MSEErrorTest = mse(errorTest); %測試集誤差
figure;
subplot(2,2,1)
bar(errorTest);
subplot(2,2,2)
histogram(AE,'BinWidth',0.5);
xlabel('絕對誤差區間的中位數','FontWeight',"bold");
ylabel('位于該誤差區間的樣本個數','FontWeight',"bold");
MAE = sum(AE)/length(AE);
MSE = MSEErrorTest;
RMSE = sqrt(MSE);
disp(['測試集數據的R2為:', num2str(R2)])
disp(['測試集數據的MAE為:', num2str(mae2)])
disp(['測試集數據的RMSE為:', num2str(RMSE2)])
disp(['測試集數據的MAPE為:', num2str(MAPE2)])
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/127931217
[2] https://blog.csdn.net/kjm13182345320/article/details/127418340