数据分析星球新手上路
2024-12-2 19:21:43 发布在干货资料
【专家分享】 【白话数据分析】聊聊数分中的“相关性分析”

大家好,我是星球哥,一个在公众号、小红书及B站拥有数万粉丝的内容创作者。作为拥有超过7年大厂数据分析经验的资深分析师,以及3年数分团队领导与面试官的经历,我热衷于探索并分享数据分析的思维模式、高效工具以及实战案例。我热爱思考,乐于分享,也总爱和人“叨叨”数据分析的那些事儿。非常荣幸能够加入永洪社区,期待与各位同仁交流学习,共同进步!接下来会给大家分享「白话数据分析」这个系列的内容。

为什么叫白话?因为现实生活中我们很多人缺乏的不是数据分析的理论,而是在实际场景中应用理论的能力,理论+实际场景=方法论,如何把看似浮在空中的理论落地到实际的工作场景中来,就需要通过简单易懂的案例和近似白话的语言传达出来,这也是为什么会有【白话数据分析】这个系列的原因


01 什么是相关性分析?

当我们面对海量数据时,如何从中提取有价值的信息?相关性分析是数据分析中非常重要的一环,它可以帮助我们了解数据之间的关系,为我们做出更好的决策提供依据。在本篇文章中,我们将结合一个实际的业务场景,来介绍相关性分析的基本概念、步骤和应用,并探讨其局限性和注意事项。
相关性是指两个或多个变量之间的关系程度。在数据分析中,我们通常使用相关系数来衡量变量之间的相关程度。常见的相关系数包括皮尔逊相关系数、斯皮尔曼相关系数、切比雪夫相关系数等等。其中,皮尔逊相关系数是最为常见的一种,它可以用来衡量两个变量之间的线性关系程度皮尔逊相关系数的取值范围为-1到1,当相关系数接近1时,说明两个变量之间的正相关性非常强;当相关系数接近-1时,说明两个变量之间的负相关性非常强;当相关系数接近0时,说明两个变量之间没有线性关系。



需要注意的是,相关性并不代表因果关系。两个变量之间的相关性只是表明它们之间存在某种联系或关联,但并不一定能够说明其中一个变量的变化是导致另一个变量发生变化的原因。因此,在进行相关性分析时,我们需要同时考虑其他因素,以避免误判。

02 相关性分析实际案例

我们以一个销售业务场景为例来介绍相关性分析的应用。假设某家公司销售两种产品:A和B,每月的销售额和广告投入如下表所示:


月份
产品A销售额
产品B销售额
广告投入
1
10000
8000
500
2
12000
9000
600
3
13000
10000
700
4
14000
11000
800
5
15000
12000
900
6
16000
13000
1000

现在,我们想要分析广告投入与产品销售额之间的关系,以便更好地制定销售策略。
首先,我们可以使用皮尔逊相关系数来计算广告投入与产品销售额之间的相关性。下面是具体的步骤:
1.计算每个月产品A和产品B的销售额的平均值和标准差。
2.计算每个月广告投入的平均值和标准差。
3.计算产品A销售额和广告投入、产品B销售额和广告投入之间的皮尔逊相关系数。


根据上述步骤,我们可以得到以下结果:

产品A销售额
产品B销售额
广告投入
平均值
13333.33
9833.33
700
标准差
2287.06
2287.06
169.71
相关系数
0.981
0.981
0.988

从上表中可以看出,广告投入与产品A销售额、产品B销售额之间的皮尔逊相关系数均非常高,分别为0.981。也就是说,广告投入与销售额之间存在非常强的正相关关系。这个结论可以帮助公司制定更好的广告投入策略,进一步提高销售额。
除了皮尔逊相关系数外,还有其他的相关系数,如斯皮尔曼相关系数。在某些情况下,非线性关系可能更为显著,此时可以使用斯皮尔曼相关系数进行分析。

03 相关性系数的计算方法

计算相关性系数的方法有很多种,下面介绍一些常用的方法和工具。


Excel实现

Excel 中的相关性函数为 CORREL,可以用于计算两个数据系列之间的相关系数。具体使用方法如下:
  • 打开 Excel 并新建一个工作簿。
  • 在需要计算相关系数的两个数据系列的单元格中输入数据。
  • 选中一个空白单元格,输入 =CORREL(数据系列1, 数据系列2),按下回车键即可计算出两个数据系列之间的相关系数。



SQL实现

在 SQL 中,可以使用 CORR 函数计算相关系数。具体使用方法如下:
1.打开 SQL 工具并连接到数据库。
2.编写 SQL 语句,使用 CORR 函数计算两个数据列之间的相关系数,例如:
            
SELECT CORR(column1, column2) AS correlation_coefficient
FROM table_name;

Python实现

在 Python 中,可以使用 numpy 库中的 corrcoef 函数来计算相关系数。具体使用方法如下:                         
      
#导入numpy
import numpy as np
# 将两个数据系列转换为 numpy 数组。
x = np.array([1, 2, 3, 4, 5])
y = np.array([6, 7, 8, 9, 10])
#使用 corrcoef 函数计算相关系数。
np.corrcoef(x, y)

这将返回一个 2x2 的数组,其中第一行第二列和第二行第一列的值就是相关系数。
除了以上介绍的方法,还有一些其他的方法和工具可以用于计算相关系数,例如 MATLAB、R 等。根据实际情况选择合适的工具和方法,可以快速、准确地计算出相关系数。

04 相关性≠因果性

虽然相关性分析在数据分析中非常重要,但是我们需要有一些注意事项。
最需要注意的一点是:相关性并不代表因果关系两个变量之间的相关性只是表明它们之间存在某种联系或关联,但并不一定能够说明其中一个变量的变化是导致另一个变量发生变化的原因。因此,在进行相关性分析时,我们需要同时考虑其他因素,以避免误判。下面我们分别给出一个生活中和数据分析工作中的例子。

生活中的例子

在生活中,有一个经典的例子是冰淇淋销量和溺水人数之间的相关性。这个例子指出,冰淇淋销量和溺水人数之间存在正相关关系。也就是说,当冰淇淋销量增加时,溺水人数也会增加。然而,这并不意味着冰淇淋销量是导致溺水人数增加的原因。实际上,这个例子中的相关性是由一个更为基础的因素引起的,即天气炎热。当天气炎热时,人们更倾向于购买冰淇淋,同时也更倾向于到水中游泳,从而导致了冰淇淋销量和溺水人数之间的正相关关系。

数分工作中的例子

在数据分析工作中,有一个例子是网站流量和用户购买量之间的相关性。在分析这两个变量之间的关系时,我们可能会发现它们之间存在正相关关系。也就是说,当网站流量增加时,用户购买量也会增加。然而,这并不意味着网站流量是导致用户购买量增加的原因。实际上,这个例子中的相关性是由其他一些因素引起的,比如营销活动的效果、产品质量、用户口碑等。因此,在数据分析工作中,我们需要通过更深入的分析,才能确定这两个变量之间的因果关系,从而制定出更为有效的策略和措施。

05 相关性分析的局限性

尽管相关性分析可以帮助我们理解不同变量之间的关系,但是它也存在一些局限性,主要表现在:
1.相关性分析只能衡量线性关系,对于非线性关系,其表现可能不如预期。此时,可以使用其他的相关系数进行分析。
2.相关性分析只能衡量两个变量之间的关系,而现实中往往存在多个变量之间的相互作用。在这种情况下,我们需要采用更为复杂的统计模型,如回归分析等.
3.相关性可能是偶然的。在一些情况下,两个变量之间的相关性可能只是偶然的。例如,在进行大量的数据分析时,有时候会发现两个变量之间存在很高的相关性,但是这并不代表它们之间存在真正的关系。

06 总结

相关性分析是数据分析中非常重要的一环,可以帮助我们了解数据之间的关系,为我们做出更好的决策提供依据。在实际应用中,我们需要根据具体问题选择合适的相关系数进行分析,并注意相关性分析的局限性和注意事项。

544
8
精彩评论8
永洪蓝波湾铂金二
发表于 2024-12-3 10:29:13 显示全部楼层
回复

使用道具 2#

yhbi老6了铂金二
发表于 2024-12-3 11:11:34 显示全部楼层
数据分析~
回复

使用道具 3#

给给铂金二
发表于 2024-12-3 11:23:07 显示全部楼层
来学习了
回复

使用道具 4#

ARS1白银四
发表于 2024-12-3 13:59:53 显示全部楼层
回复

使用道具 5#

你认识米米不铂金一
发表于 2024-12-3 14:43:58 显示全部楼层
回复

使用道具 6#

yhdata_cikfFSA5青铜一
发表于 2024-12-3 14:50:44 显示全部楼层
学习了
回复

使用道具 7#

快说鹿在谁手里青铜四
发表于 2024-12-4 09:34:10 显示全部楼层
学习下
回复

使用道具 8#

杨金刚白银三
发表于 2024-12-9 17:12:31 显示全部楼层
回复

使用道具 9#

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
100W

用户等你来哦

Copyright   ©2012-2025  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部