R语言学习DAY04:回归分析

Python023

R语言学习DAY04:回归分析,第1张

R本身是一门统计语言,主要用于统计分析,前面的语法部分算是基础,接下来开始进入统计模型应用。首先从最常用的回归分析说起。

有关线性回归分析模型的基本假定需要注意:1)关于随机干扰项的高斯-马尔科夫定理;2)关于自变量的:不存在共线性;3)关于模型的:模型设定正确。

用 glm 函数建立广义线性模型,用参数 family 指定分布类型,logistic模型指定为binomial

用 predict 函数进行预测, predict(model, data, type = 'response'

此外,还可以用 mlogit 包中的 mlogit 函数做多分类变量logistic回归, rms 包中的 lrm 函数做顺序变量logistic回归, glmnet 包中的 glmnet 函数做基于正则化的logistic回归

基于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

嗯,在分类变量中包括二分类的变量和多分类的变量,其中二分类的变量改成虚拟变量,只要将一类赋值为0,另一类赋值为1就可以了,0作为对照组;如果是多分类的变量,改成虚拟变量时,需要设立分类数减1的虚拟变量,比如年级有三个值:一年级、二年级、三年级,那就需要设两个虚拟变量:年级1、年级2,以一年级作为对照组,那年级1和年级2同时为0则表示一年级,年级1为1,年级2为0表示二年级,年级1为0,年级2为1表示三年级。

在输入数据时,数据中有两个变量:年级1和年级2,两个变量的取值都是0和1,在做回归分析时将这两个变量选入自变量中就可以了。(这些在logistic回归中其实就一步完成了,但是在线性回归中就按照上面说的,比较麻烦。)不知道我是否说明白了。