00 写在前面
很久没有更新文章了,很多粉丝也在不断地催更,之所以一直没有更新,一方面不想因为更新而更新,这样出来的内容质量也不高,另一方面,我公众号的文章都是按照系列更新的,并不是零散的知识点,这样更便于大家系统地查看,如果大家有看过,应该注意到,到目前为止,我已经更新了【初识数据分析】、【数据分析思维】、【数据分析工具】、【数据分析统计学】、【数据分析面试宝典】、【机器学习】等6个系列,所以我也一直在思考,接下来和大家聊一聊哪些话题、写哪个系列。
不知道大家有没有类似的经历?有没有曾经因为追求高端的算法和工具而没有及时交付最终的业务结果,最后被老板一通批评;有没有拿着一个单点的数据分析结果就给出了一个全面的结论和建议;有没有给过一些因果倒置或者“幸存者偏差”的结论,导致业务走了弯路。
这些经历大家多多少少都会遇到,为什么会犯这些错误?因为我们缺乏了一些基本的数据分析思维。刚好最近一直在拜读郭炜的【数据分析思维课】,讲地很好,内容深入浅出,很接地气。我们很多人缺乏的不是数据分析的理论,而是在实际场景中应用理论的能力,理论+实际场景=方法论,如何把看似浮在空中的理论落地到实际的工作场景中来,就需要通过简单易懂的案例和近似白话的语言传达出来,这也是为什么会有【白话数据分析】这个系列的原因。无论你是什么阶段什么水平,我们从生活/工作中最常见的案例出发,用最直白的文字把理论讲清楚,真正掌握数据分析的基本思维和原理,这也是写这个系列文章的初衷。
因为是白话,所以在这个系列文章中,没有晦涩难懂的公式和复杂的程序,我只是希望用大白话的形式,结合工作和生活中的各种各样的例子,学会怎样从数据分析的角度来解决这些问题,掌握一些数据分析最基本的知识。放我们再看待同一件事情的时候,思路和以前不一样了,可以从数据的角度来诠释身边发生的事情,用数据的思维来做出你的判断。
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
现在,我们想要分析广告投入与产品销售额之间的关系,以便更好地制定销售策略。
首先,我们可以使用皮尔逊相关系数来计算广告投入与产品销售额之间的相关性。下面是具体的步骤:
计算每个月产品A和产品B的销售额的平均值和标准差。
计算每个月广告投入的平均值和标准差。
计算产品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 函数计算相关系数。具体使用方法如下:
打开 SQL 工具并连接到数据库。
编写 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 相关性分析的局限性
尽管相关性分析可以帮助我们理解不同变量之间的关系,但是它也存在一些局限性,主要表现在:
相关性分析只能衡量线性关系,对于非线性关系,其表现可能不如预期。此时,可以使用其他的相关系数进行分析。
相关性分析只能衡量两个变量之间的关系,而现实中往往存在多个变量之间的相互作用。在这种情况下,我们需要采用更为复杂的统计模型,如回归分析等。
相关性可能是偶然的。在一些情况下,两个变量之间的相关性可能只是偶然的。例如,在进行大量的数据分析时,有时候会发现两个变量之间存在很高的相关性,但是这并不代表它们之间存在真正的关系。
06 总结
相关性分析是数据分析中非常重要的一环,可以帮助我们了解数据之间的关系,为我们做出更好的决策提供依据。在实际应用中,我们需要根据具体问题选择合适的相关系数进行分析,并注意相关性分析的局限性和注意事项。
网友评论