关于算法:Python中的Lasso回归之最小角算法LARS

108次阅读

共计 963 个字符,预计需要花费 3 分钟才能阅读完成。

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

假如咱们冀望因变量由潜在协变量子集的线性组合确定。而后,LARS 算法提供了一种办法,可用于预计要蕴含的变量及其系数。
 LARS 解决方案没有给出矢量后果,而是由一条曲线组成,该曲线示意针对参数矢量 L1 范数的每个值的解决方案。该算法相似于逐步回归,但不是在每个步骤中都蕴含变量,而是在与每个变量的相关性与残差相干的方向上减少了预计的参数。

长处:

1. 计算速度与逐步回归一样快。
2. 它会生成残缺的分段线性求解门路,这在穿插验证或相似的模型调整尝试中很有用。
3. 如果两个变量与因变量简直等同相干,则它们的系数应以大致相同的速率减少。该算法因而更加稳固。
4. 能够轻松对其进行批改为其余估算模型(例如 LASSO)提供解决方案。
5. 在_p_  >>  _n 的_状况下无效(即,当维数显著大于样本数时)。

毛病:

1. 因变量中有任何数量的噪声,并且自变量具备 多重共线性,无奈确定选定的变量很有可能成为理论的潜在因果变量。这个问题不是 LARS 独有的,因为它是变量抉择办法的广泛问题。然而,因为 LARS 基于残差的迭代拟合,因而它仿佛对噪声的影响特地敏感。
2. 因为事实世界中简直所有高维数据都会偶尔地在某些变量上体现出肯定水平的共线性,因而 LARS 具备相干变量的问题可能会限度其在高维数据中的利用。
Python 代码:

 import matplotlib.pyplot as plt # 绘图
diabetes 

查看数据 

 x /= np.sqrt(np.sum((x)**2, axis=0)) # 归一化 x

lars.steps() # 执行的步骤数

est = lars.est() # 返回所有 LARS 估算值

plt.show()


最受欢迎的见解

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 指标

正文完
 0