微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 scipy.stats 中实现 3 个变量的皮尔逊相关系数

如何解决在 scipy.stats 中实现 3 个变量的皮尔逊相关系数

为了了解变量之间的关联,我想实施 Pearson 相关系数检验。虽然我知道如何在 Pandas 中为三个变量做这件事,但我不知道如何在 scipy.stats 中做到这一点。由于我也想知道这些相关性的 P 值,所以 scipy.stats 是我最好的解决方案。任何人都可以帮助我如何在 scipy 中实现 3 个变量的人员相关系数。

解决方法

您可以使用 itertools.combinations 生成 3 对来计算以下各项的相关性:

from itertools import combinations
import scipy.stats

list_of_vars = [array_1,array_2,array_3]
results = [scipy.stats.pearsonr(*pair) for pair in combinations(list_of_vars,2)]

results 将是 (r,p_value) 的 2 元组列表,例如:

[(0.3488605505012684,0.7731373652607254),# for <array_1,array_2>
 (-0.7590110031075414,0.45136569429566353),array_3>
 (0.3453846068421791,0.7754969404436115)]      # for <array_2,array_3>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。