1. 数据分析网首页
  2. 软件工具
  3. R语言

使用R进行统计分析——回归分析

使用R进行统计分析——回归分析。

使用R进行统计分析——回归分析

准备工作

首先导入数据并创建名为 lr_data 的数据表。

# 读取并创建数据表

lr_data=data.frame ( read.csv ( ‘lr_data.csv’,header = 1 ) )

查看导入数据表的维度,结果显示 456 行,4 列。

# 查看数据表维度

dim ( lr_data )

[ 1 ] 456   4

查看数据表中各字段的名称,结果显示共有 4 个字段,三个变量和一个目标。

# 查看数据表的字段名称

names ( lr_data )

[ 1 ] “variable1” “variable2” “variable3” “goal”

一元回归

使用 lm ( ) 函数对变量 1 和目标值进行一元回归分析,并创建回归方程。R 方为 0.7778。说明自变量可以对因变量 78% 的变化进行解释。

# 进行一元回归分析

fit=lm ( goal~variable1,data=lr_data )

summary ( fit )

使用R进行统计分析——回归分析

多元回归

使用三个变量和目标值进行多元回归分析,R 方为 0.85,说明三个自变量可以对因变量 85% 的变化进行解释。

# 进行多元回归分析

fit=lm ( goal~variable1+variable2+variable3,data=lr_data )

使用R进行统计分析——回归分析

逐步回归 ( 向后 )

使用逐步回归的方法从三个自变量中选择用于预测的变量。逐步回归中有向前和向后两种方法。向前逐步回归每次增加一个变量,直到模型不再改变。向后逐步回归每次减少一个变量,直到模型不再改变。这里使用向后逐步回归的方法选择预测变量。

# 加载 MASS 库

library ( MASS )

# 建立多元回归模型

fit1=lm ( goal~variable1+variable2+variable3,data=lr_data )

# 向后逐步回归

stepAIC ( fit,direction=”backward” )

使用R进行统计分析——回归分析

向后逐步回归每次减少一个变量,因此在第一步时使用了所有的三个变量,在第二步时减少了其中的一个变量,再次减少变量后模型不再变化,因此结果为使用变量 2 和变量 3 作为预测变量。

全子集回归

除了逐步回归方法外,还有全子集回归方法可以用于挑选预测变量。全子集回归检测所有的变量,并展示最佳的模型的结果。下面是使用全子集回归的代码和结果。

# 加载 leaps 库

library ( leaps )

# 使用全子集回归方法并绘制图表

leaps=regsubsets ( goal~variable1+variable2+variable3,data=lr_data,nbest=2 )

plot ( leaps,scale=’adjr2′ )

使用R进行统计分析——回归分析

在上图中,Y 轴为 R 方值,X 轴为截距和三个变量。只包含截距和变量 1 的模型 R 方为 0.78,只包含截距和变量 3 的 R 方为 0.82,只包含截距和变量 2 的 R 方式 0.85。R 方最高的模型包含截距,变量 2 和变量 3,R 方值为 0.85。

变量重要性排序

在多元回归的三个变量中,还可以比较不同变量对结果的重要性。换句话说就是不同自变量对因变量的影响程度,具体的方法是先对数据进行标准化处理,然后对标准化回归系数进行对比,当其他预测变量不变的情况下,单独一个预测变量对因变量的变化。

# 对数据表进行标准化处理

z_data=as.data.frame ( scale ( lr_data ) )

# 创建多元回归模型

zfit=lm ( goal~variable1+variable2+variable3,data=z_data )

# 输出标准化回归系数

coef ( zfit )

在上面截图中,变量 2 的一个标准差变化增加 0.721 个因变量的变化,变量 3 的一个标准差的变化增加 0.157 个因变量的变化。变量 1 的一个标准差的变化增加 0.050 个因变量的变化。因此重要程度依次为变量 2,变量 3 和变量 1。

比较模型拟合优度

我们选择最重要的变量 2 和变量 3 建立模型,并与之前包含三个变量的模型进行比较,看看去掉一个变量后模型的拟合优度是否有变化。

# 创建模型

Fit2=lm ( goal~variable2+variable3,data=lr_data )

Fit3=lm ( goal~variable1+variable2+variable3,data=lr_data )

# 对比模型拟合优度

anova ( fit2,fit3 )

使用R进行统计分析——回归分析

P=0.3931,检验不显著,因此可以将变量 1 从模型中删除。

本文为专栏文章,来自:蓝鲸,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/41458.html 。

联系我们

如有建议:>>给我留言

QR code