乐趣区

关于数据挖掘:MATLAB用Lasso回归拟合高维数据和交叉验证

原文链接: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 用线性回归预测股票价格

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

退出移动版