美文网首页
线性回归模型

线性回归模型

作者: 3between7 | 来源:发表于2019-11-29 10:53 被阅读0次

在学习PH525x series - Chapter 5 - Linear Models时,觉得有些地方理解起来有些晦涩,所以决定来看看《统计学:从概念到数据分析》里的相关章节,当做打底吧~

黑匣子

首先介绍两个名词:

  • 自变量(independent variable)
    人们把可以事先得到的,或用来预测的变量叫做自变量,预测变量(predictor)、协变量(covariable)、解释变量(explanatory variable)都是它,通常用X表示。

  • 因变量(depend variable)
    即感兴趣的变量或被预测的变量,响应变量(response variable 或response)指的也是因变量,通常用Y表示。

其实让人眼前一亮的是那些别名,在看一些英文资料时时不时就会冒出来这些名字,知道指的是啥就清晰多啦

  • “黑匣子”说法
    由于我们无法确切的了解自然规则,所以在统计上,变量之间的关系往往无法用相对确定性的公式较准确的表示,这些自然规则就是我们说的“黑匣子”(black box)。

  • 试图破解“黑匣子”的实践
    统计学上,破解黑匣子的方法数据建模算法建模两大类,其中数据建模通常有如下函数形式:

    响应变量 = f(预测变量,随机噪声,参数)

    如果模型合适,随机噪声应该是随机的;但如果不合适,那么这个噪声就不完全是随机的,而包括了模型不能解释的所有部分。

  • 回归和分类的区别

如果因变量为取值广泛的定量变量,通常称该建模实践为回归(regression);如果因变量为定性变量,通常称该建模实践为分类(classification);而如果没有给出因变量,要根据自变量本身对观测值分类,则称为聚类分析(cluster analysis)

  • 线性模型

所谓线性,是指关于自变量的线性组合,如果一个看上去非线性的模型能够通过变量替换变成这种形式也认为是线性模型。考察是否应该进行变换的最简单的方法是点出因变量和各个自变量的散点图,看看是否有规律。

因变量和自变量均为数量型变量的线性回归模型

一个数量型自变量的情况

  • 举例说明

以47辆多型号低档轿车的每百公里耗油量(Cas,单位:L)和车净重量(Weight,单位:kg)的数据为例,我们希望可以拟合一条直线描述车重与耗油量之间的关系:

dat <- read.csv("car2.txt",header=T,sep=" ")
plot(Gas~Weight,dat)
abline(lm(Gas~Weight,dat))
gas.png

图中的直线就是我们想要得到的拟合直线,这里的线性模型或线性方程可以写成如下形式(x是车重,y是耗油量,ε是误差):

Y = \mu + \beta x + ε

这个模型只是个近似,我们希望根据数据找到合适的\mu(截距)与\beta(斜率),使得这条直线可以较好地描述两个变量之间的关系。那什么样的直线是最合适的呢?

一种最常用的准则是:各个点到这条直线的竖直距离的平方和最小,以这种方式进行的回归模型叫做最小二乘回归。使用summary()函数可以查看lm返回的截距和斜率的值:

summary(lm(Gas~Weight,dat))

##Call:
##lm(formula = Gas ~ Weight, data = dat)

##Residuals:
##     Min       1Q   Median       3Q      Max 
##-2.12340 -0.56876 -0.05385  0.49714  2.10623 

##Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
##(Intercept) 0.2778752  0.8120742   0.342    0.734    
##Weight      0.0073525  0.0006281  11.707 2.98e-15 ***
##---
##Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

##Residual standard error: 0.9391 on 45 degrees of freedom
##Multiple R-squared:  0.7528,  Adjusted R-squared:  0.7473 
##F-statistic:   137 on 1 and 45 DF,  p-value: 2.984e-15

看系数那一趴,Estimate列中,Intercept行是截距,Weight行就是斜率了,这个输出还包含了对斜率是否为0的t检验,第二行最后一列对应的值便是p值了。

  • 升个华

对于随机的样本(X_1,Y_1),(X_2,Y_2),\cdots,(X_n,Y_n),回归模型可以写成:
Y_i = \mu + \beta x_i + ε_i

这个公式与Y = \mu + \beta x + ε没有本质区别,只是前者是一般的模型,后者将样本的性质确定了。

如果线性模型近似的比较好,那么模型中的误差项ε就应该是随机的,残差e_1,e_2,\cdots,e_n也应该没有任何模式;反之,在拟合一个模型后,如果残差显现出某种模式,则模型肯定没有把反映这种模式的规律包含进去。

再介绍几个名词(不说太说中文描述,简单点就是):

  1. 残差:y_i - \hat y_i,用e_i表示(加上^表示该变量是y_i在回归直线上对应的点);

2.残差平方和(SSERSS):最小二乘回归直线其实就是使得残差平方和最小的直线,其计算公式如下:

SSE = \sum_{i=1}^n{e_i}^2 = \sum_{i=1}^n(y_i - \hat{y_i})^2

3.决定系数(R^2):自变量解释因变量变化百分比的度量,它大体上说明了回归所解释的因变量变化所占总因变量(关于其均值)变化的比例,其计算公式:

R^2 = SSR/SST
其中,SST = \sum_{i=1}^n(y_i - \bar Y_i)^2,称为总离差;SSR = SST - SSE,这里SSE为残差平方和,而SSR则为回归所解释的部分SST。

方差分析表

  • 经典回归分析的基本假定

最小二乘回归本身并不需要什么更多的假定条件,但是要对回归系数进行t检验或对于拟合度好坏的F检验就需要对模型进行假定:误差项独立并服从同样的零均值正态分布

  • 方差分析(ANOVA)

方差分析是什么意思呢?就是在线性回归中,把因变量的总变差SST,分解成对应于各个自变量的若干平方和,每一个这样的平方和代表了一个自变量对总变差平方和的贡献,剩下不能被自变量解释的,为误差平方和或残差平方和。

具体来说,如果我们有A、B两个自变量,则把SST分解为对应于这两个自变量的两个平方和SSA,SSB以及残差平方和SSE,即SST= SSA + SSB + SSE。如果关于误差项的假定成立,这些平方和都有\chi ^2分布,而除以各自的自由度得到各自的均方,记为MSAMSBMSE,比例MSA/MSEMSB/MSE都有F分布。如果MSA/MSE很大,那么就意味着A变量和残差相比显著,则相应的p值就小

因变量是数量变量,自变量包含分类变量的线性回归模型

  • 自变量只有定性变量的情况

这种情况,模型可写成:

Y = \mu + \alpha_i + ε , i=1,2
其中,\alpha_1\alpha_2便是分类变量,但要注意,它们是不可估计的,因为单独的影响必然和截距\mu混杂在一起,无法剥离。它们只有相对意义,也就是\alpha_1 - \alpha_2是可估计的,代表了不同水平之间的区别。在计算时,需要一个约束条件,通常是将其一设为0,或另它们的和为0。

  • 自变量同时有定性及定量变量的情况

这种情况,模型可以写成:

Y = \mu + \beta_1X_1 + \beta_2X_2 + \alpha_i + ε , i=1,2

\alphaX_2并不互相独立,存在交互的话,就需要根据\alpha的类型对X_2的斜率再进行调整。此时,这个模型可以写成:
Y = \mu + \beta_1X_1 + (\beta_2 + \beta_{2i})X_2 + ε , i=1,2

在使用lm时,在表达式中用:*将两个变量连接起来即表示它们之间存在交互。

  • 升华一下
  1. 定性自变量取值越多,回归模型包含的参数就越多。

  2. 如果只有一个定性变量,而且这个定性变量有m种取值,那么就有m条回归直线。如果有两个定性变量,它们分别有mn种取值,那么在这两个变量对因变量没有交互作用时,就有m*n条直线。一般来说,两个变量的所谓的交互作用就是在两个变量同时存在时,对因变量的影响显著地不等于两个变量的单独效应(称为主效应)之和。

  3. 定量变量和定性变量间的交互作用产生了一些额外的斜率(定量变量前的系数),其个数和定性变量的水平数相当。而两个定量变量间的交互作用则会产生一个交互项的系数。

这个章节的内容和Interactions and contrasts内容相似,不再单独做这一章的笔记,不过还是值得一看的。

相关文章

  • 【机器学习实践】有监督学习:线性分类、回归模型

    线性模型 为线性模型 分类和回归的区别 分类:离散回归:连续本文主要关注线性回归模型 常用线性回归模型类型 OLS...

  • 算法笔记(6)-线性模型及Python代码实现

    线性模型不是特指某一个模型,而是一类模型,常用的线性模型包括线性回归、岭回归、套索回归、逻辑回归和线性SVC等。线...

  • logistics回归分类

    logistics回归分类模型和线性模型的关系非常密切;区分下线性回归模型和线性模型;线性模型:自变量和因变量之间...

  • 西瓜书 第3章 线性模型 学习笔记

    第3章 线性模型 3.1 基本形式 线性模型:向量形式表示线性模型: 3.2 线性回归 线性回归试图学得:均方误差...

  • 第一次打卡

    线性回归主要内容包括: 线性回归的基本要素线性回归模型从零开始的实现线性回归模型使用pytorch的简洁实现线性回...

  • 动手学深度学习(一) 线性回归

    线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现...

  • 线性回归

    线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现...

  • 第一天-线性回归,Softmax与分类模型,多层感知机

    线性回归 主要内容包括: 线性回归的基本要素 线性回归模型从零开始的实现 线性回归模型使用pytorch的简洁实现...

  • 数据挖掘3

    建模调参 内容介绍 线性回归模型:线性回归对于特征的要求;处理长尾分布;理解线性回归模型; 模型性能验证:评价函数...

  • 零基础入门数据挖掘-Task4 建模调参

    内容介绍 线性回归模型:线性回归对于特征的要求;处理长尾分布;理解线性回归模型; 模型性能验证:评价函数与目标函数...

网友评论

      本文标题:线性回归模型

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