回归线三千,我只取这一条 | 协和八
说人话的统计学
在前面两集文章里,我们一起认识了线性模型这件新玩具。
利用线性模型,我们不仅从一个新的角度重新审视了早已熟悉的 t 检验和 ANOVA(回顾《车模航模你玩过,统计学模型你会玩吗?》——留言说要玩汽车模特的同学放学别走),还为大家介绍了线性模型中自变量为连续变量的情形,也就是通常所说的线性回归(回顾《如果只能学习一种统计方法,我选择线性回归》)。
让我们来复习一下线性回归模型的最简单形式:
上面这条式子的意思是说,从自变量 x 的第 i 个测量值 xi 出发,要得到与之对应的因变量 y 的第 i 个测量值 yi,只需在 x 上做个简单的线性运算 β0+β1*xi 。当然,我们不能保证 β0+β1*xi 就能恰好等于 yi,而是可以容许一定的偏差,也就是误差项 εi。我们之前也讨论过,通常情况下,我们认为误差项服从均值为0,方差为 σ2 的正态分布,也就是
结合上面(1)(2)两条式子,我们就有了一个关于因变量 y 和自变量 x 的线性回归模型。这个模型里面有三个参数(parameters),分别是截距 β0、斜率β1、误差的方差 σ2。
有了数据(一系列 x 和 y 的测量值)和模型的形式,我们要做的就是找出最符合数据的模型参数,并且作出相应的统计推断。
从数据出发,我们该如何找到最合适的参数呢?
回到上一集的例子,现在我们已经有了若干个蓝精灵家庭中的父母平均身高(自变量 x )与子女身高(因变量 y )数据,想要建立一个描述它们之间关系的线性模型。
我们在上一集也说过,对于模型中的式子(1),如果先不看误差项, β0+β1*xi 其实就是二维平面上的一条直线 。所以,从直观上说,要确定三个参数,我们就是要找到一条最符合数据点趋势的直线。
这条直线应该怎么找?我们先来摸索一下。
作为初步尝试,我们随便找两组截距 β0 和斜率 β1 值,画出下图的两条直线(橙色:y=45+0.41x ;绿色:y=200-0.5x )。
不需要繁琐的计算或检验,只要看一眼上面的图,我们就能意识到,这两条直线(及其对应的模型参数)并不能让我们满意。
先看橙色的直线,绝大多数数据点都在它上方,也就是说,它所代表的模型在整个数据集的父母平均身高范围内(145cm-175cm)基本都在低估子女的身高。
绿色的直线呢?似乎更糟糕,因为从数据点的趋势来看,随着父母平均身高的增长,子女的身高也随之增加。然而,绿色直线所代表的模型却有一个负的斜率(-0.5)——换言之,这个模型认为长得高的父母一般会有比较矮的孩子。而且,它在父母身高较小时倾向于高估子女的身高(父母身高在 160cm 以下时,大多数据点在绿色直线下方),而在父母身高较大时倾向于低估子女的身高(父母身高在 160cm 以上时,大多数据点在绿色直线上方)。
但是,对于其他的一些模型参数,结论就不那么一目了然了。
让我们再来看下图中不同颜色直线代表的三个线性回归模型(蓝色:y=0.75x;红色:y=40+0.5x;紫色:y=55+0.41x)。
这三条直线看起来都挺符合数据点的大致趋势,然而它们给出的解读却有不小差别。比如说,我们上一集讲过,这个模型中截距 β0 的解读是,每当自变量 x 增加(或减少)一个单位时,因变量 y 会有多少变化。所以,蓝色模型认为,每当父母平均身高增加 1cm,子女的身高平均来说会增加 0.75cm,而红色、紫色模型则分别认为子女身高只会增长 0.5cm、0.41cm。
因此,要选择最符合实际数据的模型参数,咱们不能光靠眼睛看,得拿出一个清晰明确的标准。要讨论这个标准应该是什么,咱们还得先一起捋一捋思路。
要寻找「最优」的截距 β0、斜率 β1、误差方差 σ2,我们要做的事情是,在由这三个参数定义的三维空间里,找到一个我们认为在某种标准下最好的点
在频率主义统计学的体系(可回顾《贝叶斯vs频率派:武功到底哪家强?》)里,模型的参数是有唯一确定(但我们并不知道)的真值的,真值同样也是这个三维参数空间里的一个点,不妨记为(Β0, Β1, Σ2)。因此,如果我们给出一个估计(β0, β1, σ2),它要么就是对的(在
如果你觉得上面一段话的推理过程有些别扭,尤其是觉得频率主义认为对任意一个具体的估计(β0 ,β1, σ2)不能作出概率判断非常不合理的话,别担心,其实你并没有什么错,只不过是自带贝叶斯主义属性比较强而已——欢迎你在本文底下留言,我们也许会在未来再为大家讲讲,贝叶斯统计学对线性回归问题是怎样处理的。同时,我们也请你试着暂时放下这个疑问,先接受上文的出发点。
但是,我们可以采取类似于p值那样的思想(回顾《你真的懂p值吗?》),来考虑一下,在假设我们的估计就是真值的情况下,观测到我们手上数据的可能性有多大,这个可能性称为「似然」(likelihood)。对于参数空间里的任意一个点 A(β0, β1, σ2),根据我们的模型和实际数据,都可以算出一个似然的值 L(A) 。这样一来,如果我们穷尽参数空间里的每一个点,把每个点对应的似然都算出来,你会选择哪一个点作为对模型参数最有把握的估计?
相信你会说,选似然最大的一个!不错,这正是我们在以前的文章中也简单提到过的极大似然估计(maximum likelihood estimation)的思想。
如果你有些不太确定,其实我们每一个人都会在日常生活中自觉运用这样的思想。比如说,街上迎面走来一个金发碧眼的美女,如果有人问你,你觉得她是亚洲人、欧洲人还是非洲人,你肯定不假思索就会说:「欧洲人!」因为在亚洲人、欧洲人、非洲人这三种选择中,欧洲人拥有金发碧眼的可能性很大,而亚洲人、非洲人金发碧眼的可能性都很小,所以,你也自然地使用了一次极大似然估计大法。
那么,在今天讨论的线性回归模型中,似然函数应该怎么算?关键就在模型对误差的规定
我们先把某个蓝精灵的父母身高平均值 xi 代入 β0 +β1*xi 中,就能得到对该蓝精灵身高的估计值
我们就能算出,对于第 i 个数据点,在当前以 β0 ,β1 ,σ2 为参数的模型中,模型在该数据点上的误差为
然后,因为线性回归模型假设各数据点是独立、不相关联的,所以我们只需把每个数据点的似然乘起来,就能得到当前参数组合下观测到整套实际数据的可能性(似然函数值)了。
了解了计算似然的方法,对于任意选定的参数组合(比如文章前面两幅图中用不同颜色表示的几个模型),我们都可以把实际数据套进模型中,得到似然的大小。理论上来说,我们只需把模型参数可能取到的整个空间都检查一遍,找出似然函数最大的那个(或那些)点就可以了。
当然,哪怕只有一个参数,一个再小的区间里都包含无数个点,像穷举这样的办法是不可行的。幸运的是,对于本文(1)(2)这样最简单的线性回归模型,只需用到一点微积分知识,就能直接得到似然函数最大的参数值,而不需要把参数空间中的点一个个算过来:
其中
当然了,现在我们连上面的解都不需要记住了,因为统计学软件只需要用一瞬间就能给我们算出来。但是,理解它们的由来与意义,对把它们用好、用对是很重要的。
值得一提的是,上面的
有了
有了这个模型,我们能进行怎样的推断和预测?父母身高和子女身高之间存在正相关关系,但是这个关系是否具有统计学意义上的显著性?各位看官请听下回分解。
精选每日一题
更多精选题可回顾历史推送文末
题目来源:临床执业医师资格考试往届真题
本期主播:铩羽
回复「统计学」可查看「说人话的统计学」系列合辑,
或点击下方标题可阅读本系列任意文章
>>> 干货 <<<
>>> 自检 <<<
>>> 番外篇 <<<
作者:张之昊
编辑:黑草乌叶