【相关性分析怎么做】一个实践者的指南
在数据分析的世界里,理解不同变量之间是否存在某种关联至关重要。相关性分析就是这样一种帮助我们量化和理解这种关联强弱与方向的统计技术。本文将围绕“相关性分析怎么做”这一核心问题,并结合“是什么”、“为什么”、“哪里”、“多少”、“如何”等多个维度,为您提供一份详细的实践指南,专注于具体的操作步骤和注意事项,而非其历史或理论的深奥探讨。
相关性分析:它“是”什么衡量?
简单来说,相关性分析衡量的是两个或多个变量之间线性关系的强度和方向。其核心产出通常是一个
相关系数(Correlation Coefficient)。最常见的相关系数是
皮尔逊相关系数(Pearson Correlation Coefficient),用符号 ‘r’ 表示。
- 它的取值范围在 -1 到 +1 之间。
-
值的大小 (|r|):表示关系的强度。
- |r| 越接近 1,表示关系越强。
- |r| 越接近 0,表示关系越弱或不存在线性关系。
-
值的符号 (+ or -):表示关系的方向。
- +1 表示完美的正线性关系(一个变量增加,另一个变量也按比例增加)。
- -1 表示完美的负线性关系(一个变量增加,另一个变量按比例减少)。
- 0 表示没有线性关系。
需要强调的是,皮尔逊相关性主要衡量的是
线性关系。如果两个变量之间存在很强的非线性关系(比如呈抛物线),皮尔逊相关系数可能接近于0,但这并不意味着它们没有关系,只是没有线性关系。
“为什么”要做相关性分析?
在实际的数据分析工作中,进行相关性分析有很多实用的目的:
- 探索数据:快速了解数据集中变量之间的初步关系,为后续更复杂的分析打基础。
- 变量筛选:识别哪些变量可能与您关注的目标变量有关联,帮助选择建模的输入变量。
- 发现共线性:检查自变量之间是否存在高度相关性(即多重共线性),这在回归分析等建模中是一个重要问题,可能导致模型不稳定。
- 简化模型:如果多个变量高度相关,可能只需要保留其中一个或少数几个进行建模,从而简化模型。
- 生成假设:发现意料之外的关联性,从而提出进一步研究的假设。
做相关性分析的目的,是为了更好地理解数据结构,为下一步的数据处理或模型构建提供依据。
“哪里”、“什么时候”使用相关性分析?
相关性分析通常在数据分析流程的
早期阶段进行,特别是在
探索性数据分析(Exploratory Data Analysis, EDA)过程中。
具体应用场景包括:
- 刚拿到数据集,想快速摸清变量间关系时。
- 在进行回归分析前,检查自变量之间以及自变量与因变量之间的关系。
- 在进行主成分分析(PCA)等降维技术前,理解变量的结构。
- 在任何需要量化变量间关联的领域,如金融(股票价格相关性)、市场研究(产品销量与广告投入相关性)、医学(疾病发生率与风险因素相关性)等。
它是一个通用的工具,适用于几乎所有涉及多个连续或有序变量的数据集。
结果“有多少”关联度?如何解读?
解读相关性分析结果主要看两点:
相关系数的值 (|r|) 和 统计显著性 (p-value)。
如何解读相关系数的值?
虽然没有绝对的标准,但通常可以根据|r|的值大致判断关联强度:
- |r| < 0.3:弱关联或无关联
- 0.3 ≤ |r| < 0.7:中等关联
- |r| ≥ 0.7:强关联
这是一个经验法则,实际应用中需要结合具体领域知识来判断关联的实际意义。
例如,在物理学中,0.7可能被认为是弱关联;但在社会科学中,0.7可能已经是极强的关联了。
如何解读统计显著性(p-value)?
相关系数的值衡量了样本中观察到的关联强度,但我们还需要知道这种关联在
总体中是否真实存在,或者仅仅是由于样本的随机性。p-value就提供了这个信息。
统计相关性检验的
零假设 (H₀) 通常是:总体中两个变量之间的相关系数为零(即没有线性关联)。
备择假设 (H₁) 通常是:总体中两个变量之间存在线性关联(相关系数不为零)。
p-value表示:如果在总体中确实没有线性关联(H₀为真),那么在我们的样本中观察到当前(或更强)关联的概率。
-
如果 p-value 很小(通常小于我们预设的显著性水平 α,比如 0.05 或 0.01),这意味着在H₀为真的情况下,得到当前样本结果的概率非常低。因此,我们有理由
拒绝零假设,认为总体中两个变量之间
存在显著的线性关联。 -
如果 p-value 较大(大于 α),这意味着在H₀为真的情况下,得到当前样本结果是比较常见的。因此,我们
没有足够的证据拒绝零假设,不能断定总体中存在显著的线性关联。但这不等于证明没有关联,只是当前样本证据不足。
重要的解读组合:
- 高相关系数 (|r| 大) + 低 p-value:表明样本中存在强关联,且这种关联在统计上是显著的,很可能在总体中也存在。
- 低相关系数 (|r| 小) + 高 p-value:表明样本中关联很弱,且在统计上不显著。
- 高相关系数 (|r| 大) + 高 p-value:可能发生在样本量很小的情况下。样本中关联很强,但由于样本量太小,不足以证明这种关联在总体中是显著的。
- 低相关系数 (|r| 小) + 低 p-value:可能发生在样本量非常大的情况下。即使样本中的关联非常微弱 (|r| 接近 0),但由于样本量巨大,这一点微弱的关联也被统计检验认为是显著的。此时需要判断这个“统计显著”但“实际很弱”的关联是否有业务意义。
开始前的准备:“如何”整理数据?
在进行相关性分析之前,需要对数据进行适当的准备:
-
数据类型确认:相关性分析(特别是皮尔逊相关性)通常需要
数值型数据。确保您要分析的变量是定量数据(如销售额、温度、年龄、考试分数等)。分类数据(如性别、城市)需要进行适当的编码转换(如独热编码),但直接进行相关性分析可能不是最佳选择,需要考虑其他方法。 -
处理缺失值:大多数统计软件或库在计算相关性时,遇到缺失值会默认采取以下策略之一:
- 成对删除 (Pairwise Deletion):计算每一对变量的相关性时,只使用那对变量都有观测值的样本。这是默认策略,会使用尽可能多的数据,但可能导致不同变量对的相关性基于不同的样本集,需要谨慎。
- 列表删除 (Listwise Deletion):只要任何一个变量有缺失值,就将整个样本从分析中移除。简单但可能损失大量数据,尤其当缺失分散在不同变量中时。
- 缺失值填充 (Imputation):使用均值、中位数、回归预测或其他更复杂的方法来填充缺失值。填充方法会影响结果,需要慎重选择。
根据您的数据情况和分析目的,选择合适的缺失值处理方法。
- 选择变量:明确您要分析哪些变量之间的关系。不相关的变量不需要包含在分析中。
- 数据格式:确保数据以二维表格形式组织,通常是每一行代表一个观测,每一列代表一个变量。
“如何”选择分析方法?皮尔逊 vs 斯皮尔曼
虽然皮尔逊相关性最常用,但有时需要选择
斯皮尔曼秩相关系数(Spearman’s Rank Correlation Coefficient)或
肯德尔秩相关系数(Kendall’s Tau)。
皮尔逊相关性 (Pearson’s r)
-
适用条件:
- 数据近似呈正态分布(特别是在进行统计显著性检验时)。
- 变量之间存在线性关系。
- 数据是连续或等间隔的。
- 对异常值比较敏感。
-
衡量:衡量两个变量之间
线性关系的强度和方向。
斯皮尔曼秩相关性 (Spearman’s ρ)
-
适用条件:
- 不要求数据呈正态分布。
- 可以用于
有序分类数据或数值型数据。 - 衡量的是
单调关系(Monotonic Relationship),即一个变量增加时,另一个变量倾向于增加或减少,但不要求是严格线性的。 - 对异常值不那么敏感(因为它基于秩次而非原始值)。
-
衡量:通过将原始数据转换为秩次,然后计算秩次之间的皮尔逊相关系数。衡量两个变量之间
单调关系的强度和方向。
如何选择?
- 如果您的数据满足皮尔逊相关性的所有假设(特别是线性关系和近似正态分布),并且您关心的是严格的线性关联强度,使用皮尔逊相关性。
- 如果您的数据不正态分布,或者存在明显的异常值,或者您关心的是变量之间的单调趋势而非严格线性关系,那么斯皮尔曼秩相关性是更稳健的选择。斯皮尔曼相关性可以看作是更广义的相关性衡量,它包括了线性关系作为其特例。
- 肯德尔秩相关性与斯皮尔曼类似,也是基于秩次的非参数方法,在样本量较小或存在大量并列秩次时可能表现更优,但解读与斯皮尔曼类似。
通常,建议先通过散点图可视化检查变量间的关系类型(线性、单调非线性、非单调等),再结合数据分布选择合适的方法。
“怎么”进行具体的计算或操作?
进行相关性分析非常依赖于您使用的工具。以下是使用常见工具进行操作的概览:
使用电子表格软件(如Microsoft Excel, Google Sheets)
- 数据准备:将要分析的变量放在相邻的列中。
- 启用数据分析工具:在Excel中,您可能需要启用“数据分析”加载项(通常在“文件”->“选项”->“加载项”->“管理: Excel 加载项”->“转到”中勾选“分析工具库”)。
-
运行相关性分析:
- 转到“数据”选项卡。
- 点击“数据分析”。
- 在弹出的对话框中选择“相关系数”。
- 在“输入区域”中选择包含您要分析变量的数据区域。
- 选择“分组方式”(按列或按行,通常是按列)。
- 如果数据区域包含变量名,勾选“标志”。
- 选择输出范围或新工作表。
- 点击“确定”。
- 解读结果:软件会输出一个相关系数矩阵。这是一个对称矩阵,行和列都是您输入的变量名。对角线上的值是1(变量与自身完美相关)。矩阵中非对角线上的值就是对应两个变量之间的相关系数(默认通常是皮尔逊相关系数)。
注意:电子表格软件的基础相关性功能通常只提供相关系数,不直接提供 p-value,需要使用其他函数(如 CORREL 或 PEARSON 函数计算单个相关性,并结合 T.TEST 或自行计算 p-value)。更高级的功能或插件可能提供 p-value。
使用统计软件(如SPSS, SAS, R, Python)
专业统计软件或编程环境提供了更强大的相关性分析功能,包括多种方法(皮尔逊、斯皮尔曼等)和自动计算p-value。
以概念性步骤为例 (Python/R 或 SPSS 类软件)
- 加载数据:将您的数据导入到软件环境中(例如,从 CSV 文件读取)。
- 选择变量:指定哪些变量要进行相关性分析。
- 选择方法:明确指定要计算哪种类型的相关系数(Pearson, Spearman等)。在软件中通常是一个参数设置。
- 执行分析:调用软件中相应的相关性函数或菜单选项。例如,在 Python 的 pandas 库中,可以使用 `dataframe.corr(method=’pearson’)` 或 `dataframe.corr(method=’spearman’)`。在R中,可以使用 `cor()` 函数。在SPSS中,可以通过菜单进行操作。
-
获取结果:
- 通常会得到一个
相关系数矩阵。 - 同时,软件通常会提供一个
p-value矩阵,对应每个相关系数的显著性检验结果。
- 通常会得到一个
- 解读:结合相关系数和p-value矩阵进行解读,判断哪些变量之间存在统计上显著的关联以及关联的强度和方向。
相关系数矩阵的解读
无论使用哪种工具,输出的核心往往是相关系数矩阵。
- 矩阵的行和列标签是变量名。
- 矩阵在 (i, j) 位置的值是第 i 个变量和第 j 个变量之间的相关系数。
- 对角线上的值是 1,因为任何变量与自身的相关性都是完美的正相关。
- 矩阵是
对称的:(i, j) 位置的值等于 (j, i) 位置的值。通常只看对角线下方或上方的一半矩阵即可。 - 除了相关系数,如果软件提供了 p-value 矩阵,需要
对照查阅:找到某个相关系数后,去 p-value 矩阵中找到对应位置的值来判断其显著性。
“如何”可视化相关性?
可视化是理解相关性及其背后数据分布的重要手段。
散点图 (Scatter Plot)
-
用途:可视化
两个变量之间的关系。 - 绘制:将一个变量放在 X 轴,另一个变量放在 Y 轴,将每个观测点绘制成一个点。
-
解读:
- 观察点的密集程度和趋势可以直观反映关系的
方向(点从左下到右上聚集是正相关,从左上到右下聚集是负相关)。 - 点的分散程度反映关系的
强度(点越紧密地围绕一条直线,关系越强)。 - 可以直观检查关系是否
线性,是否存在
异常值,以及数据的
分布模式。
- 观察点的密集程度和趋势可以直观反映关系的
相关系数矩阵热力图 (Correlation Matrix Heatmap)
-
用途:可视化
多个变量之间的
两两相关性。 - 绘制:将相关系数矩阵表示为一个彩色方格图。矩阵中的每个单元格对应一对变量,单元格的颜色深度或色调代表相关系数的大小,颜色种类代表相关系数的方向(如蓝色表示正相关,红色表示负相关)。通常也会在方格中直接显示相关系数值。
-
解读:
- 可以一眼快速扫描出数据集中哪些变量对具有强关联(颜色最深/最亮),哪些变量对关联微弱(颜色接近中性)。
- 可以帮助快速识别高度相关的变量簇。
散点图适合详细考察特定两变量的关系细节和分布,而热力图适合快速概览多个变量之间的所有两两关系。在实际分析中,两者常常结合使用。
重要提醒与常见误区
相关不等于因果 (Correlation is NOT Causation)
这是相关性分析最重要的一个提醒。两个变量之间存在强相关,仅仅表示它们在数值上倾向于一起变化,但这并不能证明一个变量的变化
导致了另一个变量的变化。可能存在:
- A 导致 B
- B 导致 A
- 存在第三方变量 C 同时影响了 A 和 B
- 观察到的相关性完全是巧合
例如,“冰淇淋销量”与“溺水人数”可能呈正相关,但这显然不是因为吃冰淇淋导致溺水,而是因为两者都与第三方变量“气温”相关。
切记,相关性分析只能发现关联,不能确定因果关系。确定因果关系需要更高级的研究设计(如实验研究)或统计方法(如因果推断)。
异常值的影响
皮尔逊相关系数对异常值非常敏感。一个或几个极端值可能会显著改变相关系数的大小和方向。在计算皮尔逊相关性之前,最好先检查数据中是否存在异常值,并通过散点图进行可视化确认。如果存在明显异常值且使用皮尔逊相关性,需要评估其影响或考虑使用对异常值更鲁棒的斯皮尔曼相关性。
非线性关系
皮尔逊相关性主要衡量线性关系。如果变量之间存在强烈的非线性关系(如 U 型或倒 U 型),皮尔逊相关系数可能会接近于零,错误地提示没有关联。可视化(散点图)是发现非线性关系的关键。对于非线性关系,需要考虑其他衡量关联的方法或对变量进行变换。
样本量
样本量的大小影响相关系数的统计显著性。小样本中即使观察到较高的相关系数,其 p-value 也可能很大,难以达到统计显著。大样本中即使相关系数很小,也可能达到统计显著。因此,解读结果时要同时考虑相关系数的大小和 p-value,并结合实际业务意义。
总结
相关性分析是一个基础但强大的数据探索工具,可以帮助我们理解变量之间的线性(或单调)关联。掌握“怎么”进行相关性分析涉及选择合适的方法(皮尔逊 vs 斯皮尔曼)、正确地准备和清洗数据、使用适当的工具进行计算、以及最重要的是,能够正确地解读相关系数和p-value。同时,时刻牢记“相关不等于因果”,并注意异常值和非线性关系对结果的影响。通过这些步骤,您可以有效地利用相关性分析来深入理解您的数据。