python中的numpy函数算相关系数_Pearson使用scipy.stats.pearsonr与python 3.5中的numpy.corrcoeff对比来自两个2D数组的所有行对之间的相关系数...

我试图计算两个2D阵列中每对行之间的Pearson相关系数 . 然后,基于对角线元素对相关矩阵的行/列进行排序 . 首先,在以下代码中从一个随机矩阵(即'randmtx')计算相关系数矩阵(即'ccmtx'):

import numpy as np

import matplotlib.pyplot as plt

from scipy.stats import pearsonr

def correlation_map(x, y):

n_row_x = x.shape[0]

n_row_y = x.shape[0]

ccmtx_xy = np.empty((n_row_x, n_row_y))

for n in range(n_row_x):

for m in range(n_row_y):

ccmtx_xy[n, m] = pearsonr(x[n, :], y[m, :])[0]

return ccmtx_xy

randmtx = np.random.randn(100, 1000) # generating random matrix

#ccmtx = np.corrcoef(randmtx, randmtx) # cc matrix based on numpy.corrcoef

ccmtx = correlation_map(randmtx, randmtx) # cc matrix based on scipy pearsonr

#

ccmtx_diag = np.diagonal(ccmtx)

#

ids, vals = np.argsort(ccmtx_diag, kind = 'mergesort'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是 Python 示例实现三种相关系数计算方法: 首先,我们需要导入 `numpy` 和 `scipy` 两个库: ```python import numpy as np from scipy import stats ``` 然后,我们需要准备一些数据用于计算相关系数。这里我们使用 `numpy` 生成一些随机数据: ```python # 生成两个随机变量 x = np.random.rand(100) y = np.random.rand(100) ``` 接下来,我们可以使用 `pearsonr` 函数计算 Pearson 相关系数: ```python # 计算 Pearson 相关系数及其 p-value r, p = stats.pearsonr(x, y) # 输出结果 print("Pearson 相关系数:", r) print("p-value:", p) ``` 要计算 Spearman 相关系数,我们可以使用 `spearmanr` 函数: ```python # 计算 Spearman 相关系数及其 p-value rho, p = stats.spearmanr(x, y) # 输出结果 print("Spearman 相关系数:", rho) print("p-value:", p) ``` 最后,要计算 Kendall 相关系数,我们可以使用 `kendalltau` 函数: ```python # 计算 Kendall 相关系数及其 p-value tau, p = stats.kendalltau(x, y) # 输出结果 print("Kendall 相关系数:", tau) print("p-value:", p) ``` 以上就是三种相关系数Python 示例实现。需要注意的是,这些函数的输入参数都是一维数组,因此需要将多维数据展开为一维数组后再进计算。同时,需要注意相关系数的 p-value 值,它表示了相关系数是否具有统计学意义。如果 p-value 值小于某个显著性水平(通常取 0.05),则可以认为相关系数具有统计学意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值