R语言多元线性回归
clarkjs 人气:0一、模型简介
一元线性回归是一个主要影响因素作为自变量来解释因变量的变化,在现实问题研究中,因变量的变化往往受几个重要因素的影响,此时就需要用两个或两个以上的影响因素作为自变量来解释因变量的变化,这就是多元回归亦称多重回归。当多个自变量与因变量之间是线性关系时,所进行的回归分析就是多元线性回归。
二、求解过程
这里我使用的数据是包里面自带的数据,我们导入并进行查看:
可以看到第一列是我们的数据标签(无数学含义),后面五列分别为对应的五个特征即相应的数值。我的任务是使用后四个变量来拟合第一个变量"Murder"
在进行多元线性回归之前,通常需要对变量进行相关性分析,例如:我们想用x, y 两个变量来拟合变量 z, 如果x, y相关性过强,则我们只需要其中一个变量就可以拟合z,这就是我们学的多重共线性。因此,我使用 cor 函数查看相关性,如下图所示:
由于相关性矩阵并不直观,因此我使用散点矩阵图来可视化此关系,R语言代码及可视化结果如下(其中我使用了smoother平滑方法):
下面使用 lm 函数进行多元线性回归,代码及运行截图如下:
可以发现运行结果中有两个变量被打了 “”, 分别为"Population" 和 “Illiteracy”,其中""越多表示越显著,即 p 值越小,R-squared为0.567,效果不是特别理想,说明可能存在多重共线性或者变量间存在交互作用,接下来我使用mtcars数据集来进行实现(在R语言中使用冒号表示将两个因变量交互):
然后我是用plot函数对多个参数进行可视化,代码及运行截图如下:
可见,wt越大,mpg和hp的线性关系越来越小(在上例中),因此我们可以认为设定多个值,寻找最佳的拟合方程。
总结
加载全部内容