回归与相关:从数据走势里读懂两者关系
很多人第一次接触回归和相关,是在同一张统计课件上。两者都处理两个变量之间的关系,都绕不开散点图,都被用来做预测。但把它们混为一谈,往往会在实际分析里走弯路。最典型的场景是:手里有一组历史数据,想知道下个月的走势,于是有人直接跑一个相关系数,看到0.8就断言能预测——这一步就错了。
先看相关。相关关心的是两个变量是否同向或反向变动,常用皮尔逊相关系数r来衡量,取值在-1到1之间。r接近1,说明一个变量增大时另一个也倾向增大;r接近-1则相反;接近0说明线性关系弱。比如某城市统计了30天的日气温与冷饮销量,算出来r约为0.85,这表示气温越高,销量总体越高。注意,相关是对称的,气温与销量的相关,和销量与气温的相关是同一个数,它不区分谁影响谁,也不给出具体的换算公式。
回归则更进一步。它要回答的是:当自变量变化一个单位,因变量平均变化多少。还是气温与冷饮的例子,用一元线性回归拟合,可能得到销量=120+35×气温(单位略)。这个方程给出了斜率和截距,意味着气温每升高1度,销量平均增加35份。有了这个式子,输入预报的明日气温,就能算出一个销量的预测值。回归是有方向的,把自变量和因变量对调,方程会变,含义也不同。所以做趋势判断时,回归比相关更适合外推。
两者的联系也值得说清。在一元线性回归里,相关系数r的平方等于回归的判定系数R²,表示自变量能解释因变量变动的比例。r=0.85时,R²约0.72,也就是说气温能解释销量变动的七成左右,剩下三成来自促销、周末、天气以外的因素。这个数字提醒我们,回归线的预测值只是平均意义上的估计,实际点会围绕它散开。散点图上看,点越贴近直线,R²越高,预测越稳;点散得开,即便r不低,单点预测的误差也可能很大。
实践中容易踩的坑有几个。第一是把相关当因果。有数据表明,某段时间冰淇淋销量和溺水人数同向上升,r不低,但显然不是冰淇淋导致溺水,背后是夏季气温这个共同因素。第二是忽略非线性。变量之间可能是U形或饱和关系,硬套线性回归,r会接近0,于是误判为无关。这时候先画散点图,比直接算系数更有用。第三是受异常值影响。一个极端点就能把r从0.3拉到0.8,做观察时先看箱线图或残差图,确认没有单点主导。
还有一个常被忽视的细节:回归用于预测时,外推范围要谨慎。用气温10到35度的数据拟合出的方程,拿去预测零下5度的销量,可靠性大幅下降,因为关系可能在低温区完全不同。同理,时间序列数据往往存在自相关,相邻日期的值不独立,直接套用普通回归会高估显著性。这类数据更适合先看走势、做差分或引入滞后项,再谈回归。
把方法落成流程,大致是四步。第一步,明确问题:是要衡量关联强度,还是要做数值预测。前者看相关,后者做回归。第二步,画散点图,观察形状、方向和异常点,这一步花五分钟,能省掉后面很多返工。第三步,按需计算,相关给r,回归给方程和R²,同时看残差是否随机分布。第四步,解释结果时把R²和样本量一起报出来,小样本的r波动大,30个点和300个点的可信度不在一个量级。
回到日常的数据观察,回归和相关不是二选一,而是配合使用。先用相关快速筛选哪些变量值得进一步建模,再用回归给出可解释的系数和可用的预测。看到一条上扬的走势,先问一句:这是相关,还是回归告诉我的?把这个问题问清楚,很多结论会变得更克制,也更接近事实。