原文链接:http://tecdat.cn/?p=25741
原文出处:拓端数据部落公众号
此示例显示如何 lasso
识别和舍弃不必要的预测变量。
使用各种方法从指数分布生成 200 个五维数据 X 样本。
rng(3,'twister') %实现可重复性for i = 1:5
X(:,i) = exprnd
end
生成因变量数据
Y
=X
*r
+eps
,其中 r
只有两个非零分量,噪声 eps
正态分布,标准差为 0.1。用 拟合交叉验证的模型序列
lasso
,并绘制结果。Plot(ffo);
文章图片
Lambda
该图显示了正则化参数的各种值的回归中的非零系数 。较大的值 Lambda
出现在图的左侧,意味着更多的正则化,导致更少的非零回归系数。虚线代表最小均方误差的Lambda值(在右边),以及最小均方误差加一个标准差的Lambda值。后者是Lambda的一个推荐设置。这些线条只在你进行交叉验证时出现。通过设置'CV'名-值对参数来进行交叉验证。这个例子使用了10折的交叉验证。
图的上半部分显示了自由度(df),即回归中非零系数的数量,是Lambda的一个函数。在左边,Lambda的大值导致除一个系数外的所有系数都是0。在右边,所有五个系数都是非零的,尽管该图只清楚显示了两个。其他三个系数非常小,几乎等于0。
对于较小的 Lambda 值(在图中向右),系数值接近最小二乘估计。
求
Lambda
最小交叉验证均方误差加上一个标准差的值。检查 MSE 和拟合的系数 Lambda
。MSE(lm)
文章图片
b(:,lam)
文章图片
lasso
很好地找到了系数向量 r
。为了比较,求
r
的最小二乘估计 。rhat
文章图片
估计
b(:,lam)
的均方误差略大于 rhat
的均方误差 。
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用线性回归预测股票价格
【拓端tecdat|拓端tecdat|MATLAB用Lasso回归拟合高维数据和交叉验证】9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标
推荐阅读
- 拓端tecdat|【视频】线性混合效应模型(LMM,Linear Mixed Models)和R语言实现案例
- 拓端tecdat|拓端tecdat|Python用Markowitz马克维兹有效边界构建最优投资组合可视化分析四只股票
- 拓端tecdat|拓端tecdat|R语言多变量广义正交GARCH(GO-GARCH)模型对股市高维波动率时间序列拟合预测
- 拓端tecdat|拓端tecdat|R语言用收缩估计股票beta系数回归分析Microsoft收益率风险
- 拓端tecdat|【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
- 拓端tecdat|拓端tecdat|R语言样条曲线、分段线性回归模型piecewise regression估计个股beta值分析收益率数据
- 拓端tecdat|拓端tecdat|Python多项式Logistic逻辑回归进行多类别分类和交叉验证准确度箱线图可视化
- 拓端数据tecdat|拓端tecdat|R语言数量生态学冗余分析RDA分析植物多样性物种数据结果可视化
- 拓端tecdat|拓端tecdat|R语言GJR-GARCH和GARCH波动率预测普尔指数时间序列和Mincer Zarnowitz回归、DM检验、JB检验