拓冰建站拓冰建站
首页 / 资讯中心 / 正文

正相关与负相关:数据分析中方向判断的核心要点

做数据分析这几年我见过太多人一上来就盯着回归系数、p 值和各种模型却把最基础的一步给跳过了先搞清楚变量之间到底是在往同一个方向走还是在往相反方向走。这个“方向”问题在统计学里对应的就是相关关系的“正”与“负”。别小看这个基础概念很多业务分析翻车不是因为模型不够高级而是从一开始就把正相关当成了负相关把负相关当成了没相关。这篇文章就围绕“根据变量之间变化的方向相关关系可分为正相关和负相关”这个主题展开。我会先拆解正相关与负相关的本质再用散点图和相关系数带着做一轮实操判断接着聊一聊方向与强度怎么配合读以及正负相关在不同场景里的实战价值。最后我会把踩过的坑和排查方法整理成速查内容。适合刚入门的数据分析师、经常要跟数据打交道的产品运营、还有需要做量化分析的科研党参考。1. 先搞清楚相关关系的方向到底是什么1.1 一个直观的生活场景先不碰公式我们用生活里的例子来找感觉。假如你记录了一周的学习时间和考试成绩你会发现学得越久成绩大概率越高。这里“越……越……”就是正相关的典型表达。方向一致一个上升另一个也上升。再看另一个例子你从家开车去公司车速越快路上花的时间越短。车速和通勤时间之间的关系就是一个上升另一个就下降方向相反这就是负相关。这两个例子说完其实正相关和负相关的定义已经在里面了当两个变量之间一个变量的数值变大另一个变量的数值也随之变大叫做正相关一个变量的数值变大另一个变量的数值却变小叫做负相关。如果两边的变化没有规律那就是不相关也叫零相关。1.2 正相关、负相关、零相关的判断规则很多人会把“相关”理解成简单的“有关系”但数据分析里说的相关是可量化的、方向上能够判断的系统性共变关系。判断一对变量的相关方向核心就看三步第一把一个变量放在横轴另一个变量放在纵轴画出散点图第二观察点在图上整体呈上升趋势还是下降趋势第三如果趋势明显再用相关系数量化方向和强弱。散点图从左下角往右上角延伸说明趋势向上是正相关散点图从左上角往右下角延伸说明趋势向下是负相关如果散点图一堆云团看不出方向那就是不相关。判断正负的方向性核心不在于某个点如何而在于整体态势如何。这个过程中还有一个容易被忽略的细节方向判断要区分“线性相关”和“非线性相关”。比如降雨量和农作物产量常见的关系是降雨太少不长降雨太多也不长只有适中才长得好。这时候从整体看相关关系其实是“先上后下”的曲线关系不是单纯的线性正相关或负相关。本文讲的经典正相关和负相关默认针对线性相关这也是绝大多数业务分析中最常用、最值得优先掌握的形态。1.3 为什么“方向”比“强弱”更容易被忽视我自己的经验是新手拿到一列相关系数表第一反应都是看数字的绝对值大不大却经常忽略前面的正负号。但正负号才是决策中最关键的信号。举个例子一个电商平台的运营同学想评估“客服响应时间”和“用户满意度”的关系。假设算出来的相关系数是 -0.68很多人看到 0.68 觉得这是“强相关”可以大做文章但实际含义是响应时间越长满意度越低。如果忽略负号你可能就会得出“响应时间和满意度强烈相关所以要继续加强客服投入”这种方向完全反了的结论。为什么方向比强弱更容易被忽视因为强度用肉眼能感知“越大越强”很直观但方向需要结合业务场景去理解它是业务动作和决策方向背后的路标。2. 实际操作如何判断一组数据的相关方向2.1 第一眼散点图的读图技巧实操判断相关方向我从来都是先画图再算数。画散点图这件事工具并不重要Excel、Python、R、甚至在线工具都行真正重要的是读图的几个技巧。首先是看整体趋势线。不用真的拟合出回归线你可以在心里画一条穿过点群中央的直线看它的斜率是正还是负。斜率向上就是正相关斜率向下就是负相关。其次是看点群的分布形态。如果点群很窄、贴近一条直线那相关性强如果点群很散、像一团棉花那相关性强不到哪里去。点和方向的组合能给你几个信息方向表示正负贴合程度表示强弱。还有一个非常实用的技巧观察散点图里有没有明显被“拉走”的点。比如本来所有点都是从左下到右上排列的突然在右下角冒出一个孤立点这个点可能对相关系数的方向影响很大。你先在图上发现它再决定是保留还是进一步排查而不是闭着眼睛直接信任相关系数。2.2 用数据说话相关系数 r 的数值与符号画图只是第一步光看图容易带上主观色彩接下来就要用相关系数来“定量”。统计里最常用的是皮尔逊相关系数通常用 r 来表示。r 的取值范围在 [-1, 1] 之间r 大于 0说明两个变量呈正相关越接近 1正向线性关系越强。r 小于 0说明两个变量呈负相关越接近 -1反向线性关系越强。r 等于 0说明没有线性相关关系但不代表两个变量之间没有其他类型的关系。这里有一个新手比较容易误解的地方r 0 不代表没关系。它只代表没有“线性”关系。比如前面说的“先上后下”的曲线关系算出来的皮尔逊相关系数可能很接近 0但变量之间明明存在强相关的曲线依赖。所以r 的正负只回答了“线性方向上同向还是反向”并没有完整回答“有没有关系”这个问题。具体到相关强度业内常用经验值是|r| 在 0 到 0.3 之间算弱相关0.3 到 0.7 之间算中等相关0.7 到 1.0 之间算强相关。不同领域的阈值会有差异但大体的“弱、中、强”框架是可以通用的。2.3 实操演示从数据到结论的完整过程我带你走一遍完整的实操判断流程。假设我们要分析“每日学习时长”和“测试成绩”的相关方向手上有 10 条模拟数据学习时长小时1, 2, 3, 4, 5, 6, 7, 8, 9, 10 测试成绩分58, 63, 66, 72, 75, 80, 82, 87, 90, 95先画散点图能明显看出点群从左下往右上走这就是正相关方向。接着算皮尔逊相关系数。如果你用 Excel可以直接输入CORREL(A2:A11, B2:B11)得到结果大约是 0.996说明学习时长和成绩之间存在非常强的正相关方向是正的强度很大。如果你习惯用 Python代码也很短import numpy as np study_hours np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) scores np.array([58, 63, 66, 72, 75, 80, 82, 87, 90, 95]) r np.corrcoef(study_hours, scores)[0, 1] print(r)输出同样是 0.996 左右。到这里结论就很清晰了在这个数据集里学习时长与测试成绩呈显著正相关。但这组数据太“完美”了现实中很少有这么顺滑的情况。真实数据里往往有噪声点不会完全排列在一条直线上但只要整体趋势清晰方向判断的逻辑是完全一致的。3. 相关方向与相关强度配合起来读才完整3.1 不要只盯“方向”还要看“强度”正相关和负相关只回答了“方向”问题但一个分析师真正做判断时还需要知道这个相关到底有多强。同样是正相关r 0.2 和 r 0.8 的实际含义完全不同。r 0.2 的情况下也许只是数据样本太大导致的统计显著实际业务影响可以忽略但 r 0.8 说明变量之间的联系非常紧密可以考虑作为预测或归因的重点指标。我建议在分析报告里这样描述学习时长与成绩呈正相关相关系数 r 0.63属于中等偏强程度。这样“方向强度”一次说清对方就不会误解。这里放一张常用的解读对照表相关系数 r方向强度0.8 ~ 1.0正相关极强0.5 ~ 0.8正相关强0.3 ~ 0.5正相关中等0 ~ 0.3正相关弱0零相关无线性关系-0.3 ~ 0负相关弱-0.5 ~ -0.3负相关中等-0.8 ~ -0.5负相关强-1.0 ~ -0.8负相关极强需要注意的是阈值不是绝对标准。在不同行业判断强弱的标准差别很大。物理实验里 r 0.9 可能都觉得不够高但社会科学问卷里 r 0.4 已经能写一篇不错的论文了。所以用经验值做参考结合业务场景下结论才是正确姿势。3.2 正相关不一定“好”负相关不一定“坏”这是很多初入行的朋友容易掉进去的另一个误区把“正”当成好的把“负”当成坏的。在业务视角里正相关和负相关本身没有好坏好坏取决于你想让哪个变量往哪个方向走。举个例子对健身产品来说“每日运动时长”和“体脂率”是负相关。这个负相关一点都不坏反而说明运动有效。反过来“吸烟量”和“肺部健康指标”也是负相关这个负相关说明吸烟对健康有害但它依然是一个很值得关注的信号。所以读正负相关时最重要的不是急着贴“好”或“坏”的标签而是先定义清楚业务目标我们希望提升的关键指标是什么如果关键指标和某个可控变量是正相关那就加大该变量的投入如果是负相关那就优化该变量的反向因素。3.3 选对系数皮尔逊与斯皮尔曼前面我一直在用皮尔逊相关系数。它的计算原理是看两个变量的线性共变程度对数据的分布形态有要求最好是连续型变量且近似正态分布同时受异常值影响较大。如果数据不满足这些条件怎么办我建议改用斯皮尔曼秩相关系数。斯皮尔曼不关心变量的具体数值只看数值排序后的“秩”。两个变量的排序方向越一致斯皮尔曼系数越接近 1排序方向越相反越接近 -1。它对异常值不那么敏感也适合非线性但单调的关系。举个典型例子一家公司的“收入等级”和“购买金额”收入等级本身就是离散次序皮尔逊算出来可能不够稳定但用斯皮尔曼去计算排序一致性往往更能反映两者之间的真实关系。在实际做分析的时候我的习惯是这样的先画散点图看形态。如果点群呈线性分布用皮尔逊如果是单调但弯曲的形态用斯皮尔曼如果数据里有明显异常值优先用斯皮尔曼或者在做完异常值处理后重新计算皮尔逊。4. 正负相关在不同场景里的实战应用4.1 运营数据分析从指标关系里找抓手在运营数据分析里正相关和负相关的应用特别多而且几乎不需要多复杂的模型直接拿指标两两算相关就能启发不少思路。比如内容平台一个很常见的分析任务是看“人均观看时长”和“次日留存率”。通常这两个指标呈正相关观看时间越长说明内容越能抓住用户留存大概率也越高。这时候运营抓手就出来了推荐策略要向高质量、长时长的内容倾斜。再比如电商场景“页面加载耗时”和“转化率”往往呈负相关。加载越慢用户越容易流失转化率越低。这种负相关一旦被验证技术优化就有了明确优先级。你不需要等用户投诉数据已经告诉你方向了。我以前在分析中就遇到过一连串这样的相关指标把它们整理成一张“正负相关速查表”给业务方看的时候特别清晰哪些指标之间是同向联动哪些是反向制约一目了然。4.2 投资与金融用负相关做对冲在金融领域负相关是最有价值的信号之一。投资组合理论里有句话叫“不要把鸡蛋放在同一个篮子里”。但如果两只资产的收益率总是同涨同跌分散效果其实很有限。真正意义上的风险对冲需要找到走势相反或低相关的资产也就是用资产之间的负相关性来平滑整体波动。举个例子股票和债券在多数市场环境里存在负相关。股票大跌时资金往往流向债券等避险资产债券价格上涨。如果你同时持有一部分股票和一部分债券组合整体的波动会比单独持有股票小很多。这里的底层逻辑就是利用了资产之间的负相关关系。每次做资产配置时不妨先算一下两只基金历史收益率的相关系数。如果相关系数为正且很高说明它们本质上是同一个风险方向的产物如果相关系数为负就能起到对冲效果。相关性是动态的尤其要注意极端行情下很多资产的相关性会趋向于 1也就是一起涨一起跌这需要额外关注。4.3 产品研发用相关方向做功能优化做产品功能的时候正负相关也能帮上忙。关键思路是找出“与核心指标强相关的体验指标”再针对体验指标做优化。比如一款在线学习 App核心指标是“课程完成率”。你可以在后台拉出一堆候选指标比如“首次进入课程后的停留时长”“关注老师数量”“参与讨论次数”逐一和“课程完成率”算相关。如果“首次进入课程后的停留时长”和“完成率”呈正相关可能说明初次体验至关重要。这时候产品团队可以把精力放在完善新手引导、优化第一节课程内容上。另一个指标“推送通知点击率”和“完成率”呈负相关也许说明过频的推送反而打扰了用户该收敛触达频率。这类分析不高级但很实用。它能帮团队避免“凭感觉优化功能”把有限的人力和资源投入到真正影响核心结果的环节。5. 相关方向分析最常见的 4 个坑5.1 相关不代表因果这是老生常谈但每次都值得重新强调。两个变量呈现正相关或负相关只能说明它们在数据上有一致的共变趋势并不能直接证明其中一个导致了另一个。最典型的例子是雪糕销量和溺水人数。夏天温度升高雪糕销量上升去游泳的人也多了溺水人数也上升。雪糕销量和溺水人数之间存在正相关但显然不是因为吃雪糕导致溺水而是背后共同受“夏季温度”驱动。我做业务分析时一直有一个习惯发现强相关后先画一张简单的逻辑图列出“这个相关可能是由什么共同原因导致的”。如果找不到合理的机制解释即使相关系数再高也不要急着写进结论更不能用它作为因果断言来驱动业务策略。5.2 异常值会把相关方向“带偏”有时候相关系数从正变负不是真实规律发生了变化而是因为一两个异常点在里面搅局。我之前处理过一组“广告投入金额”和“销售额”的数据。大部分月份里广告投入越多销售额越高是明显的正相关。但有一个特殊月份因为大促活动广告投入激增到平常的 5 倍而销售额因为库存不足没有同步上升反而停留在一个中等水平。这个点被算进去后正相关的强度被明显拉低甚至接近无关。解决办法有两个第一画散点图肉眼发现异常值后分析它出现的业务原因第二用稳健的相关性度量比如斯皮尔曼相关系数减少异常值对结果的干扰。永远不要只盯着相关系数本身那个数字是会被单个点带偏的。5.3 非线性关系下“方向”可能失效如果两个变量之间存在明显的非线性关系那简单用“正相关”或“负相关”来描述就有点不够用了。比如疼痛感和药物剂量的关系剂量从 0 开始增加时镇痛效果越来越好这是负相关但剂量超过一定阈值后副作用增强健康指标反而变差相关方向就反过来了。这种情况下整体算出来的皮尔逊系数可能接近 0但它并不代表“没有关系”。我的做法是遇到散点图呈明显曲线时先不要硬套线性相关。可以分段分析比如把变量按区间切分后分别计算相关方向也可以直接改用非线性模型做进一步分析。至少你要意识到“方向”概念在线性假设下才有稳定意义。5.4 分组后方向可能反转还有一个容易被忽略的细节整体层面是正相关分组之后每一组内部却是负相关。这种看似矛盾的现象叫辛普森悖论但它并不罕见。举一个简化的例子某个班级整体上“课外辅导时长”和“成绩”呈正相关。但把学生按基础水平分成两组后发现基础弱的组里辅导时间越长成绩反而越低可能是作业量太大导致心态失衡基础强的组里辅导时间也几乎不影响成绩。整体正相关的背后其实是“基础弱的学生更愿意报课外辅导基础强的学生不需要报”这个混杂因素在起作用。遇到这种情况不能简单地说整体相关方向是正还是负而是要结合业务背景解释清楚相关关系是在哪个层面成立的分到子群体内部又会呈现出什么状态。我建议在做相关性分析时至少按业务理解里最关键的维度做一次分组交叉验证再下结论。5.5 实操排查速查表最后把这几年踩过的坑整理成一张速查表以后拿到一组数据可以照着这个顺序来排查排查点常用方法判断要点两变量是否线性散点图点群是否近似直线排列相关方向皮尔逊 r 的符号r 0 正相关r 0 负相关相关强度|r| 大小0.3/0.5/0.8 三档参考是否有异常值干扰散点图 斯皮尔曼点云边缘是否有孤立点是否非线性残差图 / 分段计算曲线关系时不用线性相关描述分组方向是否一致按关键维度分组计算警惕整体与分组方向相反我自己所有相关性的分析至少会走完这三步先花额外时间看散点图再算至少两种相关系数做交叉确认最后按业务中最重要的维度分组验证。这套流程看起来笨但对避免“方向判断错误”非常有效。实战里还有一个很小的经验可以分享画散点图时给点加上透明度。数据量大的时候点与点会叠在一起不做透明度处理你很难看出真实分布密度也就容易错判方向。这个小细节在刚开始做分析时帮了我很多次。相关关系的正和负说到底就是你在散点图中看到的那个整体趋势是向上还是向下。先把这个看清后面的分析才不会跑偏。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门