回归分析说明当一个或多个预测变量变化时,结果变量会如何变化。一个预测变量且结果为数值型时,用简单线性回归;多个预测变量且结果为数值型时,用多元线性回归;结果为二元变量(如通过/未通过)时,用逻辑回归。
这个区分能很快回答最核心的问题:
- 简单线性回归:一个预测变量,数值型结果。
- 多元线性回归:多个预测变量,数值型结果。
- 逻辑回归:二元结果,如是/否、通过/未通过、点击/未点击。
再往后,真正的重点是解读。只有当模型与结果变量类型匹配,并且对数据拟合得足够合理时,系数才真正表示你以为它表示的含义。
回归分析是做什么的
回归不只是给散点图画一条线。它建立的是一条把预测变量与期望结果联系起来的规则,用来解释模式或进行预测。
在线性回归中,这条规则是结果变量期望值的直线模型。在逻辑回归中,模型针对的是概率,因此预测值会保持在 到 之间。
简单线性回归:一个预测变量,数值型结果
简单线性回归使用一个预测变量 和一个数值型结果 :
这里, 是预测结果, 是截距, 是斜率。
如果在你关心的取值范围内,用直线模式来近似是合理的,那么斜率 表示 每增加一个单位, 的预测值会变化多少。
多元线性回归:多个预测变量,一个数值型结果
多元线性回归保留了同样的基本思想,但会使用多个预测变量:
当只用一个预测变量过于简单时,这种模型就很有用。现实中的结果往往同时受到多个因素影响。
这里有一个关键的解读变化: 表示在其他已纳入的预测变量保持不变时, 每增加一个单位, 的预测变化量。
“其他预测变量保持不变”这一条件,正是多元回归不同于一系列单变量比较的地方。
逻辑回归:二元结果与概率
逻辑回归用于二元结果,而不是数值型结果。如果结果是“录取/未录取”“流失/留存”或“通过/未通过”这类情况,线性回归通常就不是合适的工具。
逻辑回归不是把结果本身建模为一条直线,而是对结果发生的对数几率进行建模:
其中 。
左边是对数几率,不是概率本身。这样的设定很重要,因为概率必须保持在 到 之间:普通的直线模型可能会预测出像 或 这样不可能的值,而逻辑回归不会。
示例:预测分数 vs 预测通过/未通过
假设一位老师想研究学生表现。
如果结果变量是考试分数,且唯一的预测变量是学习时长,那么一个简单线性模型可能是
如果一名学生学习了 小时,那么预测分数是
这里的斜率表示:如果线性模型拟合合理,那么每多学习 小时,预测分数增加 分。
现在假设老师还加入了睡眠时长和练习测验次数。一个多元回归模型可能是
其中 是学习时长, 是睡眠时长, 是已完成的练习测验次数。
这时,系数 的含义就更具体了:在睡眠时长和练习测验次数保持不变时,学习时长每增加 小时,预测分数变化 分。
现在把问题换一下。不再预测分数,而是假设老师想预测学生通过考试的概率。这样结果变量就变成了二元变量,因此逻辑回归是更自然的选择:
如果一名学生学习了 小时,睡了 小时,那么
所以预测概率为
这个模型预测该学生通过的概率约为 。这里的具体数字只是示例。关键点在于:当结果变量从分数变成通过/未通过时,所使用的回归模型类别也应该随之改变。
回归分析中的常见错误
对二元结果使用线性回归
如果结果只有 或 两种取值,逻辑回归通常更合适,因为它是为概率建模设计的。在线性回归中,有些特殊情形下可以把它当作近似方法,但它也可能给出很差的概率预测。
把回归当作因果证明
回归可以描述关联,也可以支持预测。但它本身并不能证明改变一个变量就会导致结果发生变化。
忽视模型条件
只有当所选模型拟合得合理时,系数才真正有你以为的含义。对于线性回归,这通常意味着要检查用直线来概括是否合理,以及误差是否呈现出模型遗漏的某种模式。
过度解读多元回归系数
在多元回归中,一个系数的含义取决于其他已纳入的预测变量。如果遗漏了重要变量,或者预测变量之间高度纠缠,解释就会变得不那么稳定。
回归分析用在哪里
当你想解释变异、估计条件关系,或根据数据进行预测时,就会用到回归分析。
你会在商业预测、医学、社会科学、质量控制、教育和机器学习中看到它。具体采用哪种形式取决于结果变量:数值型结果通常对应线性模型,二元结果通常对应逻辑模型。
如何选择合适的回归模型
先问自己两个问题:
- 结果变量是数值型还是二元型?
- 我想纳入多少个预测变量?
如果结果变量是数值型,就从线性回归开始。如果只有一个预测变量,就是简单线性回归;如果有多个,就是多元线性回归。
如果结果变量是二元型,就从逻辑回归开始。
这并不能保证模型一定好,但能让你很快进入正确的模型类别。
试着做一道类似的问题
拿一个小数据集,从中提出两个不同的问题。先预测一个数值型结果,比如分数。然后把结果变量改成二元版本,比如通过或未通过。把这两种情况并排比较,是帮助你快速真正理解回归分析的最好方法之一。