首页 > 其他分享 >MATLAB用Lasso回归拟合高维数据和交叉验证|附代码数据

MATLAB用Lasso回归拟合高维数据和交叉验证|附代码数据

时间:2023-11-18 23:22:05浏览次数:31  
标签:系数 验证 回归 交叉 html MATLAB Lasso 高维 Lambda

原文链接:http://tecdat.cn/?p=25741

原文出处:拓端数据部落公众号

此示例显示如何 lasso 识别和舍弃不必要的预测变量。

使用各种方法从指数分布生成 200 个五维数据 X 样本。

  html
rng(3,'twister') %    实现可重复性

for i = 1:5    
    X(:,i) = exprnd
end

生成因变量数据 Y =  X *  r +  eps ,其中 r 只有两个非零分量,噪声 eps 正态分布,标准差为 0.1。

用 拟合交叉验证的模型序列 lasso ,并绘制结果。

  html
Plot(ffo);

Lambda 该图显示了正则化参数的各种值的回归中的非零系数 。较大的值 Lambda 出现在图的左侧,意味着更多的正则化,导致更少的非零回归系数。

虚线代表最小均方误差的Lambda值(在右边),以及最小均方误差加一个标准差的Lambda值。后者是Lambda的一个推荐设置。这些线条只在你进行交叉验证时出现。通过设置'CV'名-值对参数来进行交叉验证。这个例子使用了10折的交叉验证。

图的上半部分显示了自由度(df),即回归中非零系数的数量,是Lambda的一个函数。在左边,Lambda的大值导致除一个系数外的所有系数都是0。在右边,所有五个系数都是非零的,尽管该图只清楚显示了两个。其他三个系数非常小,几乎等于0。

对于较小的 Lambda 值(在图中向右),系数值接近最小二乘估计。

求 Lambda 最小交叉验证均方误差加上一个标准差的值。检查 MSE 和拟合的系数 Lambda 。

  html
MSE(lm)

  html
b(:,lam)

lasso 很好地找到了系数向量 r 。

为了比较,求  r的最小二乘估计 。

  html
rhat

估计 b(:,lam) 的均方误差略大于 rhat 的均方误差 。

  html

res; % 计算残差
MSEmin 

但 b(:,lam) 只有两个非零分量,因此可以对新数据提供更好的预测估计。


最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

原文链接:http://tecdat.cn/?p=25741

原文出处:拓端数据部落公众号

此示例显示如何 lasso 识别和舍弃不必要的预测变量。

使用各种方法从指数分布生成 200 个五维数据 X 样本。

  html
rng(3,'twister') %    实现可重复性

for i = 1:5    
    X(:,i) = exprnd
end

生成因变量数据 Y =  X *  r +  eps ,其中 r 只有两个非零分量,噪声 eps 正态分布,标准差为 0.1。

用 拟合交叉验证的模型序列 lasso ,并绘制结果。

  html
Plot(ffo);

Lambda 该图显示了正则化参数的各种值的回归中的非零系数 。较大的值 Lambda 出现在图的左侧,意味着更多的正则化,导致更少的非零回归系数。

虚线代表最小均方误差的Lambda值(在右边),以及最小均方误差加一个标准差的Lambda值。后者是Lambda的一个推荐设置。这些线条只在你进行交叉验证时出现。通过设置'CV'名-值对参数来进行交叉验证。这个例子使用了10折的交叉验证。

图的上半部分显示了自由度(df),即回归中非零系数的数量,是Lambda的一个函数。在左边,Lambda的大值导致除一个系数外的所有系数都是0。在右边,所有五个系数都是非零的,尽管该图只清楚显示了两个。其他三个系数非常小,几乎等于0。

对于较小的 Lambda 值(在图中向右),系数值接近最小二乘估计。

求 Lambda 最小交叉验证均方误差加上一个标准差的值。检查 MSE 和拟合的系数 Lambda 。

  html
MSE(lm)

  html
b(:,lam)

lasso 很好地找到了系数向量 r 。

为了比较,求  r的最小二乘估计 。

  html
rhat

估计 b(:,lam) 的均方误差略大于 rhat 的均方误差 。

  html

res; % 计算残差
MSEmin 

但 b(:,lam) 只有两个非零分量,因此可以对新数据提供更好的预测估计。


最受欢迎的见解

1.R语言多元Logistic逻辑回归 应用案例

2.面板平滑转移回归(PSTR)分析案例实现

3.matlab中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R语言泊松Poisson回归模型分析案例

5.R语言回归中的Hosmer-Lemeshow拟合优度检验

6.r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现

7.在R语言中实现Logistic逻辑回归

8.python用线性回归预测股票价格

9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标

标签:系数,验证,回归,交叉,html,MATLAB,Lasso,高维,Lambda
From: https://www.cnblogs.com/tecdat/p/17841475.html

相关文章

  • matlab练习程序(李代数优化)
    对于两组点集,要计算其旋转平移矩阵,可以用点云配准算法。也可以用非线性优化的方法计算,不过由于待优化量包含旋转量,做迭代求雅克比矩阵时如果用欧拉角表示旋转矩阵会比较麻烦。因此这里用李群李代数的方法求解。李群与李代数互转公式见下图:通常用三维变换SE(3)多一些,三维空间......
  • matlab层次分析法模型及相关语言基础
    发现更多计算机知识,欢迎访问Cr不是铬的个人网站代码放在最后面!这篇文章是学习层次分析法模型的笔记。1.什么时候用层次分析法层次分析法是建模比赛中最基础的模型之一,其主要用于解决评价类问题(例如:选择哪种方案最好、哪位运动员或者员工表现的更优秀)。层次分析法式利用各项......
  • MATLAB/Simulink中调用C语言实现的传递函数
    1.引言在变流器控制中,通常采用C语言实现传递函数,且通常写成独立的C文件,本文简要介绍如何在MATLAB/Simulink中调用这些C文件。在本文中,采用C语言实现了一阶低通滤波器、二阶低通滤波器、滑动平均滤波器,具体代码见附录。同时需要安装C编译工具链,参考《UsingGCCwithMinGW》。2......
  • matlab plot 画图 刻度标签
    指定坐标轴范围您可以设置x轴、y轴和z坐标轴范围,以控制数据在坐标区上的显示位置。您也可以更改x轴线和y轴线的显示位置(仅适用于二维绘图),或反转值沿每条轴递增的方向。更改坐标轴范围创建一个线图。使用xlim和ylim函数指定坐标轴范围。对于三维绘图,请使用zlim函......
  • 基于物理层网络编码的相位同步算法matlab仿真
    1.算法运行效果图预览   2.算法运行软件版本matlab2022a 3.算法理论概述       基于物理层网络编码的相位同步算法是一种利用物理层网络编码技术来实现相位同步的算法。这种算法的原理是将两个或多个相位不同的信号进行叠加,产生一个叠加信号,然后通过分析叠加......
  • matlab实现频谱感知-认知无线电
    1、前言\(\quad\)频谱感知的方法有很多,比如匹配滤波探测,能量检测,静态循环特征探测等方法,然后最近因为在用硬件做能量检测,所以本文主要是说了如何用matlab实现能量检测,它的大概流程就是:信号采样->模平方->累加->判决,其他的方法不再了解。2、一些前置知识:恒虚警率阈值......
  • Matlab
    a(2:end)取第二行到最后一行a(end)table_sample=sampleColor;table_scale=ScaleColor;subplot(1,2,1);sample_uv=table2array(table_sample);[sample_u,sample_v]=deal(sample_uv(:,1),sample_uv(:,2));plot(sample_u,sample_v);xlim([0,0.5]);ylim([0,0.5]);......
  • 【数字识别】基于机器视觉的字符识别语言播报附附Matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 【路径规划】基于动态窗口法DWA算法的机器人动态避障路径规划研究附Matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,代码获取、论文复现及科研仿真合作可私信。......
  • 统计学强调低维空间问题的统计推导,机器学习强调高维预测问题
    统计学和机器学习在处理数据和模型时的侧重点确实有一些区别,其中涉及到低维和高维空间的问题。统计学强调低维空间问题的统计推导:统计学通常关注的是从一组有限样本中获得总体特征的推断。在传统统计学中,数据通常被认为是在低维空间中采样的,即特征的数量相对较少。例如,在古典......