You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Spearman相关性生成Pandas数据框的偏相关矩阵?

用Spearman相关性生成偏相关矩阵的方法

要生成消除其他列影响的Spearman偏相关矩阵,核心逻辑是Spearman相关等价于变量秩的Pearson相关,因此可以通过先对变量做秩变换,再计算Pearson偏相关的方式实现需求。

完整实现代码

# 安装依赖(未安装时执行)
# !pip install pingouin pandas

import pandas as pd
import pingouin as pg

# 加载示例数据
df = pg.read_dataset('partial_corr')

# 对所有列做秩变换(采用average方法处理平局值,匹配Spearman默认规则)
rank_df = df.rank(method='average')

# 对秩变换后的数据集计算偏相关,结果即为Spearman偏相关矩阵
spearman_pcorr = rank_df.pcorr().round(3)

print(spearman_pcorr)

结果说明

运行代码后会输出和df.pcorr()结构完全一致的矩阵,其中的数值是基于Spearman相关性计算的偏相关系数,已自动消除其他列的协方差影响。

内容的提问来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 01:20:32