基于R语言实现Lasso回归分析

Python015

基于R语言实现Lasso回归分析,第1张

基于R语言实现Lasso回归分析

主要步骤:

数据存成csv格式,逗号分隔

在R中,读取数据,然后将数据转成矩阵形式

加载lars包,先安装

调用lars函数

确定Cp值最小的步数

确定筛选出的变量,并计算回归系数

具体代码如下:

需要注意的地方:

1、数据读取的方法,这里用的file.choose( ),这样做的好处是,会弹出窗口让你选择你要加载进来的文件,免去了输入路径的苦恼。

2、数据要转为矩阵形式

3、(la) 可以看到R方,这里为0.66,略低

4、图如何看? summary的结果里,第1步是Cp最小的,在图里,看到第1步与横轴0.0的交界处,只有变量1是非0的。所以筛选出的是nongyangungun

Ps: R语言只学习了数据输入,及一些简单的处理,图形可视化部分尚未学习,等论文写完了,再把这部分认真学习一下~~在这里立个flag

那个最佳答案说的跟这个问题没有关系。我在学习r语言的线性回归的时候遇到了这个问题。这个图是用来判断你对回归模型的线性假设是否成立的。看法如下:

按照书上所说就是:“

若图形存在非线性,则说明你可能对预测变量的函数形式建模不够充分,

那么就需要添加一些曲线成分,比如多项式项,或对一个或多个变量进行变换(如用log(X)代

替X),或用其他回归变体形式而不是线性回归。

按照别人的说法就是:看图中的两条线,红色虚线和绿色实线是否接近。接近了就说明模型是线性的(这是在RStudio中做出的成分残差图)。