知易通
第二套高阶模板 · 更大气的阅读体验

用电脑做数据分析?这几种相关性分析方法你得会

发布时间:2026-01-21 09:00:26 阅读:166 次

你在写报告时是不是经常遇到这种情况:手头有一堆数据,比如销售额和广告投放量、用户年龄和购买频率,想知道它们之间有没有关系?这时候就得用到相关性分析方法。别一听‘分析’就觉得高深,其实用电脑操作起来并不难,打开常见的工具就能搞定。

最常用的:皮尔逊相关系数

说到相关性,皮尔逊(Pearson)是最常见的一种。它适合用来判断两个变量是不是呈线性关系,比如气温升高,冰淇淋销量是不是也跟着涨。结果在-1到1之间,越接近1或-1,说明关联越强,正负代表方向。

在Excel里就能算。假设A列是广告费用,B列是当月销售额,输入公式:

=CORREL(A2:A100, B2:B100)

回车一下,立刻出结果。0.8以上基本可以认为两者密切相关。注意,这个方法对异常值比较敏感,如果某个月突然爆单,可能会影响判断。

不是直线也能分析:斯皮尔曼等级相关

有些数据不是规规矩矩走直线的。比如用户满意度从1到5分,和复购次数之间的关系,可能不是均匀上升。这时候皮尔逊就不够用了,得换斯皮尔曼(Spearman)。

它的思路是看排序趋势。哪怕数据本身不线性,只要一个升另一个也升,就算有关。在Python里用pandas很容易实现:

import pandas as pd

data = pd.read_csv('survey_data.csv')
corr = data['satisfaction'].corr(data['repurchase'], method='spearman')
print(corr)

输出的结果也是-1到1之间,解读方式和皮尔逊类似,但更灵活,适合问卷调查、评分类数据。

两个以上变量怎么搞?试试热力图

实际工作中,往往不止两三个变量。比如你要分析网站流量、页面停留时间、跳出率、转化率之间的关系,一个个比太麻烦。这时候可以用热力图一次性展示所有相关性。

还是用Python,配合seaborn库:

import seaborn as sns
import matplotlib.pyplot as plt

corr_matrix = data.corr(method='pearson')
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
plt.show()

运行后弹出一张彩色图表,颜色越深表示相关性越强,一眼就能看出哪两个指标联系最紧密。开会汇报时放这张图,老板立马明白重点在哪。

别忘了先画散点图

不管用哪种方法,动手算之前最好先画个散点图。有时候数据看着相关,一画图发现是两群离散的点,可能是隐藏了分类因素。比如把成人和儿童的身高体重混在一起分析,结果就会偏差。

Excel点几下就能出图,Python用matplotlib几行代码搞定。图形能帮你避开很多坑,比单纯看数字靠谱多了。

相关性分析不是万能钥匙,它只能告诉你‘有关系’,不能说明‘谁导致谁’。比如冰激凌销量和溺水事件正相关,可不是说吃冰激凌会溺水,而是都跟夏天有关。用电脑跑数据方便,但脑子也得跟着转。