【问题标题】:implementing pearson's correlation coefficient for 3 variables in scipy.stats在 scipy.stats 中实现 3 个变量的 pearson 相关系数
【发布时间】:2021-07-06 00:24:00
【问题描述】:
为了了解变量之间的关联,我想实施 Pearson 相关系数检验。虽然我知道如何对 pandas 中的三个变量执行此操作,但我不知道如何在 scipy.stats 中执行此操作。因为我也想知道这些相关性的 P 值,所以 scipy.stats 是我最好的解决方案。谁能帮助我如何在 scipy 中为 3 个变量实现人的相关系数。
【问题讨论】:
标签:
python
pandas
scipy
statistics
correlation
【解决方案1】:
您可以使用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), # for <array_1, array_3>
(0.3453846068421791, 0.7754969404436115)] # for <array_2, array_3>