应用机器学习(八):线性模型
来源:互联网 发布:大脚插件mac版 编辑:程序博客网 时间:2024/05/17 00:58
回归分析
在统计建模中,回归分析( Regression analysis ) 是用来刻画变量之间的统计关系的一种统计技术。当一个变量( 因变量 dependent variable )受另外一些变量( 自变量 independent variables or predictors )的强烈影响时,适宜用回归的方法。例如,”回归”的思想和方法最早由英国著名的统计学家F. Galton 和他的学生 K. Pearson 提出。他们在研究父母身高与其子女身高的遗传问题时,以每对夫妇的平均身高作为自变量 x, 而取他们的一个成年孩子的身高作为 y, 共观察了1,078对夫妇,建立了回归方程 y=33.73+0.516x, 从此产生了回归分析的方法。
回归模型
回归模型的一般形式
设因变量
其中,
线性回归
线性回归( Linear regression ), 指的是
其中的参数
假设有
记
则观测数据的线性回归模型可以表示为
等价的矩阵形式为
线性回归模型的基本假设
自变量
x 是确定性变量,不是随机变量,因变量y 是随机变量。要求
设计矩阵X 是列满秩的,即rank(X)=p+1<n , 这表明X
的列向量之间线性无关;随机误差零均值同方差,即
E(ε)=0,cov(ε,ε)=σ2En .
这个假设常称为高斯-马尔科夫条件( Gauss-Markov assumption );通常,假定随机误差向量
ε 服从正态分布,即ε∼N(0,σ2En) ,
因此,有y∼N(Xβ,σ2En) .
回归系数的估计
- 普通最小二乘估计
普通最小二乘估计( ordinary least square estimation, OLSE )的思想是,考虑
的离差平方和
所谓最小二乘估计,就是找回归系数
使得
注意到, 函数
- 最大似然估计
最大似然估计( maximum likelihood estimation ), 是在正态假设下,
等价地转换为对数似然
注意,这里的(对数)似然函数为
定义残差向量
残差
回归方程的显著性检验
确定回归系数的估计后,在使用回归方程作预测或估计前,还需要对回归方程进行显著性检验,即,检验自变量和因变量之间是否有线性关系。下面介绍两种统计检验方法,一是回归方程的 F 检验,另一个是回归系数的 t 检验。同时介绍度量回归拟合数据程度的拟合优度。
- 回归方程的 F-检验
考虑所有自变量
定义平方和
可以证明平方和分解式
令检验统计量
- 回归系数的t-检验
回归方程显著,并不意味着每个自变量都与因变量有线性关系。因此,还需要对每个自变量是否与因变量有线性关系作显著性检验。为此提出假设
在正态假设下,可以证明
- 拟合优度
拟合优度( Goodness of fit ), 用于考察回归方程对观测数据的拟合程度,在回归中称决定系数,定义为
逐步回归法
在建立一个实际问题的回归模型时,首先遇到的问题是如何确定自变量。如果遗漏了某些重要的自变量,回归效果不好;如果包括过多的自变量,这些变量可能产生共线性,回归模型的稳定性较差。首先,介绍自变量选择的重要准则,赤池信息量准则。
自变量的选择
赤池信息量准则( Akaike information criterion, AIC ), 是根据最大似然估计的原理提出的一种模型选择准则。对一般情况,设模型的似然函数为
其中,
下面讨论把
那么,最大对数似然
将
代入式(15),得
在回归建模过程中,对每一个回归的自变量子集,计算
逐步回归法
逐步回归的基本思想是”有进有出”。在自变量的选择过程中,将变量一个一个引入,每引入一个自变量后,对已选入的变量进行逐个显著性检验。当原先引入的变量由于后面变量的引入而变得不再显著时,要将其从回归模型中剔除。引入一个变量或从回归模型中剔除一个变量,为逐步回归的一步,每一步都要进行 F 检验,以确保每次引入新的变量之前回归模型中只包含显著的变量。这个过程反复进行,直到既无显著的自变量选入,也无不显著的自变量剔除为止。这样,保证了最后所得的回归模型是最优的。在逐步回归过程,要求引入自变量的检验水平
一个实例:带交互项的线性回归
我们以 R 包 datasets 的数据集 mtcars 为例,以 mpg (每加仑汽油行驶的英里数)为因变量,
hp (马力)、 wt (汽车重量)为自变量,使用函数 lm() 建立线性回归模型。
fit <- lm(mpg ~ hp + wt, data = mtcars)summary(fit)
从 Pr(>|t|) 栏可以看到,马力和车重都是显著的,回归拟合优度 R-squared 和 adjusted R-squared 都超过了0.8,说明线性程度较高。进一步考虑,马力和车重是否存在交互效应,为此,建立带交互项的回归模型。
fit <- lm(mpg ~ hp + wt + hp:wt, data = mtcars)summary(fit)
从 Pr(>|t|) 栏可以看到,马力和车重的交互项是显著的,这说明响应变量 mpg 与其中一个变量的关系依赖于另一个变量的值。即,每加仑汽油行驶的英里数与汽车马力的关系依车重不同而不同。而且,通过与不带交互项的模型对比发现,带交互项的回归模型,拟合优度 R-squared 有所提高,说明带交互项的回归模型拟合数据更佳。预测模型为 mpg = 49.81 - 0.12hp - 8.22wt + 0.03hp·wt
使用 effects 包中的 effect() 函数,你可以用图形展示交互项的结果。
library(effects)plot(effect("hp:wt", fit, xlevels=list(wt=c(2.2, 3.2, 4.2))), multiline = TRUE)
从结果图可以很清晰地看出,随着车重的增加(2.2、3.2、4.2),马力与每加仑汽油行驶英里数的关系减弱了。特别地,当 wt = 4.2 时,直线几乎是水平的,表明随着 hp 的增加,mpg 不会发生改变。
阅读更多精彩内容,请关注微信公众号“统计学习与大数据”!
- 应用机器学习(八):线性模型
- 机器学习----线性模型
- 机器学习(十一) 线性模型
- 机器学习(2)--线性模型
- 机器学习笔记(二) 线性模型
- 机器学习Chapter-1(线性模型)
- 机器学习-广义线性模型
- 机器学习(三)线性模型
- 机器学习笔记-线性模型
- 机器学习算法-线性模型
- 机器学习之线性模型
- 【机器学习】线性模型总结
- 机器学习之线性模型
- 神经网络学习笔记(八):线性回归模型(下)
- 机器学习-学习笔记 线性模型(二)
- 机器学习线性模型学习笔记
- 机器学习-学习笔记 线性模型
- 机器学习(周志华)读书笔记-(三)线性模型
- LinkCode 下一个排列、上一个排列
- Verilog中if..else和case语句分析
- C#_在VS2010下进行单元测试
- Tornado Web 框架
- LinkCode 第k个排列
- 应用机器学习(八):线性模型
- 极大极小算法伪代码-博弈算法(象棋游戏记录)
- 增量部署包出现java.lang.NoSuchMethodError异常解决过程
- 183.m1-ActionBar2添加tab标签
- MFC下ADO连接MYSQL数据库
- uva 11624-bfs
- Linux消息队列实现进程间通信
- 大纲
- MacOS中的剪切快捷键