寻找相关系数的程序

相关系数 是一种统计度量,帮助我们确定两个变量之间关系的强度和方向。它量化了一个变量的变化如何对应于另一个变量的变化。这个系数有时被称为 互相关系数,其值总是介于 -1 和 +1 之间:

  • -1:强负相关(当一个变量增加时,另一个减少)。
  • 0:无相关性(变量之间没有关系)。
  • +1:强正相关(两个变量同时增加或减少)。

相关系数公式

相关系数r)使用以下公式计算:

> r=\frac{n\left(\sum x y\right)-\left(\sum x\right)\left(\sum y\right)}{\sqrt{\left[n \sum x^{2}-\left(\sum x\right)^{2}\right]\left[n \Sigma y^{2}-\left(\sum y\right)^{2}\right]}}

其中:

  • n = 数据点的数量
  • x, y = 两个变量的数据值
  • Σxy = 对应的 x 和 y 值的乘积之和
  • Σx², Σy² = x 和 y 值的平方和

计算示例

让我们为给定的数据集计算相关系数:

X

Y

15

25

18

25

21

27

24

31

27

32

ΣX = 105

ΣY = 140附加计算:

X × Y

Y² —

— 375

225

625 450

324

625 567

441

729 744

576

961 864

729

1024 Σ(X × Y) = 3000

ΣX² = 2295

ΣY² = 3964

现在,应用公式:

  • r = \frac{(5 \times 3000 – 105 \times 140)}{\sqrt{(5 \times 2295 – 105^2) \times (5 \times 3964 – 140^2)}}
  • r = \frac{300}{\sqrt{450 \times 220}}
  • r = 0.953463

输入与输出示例

#### 示例 1

> 输入:

> X = {43, 21, 25, 42, 57, 59}

> Y = {99, 65, 79, 75, 87, 81}

>

> 输出:

> r = 0.529809

#### 示例 2

> 输入:

> X = {15, 18, 21, 24, 27}

> Y = {25, 25, 27, 31, 32}

>

> 输出:

> r = 0.953463

Python 中计算相关系数的程序

让我们来看看如何在几种流行的编程语言中实现这个算法。

C++


CODEBLOCK_761b2774

Java


// JAVA 程序:寻找相关系数

import java.math.*;

class GFG {

// 返回相关系数的函数。

static float correlationCoefficient(int X[],

int Y[], int n)

{

int sumX = 0, sumY = 0, sum_XY = 0;

int squareSumX = 0, squareSumY = 0;

for (int i = 0; i < n; i++)

{

// 数组 X 的元素之和。

sumX = sumX + X[i];

// 数组 Y 的元素之和。

sumY = sumY + Y[i];

// X[i] * Y[i] 之和。

sumXY = sumXY + X[i] * Y[i];

// 数组元素的平方和。

squareSumX = squareSumX + X[i] * X[i];

squareSumY = squareSumY + Y[i] * Y[i];

}

// 使用公式计算相关

// 系数。

float corr = (float)(n sumXY – sumX sum_Y)/

(float)(Math.sqrt((n * squareSum_X –

sumX sumX) (n * squareSum_Y –

sumY * sumY)));

return corr;

}

// 驱动函数

public static void main(String args[])

{

int X[] = {15, 18, 21, 24, 27};

int Y[] = {25, 25, 27, 31, 32};

// 找出数组的大小。

int n = X.length;

// 调用 correlationCoefficient 函数。

System.out.printf("%6f",

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/43602.html
点赞
0.00 平均评分 (0% 分数) - 0