【MATLAB第26期】区间预测 | 基于MATLAB的LASSO分位数回归预测模型 负荷预测数据
一、效果预览
MSE:
22.9684327801807 %15分钟
21.6725387054707%30分钟
24.0995456594418%45分钟
21.3992361173462%60分钟
二、数据选择
案例数据:两个月负荷数据3599*30, 前五列分别为velocity、direction、tem、hPa及humidity,其余列为前24h历史负荷变量,以及最后一列为当前的load负荷输出变量。
若不考虑历史负荷,则默认前5列数据为输入变量, 最后一列为输出变量。
可通过readtable函数生成自己的excel数据,进行替换 。
最后一列数据需要为因变量数据。
或者通过菜单里的导入数据,选择excel表格,导出为table格式 。
三、代码优势
调参一体化,使用和调整方便,含注释,对新手友好
(1)采样时间间隔数量选择(代码目前可选择范围为1~4之内)
(2)采样时间间隔选择(可灵活调整,默认15min)
(3)测试集比例选择(默认20%)
(4)考虑历史负荷作为输入(调整FeatureMean 为0/1即可)
(5)特征变量数量选择(默认25:1:25,即前25作为输入,也可以选择多个变量对比)
(6)可修改分位数(默认0.1-0.9)
四、主程序代码
%% LASSO分位数回归 clc close all clear warning off %% 1.导入数据 load data% table格式数据,案例数据:两个月负荷数据3599*30, 最后一列为load输出变量 %% 2.数据设置 percent = 0.8; % 训练数据比例80% tt=4;% 不同采样时间间隔方式数量(1-4之内) mm=15;% 采样时间间隔 为15min %% 3.参数设置 mse =[]; count = 1; %起始数 FeatureMean = 0;% 特征值 ,选择0或者1 %特征值=0考虑历史负荷组合 ,1:end-k列作为输入,end为输出 %特征值非0代表 不考虑历史负荷 ,即1:5列作为输入,end为输出 ff=25:1:25;%特征变量数量选择 if FeatureMean==0 kk=size(data,2)-ff(1):-1:size(data,2)-ff(end); elseif FeatureMean==1 ff=5; kk=size(data,2)-ff; end QuanYpre = Quantile(Train,Test,model);%分位数回归预测
五、代码获取方式
后台私信回复“26”获取下载链接。