美文网首页R for statisticsData science生统
变量之间相互不独立如何进行回归分析2021.3.18

变量之间相互不独立如何进行回归分析2021.3.18

作者: R语言_茶味先生 | 来源:发表于2021-03-19 14:01 被阅读0次

1. 变量之间不独立

也就是说用变量A,B,C来预测D变量,进行线性回归时发现A和B之间可能有关系,B和C直接可能有关系,C和A之间可能还有关系。我们应该如何进行线性回归。这里举的例子还只是有三个自变量,我们可以轻松的算出三种不同的模型,但是要是有更多自变量我们该如何处理呢,我们该如何从众多的模型中选择出最佳的模型呢?接下来就是见证奇迹的时刻😎

1.1 变量之间不独立进行线性回归

我们以mtcars数据集为例,想要知道mpg(每加仑行驶里程数)和hp(马力),汽车重量(wt)之间的关系,汽车的重量和马力之间存在交互,汽车的重量会影响马力。

fit<-lm(mpg~hp+wt+hp:wt,data=mtcars)
summary(fit)

可以看出hp和wt之间的关系的p值小于0.01,呈显著相关。


图1 总结拟合结果

1.2 AIC函数衡量模型拟合效果(事实信息准则)

AIC函数比较各个模型的拟合效果AIC得出的值越小,说明模型可以用较少的参数获得很好的拟合度。以state.x77数据集为例

fit1<-lm(Murder~Population+Illiteracy+Income+Frost,data=states)
fit2<-lm(Murder~Illiteracy+Income,data=states)
fit3<-lm(Murder~Population+Illiteracy,data=states)
AIC(fit1,fit2,fit3)

通过比较AIC值可以发现有时候并不是参数越多,拟合的效果就越好。


图2 各个模型的拟合效果

1.3 更多变量回归分析

更多变量的回归分析,当变量数达到10甚至100个的时候,可以采用逐步回归法和全子集回归法。

  • 逐步回归法:模型会一次添加或者删除一个变量,直到达到某个节点为止,也就是继续添加或者删除变量,模型的拟合结果不再继续变化。增加变量称为向前逐步回归,删除变量称为向后逐步回归。
  • 全子集回归法: 计算出所有可能的模型,然后计算出效果最佳的模型。(更加推荐)
1.3.1 逐步回归法对应的函数以及用法

我们可以使用MASS包中的stepAIC()函数进行逐步回归分析。

library(MASS)
states <- as.data.frame(state.x77[,c("Murder", "Population","Illiteracy", "Income","Frost")])
fit <- lm(Murder ~ Population + Illiteracy + Income + Frost,data=states)
stepAIC(fit, direction="backward")
图3 向后逐步回归法

这种方法的弊端很明显,不会把所有的组合都考虑在内。

1.3.2 全子集回归法对应的函数以及用法

我们可以使用leaps包中的regsubsets函数进行全子集回归分析。

library(leaps)
states <- as.data.frame(state.x77[,c("Murder", "Population","Illiteracy", "Income", "Frost")])
leaps <-regsubsets(Murder ~ Population + Illiteracy + Income +Frost, data=states, nbest=4)
summary(leaps)#

通过结果我们可以看出从一个变量到四个变量的各种组合。


图4 全子集回归分析的结果

这种组合结果很像矩阵形式,所以我们猜测可以用绘制出热图形式的图来表达意思

plot(leaps, scale="adjr2")#横轴表示变量的组成,纵轴表示模型拟合的效果值。
图5 全子集回归分析的热图

相关文章

  • 变量之间相互不独立如何进行回归分析2021.3.18

    1. 变量之间不独立 也就是说用变量A,B,C来预测D变量,进行线性回归时发现A和B之间可能有关系,B和C直接可能...

  • 10. 线性回归

    回归算法-线性回归分析 线性回归定义:线性回归通过一个或多个自变量与因变量之间进行建模的回归分析,其中可以为一个或...

  • 多元线性回归2021.3.18

    1.多元线性回归(变量之间相互独立) 当预测变量不止一个时,简单线性回归就变成了多元线性回归,相当于求解多元方程。...

  • 线性回归及梯度下降法

    回归分析:用来建立方程模拟两个或者多个变量之间如何关联被预测的变量叫:因变量,输出用来进行预测的变量叫:自变量,输...

  • 13-线性回归

    线性回归 定义:线性回归通过一个或者多个自变量与因变量之间之间进行建模的回归分析。其中特点为一个或多个称为回归系数...

  • 曲线回归分析

    曲线回归的分析是先将因变量或者自变量进行变量转换,然后对新变量进行直线回归分析,最后将新变量还原为原变量。 案例 ...

  • 理解回归分析--机器学习与R语言实战笔记(第四章)

    回归是一种有监督的学习方式,用于建模分析一个独立变量(响应变量)和一个或多个非独立变量(预测变量)之间的关联。 l...

  • 深度学习 - 回归分析

    什么是回归分析 回归 是处理两个或两个以上变量之间相互依赖的定量关系的一种统计方法和技术,变量之间的关系并非确定的...

  • 数据挖掘建模之python进行Logistic回归分析

    回归分析是通过建立模型来研究变量之间相互关系的密切程度、结构状态及进行模型预测的一种有效工具。按照研究方法划分,回...

  • 环境因子排序回归分析

    线性回归(Linear Regression)是利用数理统计中回归分析,来确定两种或两种以上变量之间相互依赖的定量...

网友评论

    本文标题:变量之间相互不独立如何进行回归分析2021.3.18

    本文链接:https://www.haomeiwen.com/subject/agdvcltx.html