基于LASSO分位数回归时间序列区间预测
1、LASSO
LASSO回归的特点是在拟合广义线性模型的同时进行变量筛选(variable selection)和复杂度调整(regularization)。因此,不论因变量是连续的(continuous),还是二元或者多元离散的(discrete),都可以用 LASSO 回归建模然后预测。算法中的复杂度调整是指通过一系列参数控制模型的复杂度,从而避免过度拟合(overfitting)。对于线性模型来说,复杂度与模型的变量数有直接关系,变量数越多,模型复杂度就越高。更多的变量在拟合时往往可以给出一个看似更好的模型,但是同时也面临过度拟合的危险。此时如果用全新的数据去验证模型(validation),通常效果很差。一般来说,变量数大于数据点数量很多,或者某一个离散变量有太多独特值时,都有可能过度拟合。LASSO 回归复杂度调整的程度由参数 λ 来控制,λ越大对变量较多的线性模型的惩罚力度就越大,从而最终获得一个变量较少,而且比较有代表性的变量组合。
LASSO可以有效的避免过拟合,什么是过拟合,让我们看看下图,从左往右依次是欠拟合,拟合效果良好和过拟合。建模的过程就是模型对数据的普遍规律的总结,例如在线性模型中,输入自变量的数值,通过线性公式的转换,让最终得到的因变量的值和实际的因变量的值相差尽量小,这就是模型的拟合过程。欠拟合情况下,模型没有正确认识到数据体现的普遍规律,无法对作出良好的预测。过拟合情况下,模型将数据中的全部信息都当做普遍规律,在训练集样本可以达到完美的效果,但用于样本外的测试情况就不行了,因为它可能将一些片面的、只体现于小部分样本的规律误认为是复合总体样本的普遍规律了,这种的模型最终效果也是不好的,我们要避免这两种情况,一般来说,欠拟合可以用复杂的算法来避免,但随着模型复杂度增大,其学习率也增强,很容易出现过拟合现象。LASSO回归加入了正则项,对不蕴含有用信息的特征进行减小权重的操作,从而达到减小过拟合的目的。
2、代码实战
% 变量选择算法
clc
close all
clear
data = load('load24.mat').x;
%%
% 参数说明
percent = 0.8; % 数据比列
mse =[];
% 取两个月数据
data = data(2:15*4*60,:); % 两个月数据
%%
norm = 0; % 是否归一化预测
count = 1;
FileWrite = 4;
FeatureMean = 3;
for k = 10:-1:1 % 不同特征预测figure(1)for i =1:4% 采样间隔Data = SampleData(data,i); % 数据采样[Train,Test] = DataDivide(Data,percent,k,FeatureMean); % 不同特征子集数据集[Train,Test,Xopt,Yopt] = Norm(Train,Test); % 数据集归一化划分 if norm == 0 % 两种方式预测 归一化或者不归一化model = LinearModel.fit(Train.x,Train.y);Ypre = model.predict(Test.x);QuanYpre = Quantile(Train,Test,model,norm);else % 归一化预测model = LinearModel.fit(Train.xnorm,Train.ynorm);Ypre = model.predict(Test.xnorm);QuanYpre = Quantile(Train,Test,model,norm);endsubplot(2,2,i)x =1:length(Test.y);fill([x,x(end:-1:1)],[QuanYpre{1}',...QuanYpre{end}(end:-1:1)'],'r','FaceColor',[1 0.8 0.8],'EdgeColor','none')hold on plot(Ypre)if norm == 0 Yactual = Test.y;plot(Yactual)elseYactual = Test.ynorm;plot(Yactual)endhold off%plot(Test.ynorm);title(['采样间隔',num2str(i*15),'分钟'])legend('预测80%间隔','预测均值','实际值')xlabel(['归一化',num2str(norm)]);mse(i,count) = model.MSE;Loss(i,count) = Mse(Ypre,Yactual)*100;endcount = count + 1;pause(0.5)end
3、结果展示
完整代码
基于LASSO分位数回归时间序列区间预测相关推荐
- 基于分位数回归的长短期记忆网络QRLSTM时间序列区间预测。(主要应用于风速,负荷,功率)包含评价指标R2,MAE,MBE,区间覆盖率,区间平均宽度。
%% 清空环境变量 warning off % 关闭报警信息 close all % 关闭开启的图窗 clear ...
- 2022年数模国赛C题(岭回归、区间预测、矩阵热力图、Fisher判别分类模型)——总结心得(附最后一次数模经历,Matlab\SPSS\Lingo的理解综合)
文章目录 一.国赛 二.国赛代码展示 1.1 问题一 1.2 问题二 1.3 问题三 1.4 问题四 三.对于软件的理解 3.1 Matlab 3.1.1 表格的读取 3.1.2 元胞数组的相关函数的 ...
- 基于分位数回归的动态CoVaR计算 案例与代码
关注公众号卧新实验室,并回复关键数字获取本文帮助文档.例如:20003 原文链接:基于分位数回归的动态CoVaR模型计算与操作 报名已结束:CCtalk 实时互动教育平台-专业的知识分享与在线教育平台 ...
- 分位数回归、GAM样条曲线、指数平滑和SARIMA对电力负荷时间序列预测
原文链接:http://tecdat.cn/?p=18359 电力负荷预测是电网规划的基础,其水平的高低将直接影响电网规划质量的优劣.为了准确预测电力负荷,有必要进行建模(点击文末"阅读原文 ...
- 电气论文实现:深度学习分位数回归实现电力负荷区间预测
个人电气博文目录链接:学好电气全靠它,个人电气博文目录(持续更新中-) 之前写过一版电力负荷区间预测:电气论文:负荷区间预测(机器学习简单实现) 这版区间负荷预测思维和上一版不一样. 核心代码见图(无 ...
- 计量经济学之回归分析学习笔记(均值回归、分位数回归、岭回归、Lasso回归、ENet回归)——基于R(一)
[笔记前言] 最近在进行计量经济学的课程学习,本文对部分回归方法进行了整理,恳请大家对其中出现的错误进行指正,不胜感激. 此外,由于种种原因,在均值回归时,我们将涉及到模型建立后的后续检验,而在其他回 ...
- 时间序列预测之区间预测方法(PIs:MVEDeltaBayesianBootstrapLUBE)
文章目录 前言 一.预测区间的评价指标 1.PICP(PI coverage probability) 2.PINAW(PI normalized averaged width) 3.CWC(cove ...
- 贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据...
原文链接:http://tecdat.cn/?p=22702 贝叶斯回归分位数在最近的文献中受到广泛关注,本文实现了贝叶斯系数估计和回归分位数(RQ)中的变量选择,带有lasso和自适应lasso惩罚 ...
- 基于泰尔森回归的股票预测研究
基于泰尔森回归的股票预测研究 绪论 背景 目的 流程 主要内容 数据获取与数据存储 数据调取以及案例数据分析 模型比较分析 2.3.1 模型初始化 2.3.2模型创建 2.3.3 模型可视化 2.3. ...
最新文章
- 深拷贝(deep clone)与浅拷贝(shallow clone)
- centos 安装配置ftp服务器
- 网络工程师之广域网必胜篇一
- 「mysql优化专题」90%程序员面试都用得上的索引优化手册(5)
- 解决oracle11g连接失败 ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist
- IBM Racetrack内存为移动设备带来1TB容量
- 使用spring ioc基于纯xml配置模拟crud
- 【CSON原创】javascript图片滚动效果发布
- SLAM专题(8)卡尔曼滤波和扩展卡尔曼滤波 原理与应用
- 转 我奋斗了18年,不是为了和你一起喝咖啡!
- C语言双人贪吃蛇游戏瘦身版本
- photoshop 安装和使用 蓝湖上传设计图
- Ubuntu 搭建opengrok 流程
- OSChina 周二乱弹 —— 糟糕 是喵动的感觉
- 两天碾转两个学校办卡地推
- 图像超分算法SRLUT: Practical Single-Image Super-Resolution Using Look-Up Table图像超分辨率重建
- Linux下vi编译器用C语言写九九乘法表
- Join Strings with join(连接字符串)freeCodeCamp上边的项目
- 实战|用Python制作邮箱自动回复机器人
- vos3000手机区号添加
热门文章
- 光纤接口卡学习资料第705篇:基于PCIe的24路光纤接口卡
- 如何通过蒲公英实现iOS版本自动提示更新,省去频繁打内测版本发链接给同事老板
- 2015华为机试题整理
- UESTC_方老师的分身 II CDOJ 915
- 分享两种主流的win10系统重装方法,手把手教你重装win10系统
- 2022年中国互联网广告行业市场规模及发展前景分析 2027年中国互联网广告规模或将接近9000亿元
- Windows PowerShell™ 用户手册
- java 海鲜超市项目_基于jsp的海鲜超市管理-JavaEE实现海鲜超市管理 - java项目源码...
- Python写入文件发现漏数据
- struts2获得所有actionlist