Python - AI 助手

Python statistics.correlation() 函数



Python 的 statistics.correlation 函数用于确定两个给定输入的皮尔逊相关系数。此函数测量线性关系的强度和方向。相关系数是两个不同变量(即 x 和 y)之间线性关系强度的指标。

大于零的线性相关系数表示正相关;否则,此变量表示负相关。所得系数测量单调关系的强度。

输入必须具有相同的长度,并且不必是常数;否则,将引发 StatisticsError。接近零的值表示正在比较的两个变量之间的关系较弱。统计相关性的数学表示如下:

statistics Correlation representation

语法

以下是 statistics.Correlation 函数的基本语法。

statistics.Correlation(x, y, /, *, method = 'linear')

参数

此函数采用 x 和 y 参数来表示要确定的相关系数。

返回值

Correlation 函数返回给定输入的皮尔逊相关系数。

示例 1

现在我们使用 statistics.correlation() 函数确定两个给定 x 和 y 输入的皮尔逊相关系数。

import numpy as np
x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [5, 6, 7, 8, 9, 1, 2, 3, 4]
z = np.corrcoef(x, y)
print("The Pearson's coefficient inputs are:" ,z)

输出

结果如下所示:

The Pearson's coefficient inputs are: [[ 1.  -0.5]
 [-0.5  1. ]]
 

示例 2

在下面的示例中,我们使用 statistics.correlation 函数提供单个变量,则此函数返回 NaN(非数字)。

import numpy as np
import warnings
warnings.filterwarnings('ignore')
x = [2]
y = [4]
z = np.corrcoef(x, y)
print("The Pearson's coefficient inputs are:", z)

输出

输出如下所示:

The Pearson's coefficient inputs are: [[nan nan]
 [nan nan]]

示例 3

这里,我们使用 statistics.Correlation 函数计算给定数字之间的相关性。

import numpy as np
x = np.array([1, 2, 3, 4, 5, 6])
y = np.array([10, 20, 30, 40, 50, 60])

def Pearson_correlation(x, y):
    if len(x) == len(y):
        sum_xy = sum((x - x.mean()) * (y - y.mean()))
        sum_x_squared = sum((x - x.mean()) ** 2)
        sum_y_squared = sum((y - y.mean()) ** 2)
        corr = sum_xy / np.sqrt(sum_x_squared * sum_y_squared)
        return corr
    else:
        return "Arrays must be of the same length."
print(Pearson_correlation(x, y))
print(Pearson_correlation(x, x))

输出

我们将获得以下输出:

1.0
1.0
python_statistics_module.htm
广告