本系列文章基于R语言中lm函数的输出,介绍线性回归模型的例子和原理。

本文是系列文章的第二篇,将介绍线性回归模型中的一些常见假设以及基于这些假设对回归系数的检验。

本文包括以下4个小节:
1. 常见假设
2. 示例:mtcars数据集
3. 模型推导
4. 附录代码

以下内容为免费试读部分,完整文章可到公号“生信了”付费阅读

1. 常见假设

在前文《线性回归模型(OLS)1》中我们已经介绍过线性回归模型的定义以及基于普通最小二乘(OLS)求解回归系数的方法。在此我们作简要回顾:

假设我们观察到一些数据 {xi,yi}i=1n\{\mathbf{x}_i, y_i\}_{i=1}^n{xi​,yi​}i=1n​,其中 xi=(xi1,xi2,…,xip)T\mathbf{x}_i=(x_{i1},x_{i2},\ldots,x_{ip})^\mathsf{T}xi​=(xi1​,xi2​,…,xip​)T,线性回归模型研究因变量 yiy_iyi​ 和自变量 xi\mathbf{x}_ixi​ 之间的关系:

yi=β0+β1xi1+β2xi2+⋯+βpxip+ϵi=∑j=0pβjxij+ϵi,(xi0=1)\begin{align*} y_i &= \beta_0 + \beta_1 x_{i1} + \beta_2 x_{i2} + \cdots + \beta_p x_{ip} + \epsilon_i \\ &= \sum_{j=0}^p \beta_j x_{ij} + \epsilon_i, \qquad (x_{i0} = 1) \end{align*} yi​​=β0​+β1​xi1​+β2​xi2​+⋯+βp​xip​+ϵi​=j=0∑p​βj​xij​+ϵi​,(xi0​=1)​

其中 βj\beta_jβj​ 是回归系数,而 ϵi\epsilon_iϵi​ 是误差项。上面的式子用矩阵表示就是:

y=Xβ+ϵ\begin{equation} \mathbf{y} = \mathbf{X} \boldsymbol{\beta} + \boldsymbol{\epsilon} \tag{2.1} \end{equation}y=Xβ+ϵ​(2.1)​

OLS要求最优的回归系数 β^\hat{\boldsymbol{\beta}}β^​ 应该让所有观测数据的误差项平方的和最小,即

β^=arg⁡min⁡β∥y−Xβ∥2\begin{align*} \hat{\boldsymbol{\beta}} &= \arg \min_{\boldsymbol{\beta}} \| \mathbf{y} - \mathbf{X}\boldsymbol{\beta} \|^2 \tag{2.2} \end{align*}β^​​=argβmin​∥y−Xβ∥2​(2.2)​

据此得到其解析解,作为OLS方法下得到的回归系数的估计值:

β^=(XTX)−1XTy\begin{equation} \hat{\boldsymbol{\beta}} = (\mathbf{X}^\mathsf{T} \mathbf{X})^{-1} \mathbf{X}^\mathsf{T} \mathbf{y} \tag{2.3} \end{equation}β^​=(XTX)−1XTy​(2.3)​

实际上,当我们对数据和模型添加一些假设后,我们可以对模型进行更详尽的分析。对OLS而言,除了基础假设“因变量与自变量之间是线形关系”之外,常用的假设包括:

  1. 误差项与自变量无关,即自变量是“外生“(exogenous)的:

E[ϵ∣X]=0\begin{equation} \mathbb{E}[\boldsymbol{\epsilon}|\mathbf{X}] = \boldsymbol{0} \tag{2.4} \end{equation}E[ϵ∣X]=0​(2.4)​

  1. 误差项互相独立且同方差,即:

var[ϵ∣X]=σ2In\begin{equation} \text{var}[\boldsymbol{\epsilon}|\mathbf{X}] = \sigma^2 \mathbf{I}_n \tag{2.5} \end{equation}var[ϵ∣X]=σ2In​​(2.5)​

  1. 误差项符合多元正态分布,且:

ϵ∼N(0,σ2In)\begin{equation} \boldsymbol{\epsilon} \sim \mathcal{N}(\boldsymbol{0}, \sigma^2 \mathbf{I}_n) \tag{2.6} \end{equation}ϵ∼N(0,σ2In​)​(2.6)​

  1. 自变量之间不是线性相关的,即

rank(X)=p+1\begin{equation} \text{rank}(\mathbf{X}) = p + 1 \tag{2.7} \end{equation}rank(X)=p+1​(2.7)​

在上述几个前提条件下,我们可以证明:

E[β^]=β\begin{equation} \mathbb{E}[\hat{\boldsymbol{\beta}}] = \boldsymbol{\beta} \tag{2.8} \end{equation}E[β^​]=β​(2.8)​

var[β^]=σ2(XTX)−1\begin{equation} \text{var}[\hat{\boldsymbol{\beta}}] = \sigma^2(\mathbf{X}^\mathsf{T} \mathbf{X})^{-1} \tag{2.9} \end{equation}var[β^​]=σ2(XTX)−1​(2.9)​

β^∼N(β,σ2(XTX)−1)\begin{equation} \hat{\boldsymbol{\beta}} \sim \mathcal{N}(\boldsymbol{\beta}, \sigma^2(\mathbf{X}^\mathsf{T} \mathbf{X})^{-1}) \tag{2.10} \end{equation}β^​∼N(β,σ2(XTX)−1)​(2.10)​

在对回归系数估计值作假设检验时,一般零假设(null hypothesis)为 βj=0\beta_j = 0βj​=0。我们可以证明(见下文)在此零假设条件下,我们可以构建一个统计量 TjT_jTj​ 符合 ttt 分布(注意到 X\mathbf{X}X 是一个 n×(p+1)n \times (p+1)n×(p+1) 的矩阵):

Tj=β^js.e.^(β^j)∼tn−p−1,j=0,1,…,p\begin{equation} T_j = \frac{\hat{\beta}_j}{\widehat{\mathrm{s.e.}}(\hat{\beta}_j)} \sim t_{n-p-1}, \quad j=0,1,\ldots,p \tag{2.11} \end{equation}Tj​=s.e.(β^​j​)β^​j​​∼tn−p−1​,j=0,1,…,p​(2.11)​

其中 β^j\hat{\beta}_jβ^​j​ 的“标准差” s.e.^(β^j)\widehat{\mathrm{s.e.}}(\hat{\beta}_j)s.e.(β^​j​) 为:

s.e.^(β^j)=s2(XTX)jj−1\begin{equation} \widehat{\mathrm{s.e.}}(\hat{\beta}_j) = \sqrt{s^2(\mathbf{X}^\mathsf{T}\mathbf{X})^{-1}_{jj}} \tag{2.12} \end{equation}s.e.(β^​j​)=s2(XTX)jj−1​​​(2.12)​

s2=(y−Xβ^)T(y−Xβ^)n−p−1\begin{equation} s^2 = \frac{(\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}})^{\mathsf{T}} (\mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}}) }{n-p-1} \tag{2.13} \end{equation}s2=n−p−1(y−Xβ^​)T(y−Xβ^​)​​(2.13)​

我们可以证明,上式中 s2s^2s2 是 σ2\sigma^2σ2 的一个无偏估计,即

E[s2]=σ2\begin{equation} \mathbb{E}[s^2] = \sigma^2 \tag{2.14} \end{equation}E[s2]=σ2​(2.14)​

并且 (n−p−1)s2/σ2(n-p-1)s^2/\sigma^2(n−p−1)s2/σ2 符合自由度是 n−p−1n-p-1n−p−1 的卡方分布。

(n−p−1)s2σ2∼χn−p−12\begin{equation} (n-p-1)\frac{s^2}{\sigma^2} \sim \chi^2_{n-p-1} \tag{2.15} \end{equation}(n−p−1)σ2s2​∼χn−p−12​​(2.15)​

我们会在“模型推导”小节中给出证明过程。

下文首先给出一个R语言中线性回归模型的例子,然后介绍其背后的原理。

2. 示例:mtcars数据集

线性回归模型(OLS)2相关推荐

  1. 线性回归模型 —— 普通最小二乘法(OLS)推导与python实现

    一般回归模型中 回归的核心任务就是要通过样本信息来估计总体回归函数 一元线性回归模型: 一元线性回归模型假设x是一维的,即只考虑一个因素对y的影响,模型为 y=+x+μ,  E (μ|x)= 0 其中 ...

  2. 【项目实战】Python实现多元线性回归模型(statsmodels OLS算法)项目实战

    说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 1.项目背景 回归问题是一类预测连续值的问题,而能满足这样要求的数学模型称作回 ...

  3. 线性回归模型(OLS)1

    本系列文章基于R语言中lm函数的输出,介绍线性回归模型的例子和原理. 本文是系列文章的第一篇,将介绍线性回归模型的定义并给出一个R语言的示例. 线性回归模型是我们日常工作中处理数据时经常使用的一种基础 ...

  4. 线性回归模型(OLS)3

    本系列文章基于 R 语言中 lm 函数的输出,介绍线性回归模型的例子和原理. 本文是系列文章的第三篇.前两篇文章中: <线性回归模型(OLS)1>介绍了线性回归模型的定义以及基于普通最小二 ...

  5. 回归方程的拟合优度检验_计量经济学第四讲(多元线性回归模型:基本假定,参数估计,统计检验)...

    第三章.经典单方程计量经济学模型:多元线性回归模型 3.1多元线性回归模型及其基本假定 3.1.1多元回归模型及其表示 解释变量至少有两个的线性回归模型,一般形式为 如果不作说明, 是不包括常数项的解 ...

  6. Python 实战多元线性回归模型,附带原理+代码

    作者 | 萝卜 来源 | 早起Python( ID:zaoqi-python ) 「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方.其中多 ...

  7. plor 回归的r方_简单线性回归模型

    点击"蓝字"关注我们吧 1 导言 回归分析是一个古老的话题.一百多年前,英国的统计学家高尔顿(F. Galton,1822-1911)和他的学生皮尔逊(K. Pearson,185 ...

  8. python多元线性回归模型案例_Python 实战多元线性回归模型,附带原理+代码

    原标题:Python 实战多元线性回归模型,附带原理+代码 作者 | 萝卜 来源 | 早起Python( ID:zaoqi-python ) 「多元线性回归模型」非常常见,是大多数人入门机器学习的第一 ...

  9. 【统计学习系列】多元线性回归模型(五)——参数与模型的显著性检验:t检验与F检验

    文章目录 1. 前文回顾 2. 单参数显著性检验--t检验 2.1 问题的提出 2.2 检验统计量--t统计量的构造 2.3 拒绝域的构造 2.4 浅谈p值 3. 回归方程显著性检验--F检验 3.1 ...

最新文章

  1. php启动 大量sess文件,关于PHP中Session文件过多的问题
  2. Hadoop集群(第2期)_机器信息分布表
  3. c语言const 修饰二级指针,C++中const修饰二级指针(从类型‘int**’到类型‘const int**’的转换无效)...
  4. The Penn Discourse TreeBank 2.0
  5. Office Word Excel PPT Addin 插件开发
  6. java添加异常处理_java异常处理措施
  7. 数据库原理及应用教程第四版课后答案
  8. php中文歌词,PHP 爬虫抓取歌词
  9. python 当前时间增加一个月
  10. 微信小程序中如何有效的修改app.js中全局变量的值,并能在页面中进行动态响应
  11. 山西民生云 执行认证校验出错_山西民生云app最新版下载,山西民生云大同app认证官网最新版本下载 v2.2 - 浏览器家园...
  12. 概率论与数理统计学习笔记——第四十三讲——两个正态总体的抽样分布
  13. 微信开发高级群发接口
  14. Chrome导出扩展程序
  15. Dev cpp 手动开栈
  16. java assert int_java中的assert(转载)2
  17. 使用autohotkey创建win10虚拟桌面切换快捷键
  18. 顺丰测试开发面试总结
  19. 财务年终总结怎么写?技巧在这里
  20. 石头剪子布蜥蜴史波克python_Python石头布剪刀蜥蜴斯波克饲养

热门文章

  1. 3. GDI+ Bitmap和GDI HBITMAP互转
  2. AutoCAD.NET API2018二次开发第十三章
  3. IDC最新数据库报告:阿里云份额跃居第一 首次超越传统数据库
  4. 一起来解读分布式日志收集系统:Facebook Scribe
  5. 【使用ChatGPT自动化】批量转换.csv文件为.xlsx文件
  6. 【精品长文】我真的要做一辈子的程序员吗?
  7. 如何修改input的placeholder的文字颜色
  8. hypervision理解的记录
  9. 一键开启mysql的审计功能(无需安装插件)
  10. 菜鸟实战UML——状态图