一般在数据分析的时候,我们总是喜欢用到线性模型。这倒不是说线性模型有多好,而是因为它简单。
举个例子,两个城市相距300公里,如果开车速度为50公里/小时,那就需要6个小时到达。如果开车速度为100公里/小时,那就需要3个小时到达。按这个线性模型,如果每小时开150公里,那就2个小时。如果车速为300公里,那么1个小时就到了。
这样的模型显然有问题!如果你的车速为150公里/小时,那么极有可能会被警察抓住。不过在罚款以后,还是可以到达目的地。但是如果你的车速为300公里/小时,那么极有可能根本到不了目的地就出事故了。
可见,线性模型未必正确。只是由于复杂的模型自己学起来费劲,给别人讲得时候更费劲,那就只能退而求其次,说一下群众喜闻乐见的线性模型。这样我们讲起来轻松,听众听起来也明白。
但是在使用线性模型预测时,我们会发现它有很多问题。这是因为模型的线性假设本身就不一定成立。因此,这样的模型精度不会太高。为了解决这个问题,我们可以用岭回归(ridge regression), lasso, 主成分回归(principalcomponent regression)等方法。但是,这样做也有问题。那就是我们依旧是在做线性模型的裱糊匠,治标不治本。
因此,我们要跳出线性模型的能力圈。并且在自己可以解释模型的能力圈内,尽量放松线性模型的假设。比方说,我们可以用多项式回归模型(Polynomial regression),分步函数(Step function)进行分析。或者用一些复杂的模型分析,例如样条(Regression splines)、局部回归(local regression)以及广义相加模型(generalized additive models)。
1. 多项式回归。多项式回归就是在线性回归的基础上,增加一些自变量,提高模型的解释能力。比方说,在立方回归(Cubic regression)中,我们可以使用X,X平方和X立方作为自变量。这就是一种简单拟合非线性曲线的办法。
2. 分步函数。我们可以把数据分成若干部分,产生一个类别型变量,然后在进行回归。简单地讲,就是用分段函数的方法进行回归。
3. 回归样条。多项式回归和分步函数有一些问题,例如当多项式的幂比较高时,很小的变化都会被很大的放大。而样条回归更加灵活,它把区域X被分成了K个区域。然后在每个区域中用多项式拟合曲线。通过增加限定条件,使得多项式每个在节点(Knot)处平滑连接。只要我们能划分出足够多的区域,那么就可以拟合出十分灵活的曲线。
4. 平滑样条(Smoothing splines)。这个方法和回归样条类似,只是产生的原因不同。在平滑惩罚(Smoothness penalty)的限制条件下,最小化残差和的平方,就会产生平滑样条。
5. 局部回归。这方法和样条法类似,但也有区别。那就是所分的区域可以有重叠。由于重叠,就可以保证曲线的平滑。
6. 广义相加模型。这个方法是以上方法在有不止一个自变量时候的延伸。
接下来我会展开介绍这些方法,敬请期待!


雷达卡




京公网安备 11010802022788号







