本文深入解析了Python Numpy库中的np.corrcoef()函数,通过实例展示了如何计算矩阵间的相关系数。文章首先导入numpy库,然后创建两个矩阵Array1和Array2,通过np.array()函数转换为Numpy数组。接着,使用np.corrcoef()函数计算并展示两个矩阵的相关系数矩阵,结果表明矩阵的对角线元素(自相关)为1,其他元素则表示不同行数据间的相关性。此教程适合希望提升数据处理能力的Python开发者。

核心内容提要:如何在Python中使用np.corrcoef()、Numpy相关系数计算示例、Python矩阵相关性分析、数据科学中的Numpy应用、数学计算中的Python Numpy库

numpy.corrcoef方法详解

numpy.corrcoef(x, y=无, rowvar=True, 偏差=<无值>, ddof=<无值>) 返回Pearson乘积矩相关系数。

cov 有关更多详细信息,请参阅文档。相关系数矩阵R和协方差矩阵C之间的关系是

[ R_{ij} = \frac{C_{ij}}{\sqrt{C_{ii} \cdot C_{jj}}} ]

R的值在-1和1之间,包括-1和1。

参数

  • x: array_like
    包含多个变量和观测值的1-D或2-D数组。x的每一行代表一个变量,每一列都是对所有这些变量的单一观察。另见下面的rowvar
  • y: array_like, 可选
    另外一组变量和观察。y具有与x相同的形状。
  • rowvar: bool, 可选
    如果rowvarTrue(默认值),则每行代表一个变量,并在列中显示。否则,转换关系:每列代表一个变量,而行包含观察。
  • 偏见: _NoValue, 可选
    没有效果,请勿使用。自1.10.0版开始不推荐使用。
  • ddof: _NoValue, 可选
    没有效果,请勿使用。自1.10.0版开始不推荐使用。

返回

  • R: ndarray
    变量的相关系数矩阵。

以下是文章的Markdown格式输出,包括文字和公式内容:

例子:

代码:

import numpy as np
Array1 = [[1, 2, 3], [4, 5, 6]]
Array2 = [[11, 25, 346], [734, 48, 49]]
Mat1 = np.array(Array1)
Mat2 = np.array(Array2)
correlation = np.corrcoef(Mat1, Mat2)
print("矩阵1=\n", Mat1)
print("矩阵2=\n", Mat2)
print("相关系数矩阵=\n", correlation)

结果:

矩阵1=
 [[1 2 3]
 [4 5 6]]
矩阵2=
 [[ 11  25 346]
 [734  48  49]]
相关系数矩阵=
 [[ 1.          1.          0.88390399 -0.86539304]
 [ 1.          1.          0.88390399 -0.86539304]
 [ 0.88390399  0.88390399  1.         -0.53057867]
 [-0.86539304 -0.86539304 -0.53057867  1.        ]]
Process finished with exit code 0

可以看出函数的返回值还是一个矩阵,结果矩阵的行数结果矩阵的列数==矩阵1的行数矩阵2的行数。

令:

0=[1 2 3] 1=[4 5 6] 2=[11 25 346] 3=[734 48 49]

矩阵中值的意义:

0列 1列 2列 3列

0行 0 0 相关性 0 1 相关性 0 2 相关性 0 3 相关性

1行 1 0 相关性 1 1 相关性 1 2 相关性 1 3 相关性

2行 2 0 相关性 2 1 相关性 2 2 相关性 2 3 相关性

3行 3 0 相关性 3 1 相关性 3 2 相关性 3 3 相关性

自己和自己的相关性最大,值为1,所以对角线的值全为1。

矩阵A = 矩阵A

矩阵B = 矩阵B

A[i]A[j] 表示矩阵A第i行数据与矩阵A第j行数据间的相关性;
A[i]B[j] 表示矩阵A第i行数据与矩阵B第j行数据间的相关性;
B[i]A[j] 表示矩阵B第i行数据与矩阵A第j行数据间的相关性;
B[i]B[j] 表示矩阵B第i行数据与矩阵B第j行数据间的相关性;
A[i]A[i] == B[i]B[i] == 1 自己和自己的相关性为1

nd.corrcoef(A, B) = nd.corrcoef(A, B)

标签: 数据分析, Python, Numpy, 矩阵, 数值计算

添加新评论