共计 1270 个字符,预计需要花费 4 分钟才能阅读完成。
01. 前言
后面咱们讲过了多元线性回归。这一篇咱们来讲讲逐步回归。什么是逐步回归呢?就是字面意思,一步一步进行回归。
咱们晓得多元回归中的元是指自变量,多元就是多个自变量,即多个 x。这多个 x 中有一个问题须要咱们思考,那就是是不是这多个 x 都对 y 有作用。答案就是有的时候都管用,有的时候局部管用。那对于那些没用的局部咱们最好是不让它退出到回归模型外面。咱们把这个筛选起作用的变量或者剔除不起作用变量的过程叫做变量抉择。
咱们刚提到自变量有用没用,那怎么来评判一个自变量到底有用没用呢?判断根据就是对自变量进行显著性测验。具体方法是将一个自变量退出到模型中时,有没有使残差平方和显著缩小,如果有显著缩小则阐明这个变量是有用的,能够把这个变量退出到模型中,否则阐明时无用的,就能够把这个变量从模型中删除。有没有显著缩小的判断规范就是依据 F 统计量来判断。
对于判断 F 统计量的显著性咱们在方差分析外面讲过,大家能够去看看。
变量抉择次要有:向前抉择、向后踢出、逐步回归、最优子集等,咱们这一篇次要讲前三种。
02. 向前抉择
向前抉择能够了解成从零开始抉择,因为模型最开始的时候是没有自变量的,具体的步骤如下:
Step1:拿现有的 k 个变量别离和 y 建设回归模型,最初会失去 k 个模型以及每个模型中变量对应的 F 统计量和其 p_value,而后从显著的模型中挑选出 F 统计量最大模型对应的自变量,将该自变量退出到模型中,如果 k 个模型都不显著,则抉择完结。
Step2:通过第一步咱们曾经失去了一个显著性变量,并把这个变量退出到了模型中。接下来再在曾经退出一个变量的模型外面持续别离退出剩下的变量,可能失去 k - 1 个模型,而后在这 k - 1 个模型外面筛选 F 值最大且显著的变量持续退出模型。如果没有显著变量,则抉择完结。
反复执行下面两步,直到没有显著性变量能够退出到模型为止,这就是向前抉择。
03. 向后剔除
向后剔除是与向前抉择绝对应的办法,是向前抉择的逆办法,具体的步骤如下:
Step1:将所有的自变量都退出到模型中,建设一个蕴含 k 个自变量的回归模型。而后别离去掉每一个自变量当前失去 k 个蕴含 k - 1 个变量的模型,比拟这 k 个模型,看去掉哪个变量当前让模型的残差平方和缩小的起码,即影响最小的变量,就把这个变量从模型中删除。
Step2:通过第一步咱们曾经删除了一个无用的变量,第二步是在曾经删除一个变量的根底上,持续别离删除剩下的变量,把使模型残差平方和缩小最小的自变量从模型中删除。
反复下面的两个步骤,直到删除一个自变量当前不会使残差显著缩小为止。这个时候,留下来的变量就都是显著的了。
04 逐步回归
逐步回归是向前抉择和向后踢除两种办法的联合。是这两种办法的穿插进行,即一遍抉择,一边剔除。
逐步回归在每次往模型中减少变量时用的是向前抉择,将 F 统计量最大的变量退出到模型中,将变量退出到模型中当前,针对目前模型中存在的所有变量进行向后剔除,始终循环抉择和剔除的过程,直到最初减少变量不可能导致残差平方和变小为止。
对于逐步回归的 Python 实现,网上有很多现成代码的,只有原理分明了,代码就很好懂了。