區(qū)間預(yù)測 | MATLAB實(shí)現(xiàn)基于QRF隨機(jī)森林分位數(shù)回歸多變量時(shí)間序列區(qū)間預(yù)測模型
效果一覽
基本介紹
1.Matlab實(shí)現(xiàn)基于QRF隨機(jī)森林分位數(shù)回歸多變量時(shí)間序列區(qū)間預(yù)測模型;
2.基于隨機(jī)森林回歸(QRF)分位數(shù)時(shí)間序列區(qū)間預(yù)測,Matlab代碼,單變量輸入模型,data為數(shù)據(jù)集,QRFNTS為主程序,其余為函數(shù)文件,無需運(yùn)行;
3.評價(jià)指標(biāo)包括:R2、MAE、MAPE、MSE和區(qū)間覆蓋率和區(qū)間平均寬度百分比等,代碼質(zhì)量極高,方便學(xué)習(xí)和替換數(shù)據(jù);
隨機(jī)森林分位數(shù)回歸是一種基于隨機(jī)森林過程的學(xué)習(xí)方法,用于對時(shí)間序列進(jìn)行預(yù)測。在時(shí)間序列區(qū)間預(yù)測中,RF可以用于預(yù)測一系列未來時(shí)間點(diǎn)的分位數(shù),從而提供關(guān)于未來趨勢的一些信息。具體來說,RF可以用于估計(jì)某個(gè)時(shí)間點(diǎn)的觀測值在給定分位數(shù)水平下的概率分布。這個(gè)分布可以用來計(jì)算區(qū)間預(yù)測。RF的預(yù)測結(jié)果可以提供一些關(guān)于未來時(shí)間序列的不確定性信息,這對于決策者和風(fēng)險(xiǎn)管理者來說非常有用。在應(yīng)用 RF進(jìn)行時(shí)間序列區(qū)間預(yù)測時(shí),需要首先選擇合適的高斯過程模型,然后基于歷史數(shù)據(jù)進(jìn)行參數(shù)估計(jì)和模型訓(xùn)練。一旦模型訓(xùn)練完成,就可以用它來對時(shí)間序列進(jìn)行預(yù)測和區(qū)間估計(jì)。需要注意的是,RF是一種復(fù)雜的學(xué)習(xí)方法,需要一定的數(shù)學(xué)和計(jì)算機(jī)技能才能進(jìn)行有效的應(yīng)用。此外,預(yù)測結(jié)果也受到歷史數(shù)據(jù)的限制,因此在進(jìn)行時(shí)間序列區(qū)間預(yù)測時(shí)需要謹(jǐn)慎選擇樣本數(shù)據(jù),并且需要不斷更新模型以反映新的數(shù)據(jù)和趨勢。
程序設(shè)計(jì)
-
完整程序和數(shù)據(jù)獲取方式1:私信博主,同等價(jià)值程序兌換;
-
完整程序和數(shù)據(jù)下載方式2(資源處直接下載):MATLAB實(shí)現(xiàn)基于QRF隨機(jī)森林分位數(shù)回歸多變量時(shí)間序列區(qū)間預(yù)測模型
-
完整程序和數(shù)據(jù)下載方式3(訂閱《RF隨機(jī)森林》專欄,數(shù)據(jù)訂閱后私信我獲取):MATLAB實(shí)現(xiàn)基于QRF隨機(jī)森林分位數(shù)回歸多變量時(shí)間序列區(qū)間預(yù)測模型,專欄外只能獲取該程序。文章來源:http://www.zghlxwxcb.cn/news/detail-608711.html
%% 數(shù)據(jù)集分析
outdim = 1; % 最后一列為輸出
num_size = 0.7; % 訓(xùn)練集占數(shù)據(jù)集比例
num_train_s = round(num_size * num_samples); % 訓(xùn)練集樣本個(gè)數(shù)
f_ = size(res, 2) - outdim; % 輸入特征維度
%% 劃分訓(xùn)練集和測試集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);
P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);
%% 數(shù)據(jù)歸一化
[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);
%% 轉(zhuǎn)置以適應(yīng)模型
p_train = p_train'; p_test = p_test';
t_train = t_train'; t_test = t_test';
%% 仿真測試
%% 數(shù)據(jù)反歸一化
L_sim1 = mapminmax('reverse', l_sim1, ps_output);
L_sim2 = mapminmax('reverse', l_sim2, ps_output);
T_sim1 = mapminmax('reverse', t_sim1, ps_output);
T_sim2 = mapminmax('reverse', t_sim2, ps_output);
參考資料
[1] https://blog.csdn.net/kjm13182345320/article/details/127931217
[2] https://blog.csdn.net/kjm13182345320/article/details/127418340文章來源地址http://www.zghlxwxcb.cn/news/detail-608711.html
到了這里,關(guān)于區(qū)間預(yù)測 | MATLAB實(shí)現(xiàn)基于QRF隨機(jī)森林分位數(shù)回歸多變量時(shí)間序列區(qū)間預(yù)測模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!