查看原文
其他

样条回归(之二)——样条回归通俗介绍

Editor's Note

从直线回归到多项式回归,再到分段回归,再到样条回归,最后是限制性立方样条回归! 两篇文章带你彻底搞清楚非线性拟合。 这是第2篇

The following article is from 小白学统计 Author 小白学统计

上一篇文章提到,样条回归主要用于某些数据在不同的阶段或范围内有可能存在不一样的参数值,比如,可能0-10的范围内是一条斜率为1.6的直线,11-20范围内可能变成了斜率是1.2。你可以把它看做是一种分段回归,但又不是简单的分段回归。
样条回归其实很难讲,因为这里面牵扯到各种数学的术语,我一般不大喜欢用数学术语来讲(其实是不懂),更喜欢用通俗的理解的语言来解释一个方法(可能更多的人也喜欢看这种方式)。所以,本文虽然讲样条回归,但尽量不提数学的事,尽量只用我自己学习消化后的白话说出来。当然,限于本人学识水平,有的可能理解不到位,解释的如有不妥,欢迎各位指正批评。
首先,先把样条回归理解为是一个分段的回归,即将数据分成好几段,每一段分别有一个拟合的曲线。单是这一条,就说明,如果你的数据全部看起来都是一个趋势,那就没必要考虑样条回归,不用非得把事情复杂化,也不要为了用所谓的“高级方法”而用它(让人痛心的是,实际中喜欢用“高级方法”的人比比皆是,导致很多数据分析出现了用牛刀杀鸡的情形)。
其次,样条回归又不是一个简单的分段回归。提到分段回归,看看下面这个图就知道什么意思。

根据月份分成了两段,每段的回归模型不同,很明显,第一段回归的斜率高,第二段的回归斜率低。如果把数据直接混合起来,那可能会损失一些信息,发现不了这种不同阶段的变化趋势。
分段回归基本上没什么限制,简单来说,你把数据分成几段,每一段分别拟合相应的直线、二次项、三次项等,根据实际情况而定。当然,也可以第一段拟合线性,第二段拟合二次项,虽然不多见。然后就分别解释就行了,比如,上面这个图,我们就可以说,第一段比第二段的变化速度更快。当然,有没有统计学差异,这需要做检验。
再次,样条回归可以看做是分段回归,但又不是简单的分段回归。分段回归不是不好,但有些地方可能跟实际有点出入。从上图可以看出,在节点处,两个直线截然分开,没有连接,这叫做“跳跃”。这种跳跃在有些情况下没有问题,但有些时候,可能会有问题。例如,如果横坐标是体重,把体重分为两段,分别分析每一段里体重与某指标的关系。往往体重不大可能突然在某一天上升10公斤或者下降10公斤,应该是一个缓慢变化的过程,也就是说,他们应该是连在一起的。所以,样条回归是加了约束条件的分段回归,加了一个连续性,也就是要求在节点处连续。就像下图红色线。

图中的红线是保证连续的分段回归,蓝线是直接拟合的直线回归。这样看来,样条回归就跟简单的分段回归不大一样了。当然,由于加了约束条件,正常情况下会导致其拟合效果稍差于分段回归,但可能更合理。
再再次,前面我们展示的,还都只是比较简单的直线回归,也就是线性样条,但有些数据太过于复杂,线性样条不足以很好拟合,所以还可以考虑多项式样条,也就是在每一段分别拟合多项式。但是作为多项式就更加麻烦,不仅仅是要求节点处连续,还要求连续的好看且自然。什么叫自然呢?比如下面这个图,虽然也连起来了,但看起来始终觉得有点别扭对不对?(手头没有现成数据,懒得生成了,直接画个示意图

而下面这个示意图感觉就自然了一些。

所以,画图要追求自然。当然啦,追求美这只是一方面原因,其实更深层次的原因是计算问题,这又要说到数学的求导问题,你要求出估计结果,就要连续且连的自然。
最后,多项式样条看起来已经不错了,但是大家发现,往往在曲线的两头,预测的区间会非常宽。为了解决这个问题,就再加一个边界限制的约束条件,使得两边的预测准确一些。这种加了这么多约束条件的,就叫做自然样条。
所以,大家可以看到,回归样条就是这么一步步来的。其实说穿了也很简单,不过本文没有深入介绍其背后原理,为什么呢?第一,太深的我也不懂,即使懂了,有的也真的难以用白话解释出来,越到深层次的原理,越发现难以通俗解释,很多就是只能意会。第二,大多数的统计学习书中都有原理介绍,但鉴于临床大夫或公卫学生对这些不大感兴趣(因为本人是医学统计领域,面向的也是以医学为主),所以只介绍到这里。真对此感兴趣的,自然会去查阅更深入的文献,也不会因为我没有介绍而停止对样条回归的探索。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存