3分钟学会相关性分析

在数据分析中,相关性分析是一个非常重要的工具,它可以帮助我们理解不同变量之间的关系。本文将通过一个简单的例子,展示如何进行相关性分析,并生成相关系数表和热力图。

数据准备

本文将使用 Python 实现相关性分析,并生成上述三种图表。数据存储在路径 C:\Users\bai\Downloads\相关性分析.xlsx 中,文件包含两列数据:身高,体重,具体数据如下:

身高体重
17673
16467
16065
16869
16266
17373.5
17876
18378.5

使用Python进行相关性分析


我们可以使用Python中的Pandas库来读取数据,并使用Matplotlib和Seaborn库来绘制图表。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 支持中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
# 用来正常显示负号
plt.rcParams['axes.unicode_minus'] = False
# 读取数据
data = pd.read_excel(r'C:\Users\Administrator\Downloads\相关性分析.xlsx')
# 计算相关系数矩阵和 p 值矩阵
columns = data.columns
correlation_matrix = pd.DataFrame(index=columns, columns=columns)  # 相关系数矩阵
p_value_matrix = pd.DataFrame(index=columns, columns=columns)      # p 值矩阵

for i in range(len(columns)):
    for j in range(len(columns)):
        corr, p_value = pearsonr(data[columns[i]], data[columns[j]])
        correlation_matrix.iloc[i, j] = corr
        p_value_matrix.iloc[i, j] = p_value

# 将矩阵中的值转换为浮点数并保留 3 位小数
correlation_matrix = correlation_matrix.astype(float).round(3)
p_value_matrix = p_value_matrix.astype(float).round(3)

# 打印相关系数矩阵和 p 值矩阵
print("相关系数矩阵:")
print(correlation_matrix)

print("\np 值矩阵:")
print(p_value_matrix)

# 绘制相关系数热力图
plt.figure(figsize=(10, 8))
sns.heatmap(correlation_matrix.astype(float), annot=True, cmap='coolwarm', cbar=True)
plt.title('相关系数热力图')
plt.show()

输出结果如下:

 上输出结果展示了模型检验的参数结果表,包括了相关系数、显著性 P 值。P 值呈现显著性(0.000<p<0.01),说明两变量之间存在相关性。

上图展示了热力图的形式展示了相关系数的值,越接近1,相关性越强。

注意事项

  • Pearson 相关系数适用于定量数据,且要求数据满足正态分布、Spearman 相关系数是数据不满足正态分布时使用,也可用于分析有序定类变量,Kendall's tau -b 相关系数用于分析有序定类变量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值