C++ 中的皮尔逊相关系数

2025年5月10日 | 阅读 4 分钟

C++ 程序使用用户提供的包含两个浮点值(表示变量 XY)的向量作为输入来计算皮尔逊相关系数。

皮尔逊相关系数用于衡量两个变量之间的线性关系。它通常取值介于 -1 和 1 之间,用符号 r 表示。

  • r = 1 表示完美的正线性关系,
  • r = −1 表示完美的负线性关系,
  • r = 0 表示没有线性关系。

在 C++ 中实现皮尔逊相关系数的步骤

  • 有必要找到两个变量的均值。
  • 找出两个变量之间的协方差表示了多少。
  • 分别计算两个变量的标准差。
  • 使用以下公式查找相关系数。

示例 1

让我们举一个例子来说明 C++ 中的皮尔逊相关系数。

输出

Pearson Correlation Coefficient: 1

示例 2

让我们再举一个例子来说明 C++ 中的皮尔逊相关系数。

输出

Enter the number of elements in the arrays: 5
Enter the elements of the first array:
1 2 5 6 8
Enter the elements of the second array:
12 232 45 61 76 
Pearson Correlation Coefficient: -0.202537
===============================================================
Enter the number of elements in the arrays: 5
Enter the elements of the first array:
1 2 5 6 8
Enter the elements of the second array:
12 23 45 61 76
Pearson Correlation Coefficient: 0.995226

结论

总之,皮尔逊相关系数有助于量化两个变量之间线性关系的强度和方向。计算过程涉及查找数据点、它们的平方和它们的乘积的总和,如所提供的 C++ 代码所示。值得注意的是,使用皮尔逊相关系数的有效性基于几个假设,例如变量之间的线性、数据不包含异常值的数值性质。此代码实现中不存在错误处理机制,例如除以零或无效输入大小,这些可能导致运行时问题;但是,尽管存在这些限制,此代码仍传授了如何使用 C++ 计算相关系数的基本知识。改进措施将涉及包含更强大的错误检查和验证功能,以使其在实际场景中更可靠。