皮尔逊相关性计算C++
时间: 2023-07-04 09:19:27 浏览: 194
皮尔逊相关性是一种常用的统计量,用于衡量两个变量之间的线性相关程度。在C++中,可以使用Eigen库来计算皮尔逊相关性。以下是一个简单的例子:
```c++
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
int main()
{
// 创建两个向量
VectorXd x(5);
x << 1, 2, 3, 4, 5;
VectorXd y(5);
y << 2, 4, 6, 8, 10;
// 计算均值和标准差
double x_mean = x.mean();
double y_mean = y.mean();
double x_std = sqrt((x.array() - x_mean).square().sum() / (x.size() - 1));
double y_std = sqrt((y.array() - y_mean).square().sum() / (y.size() - 1));
// 计算皮尔逊相关性
double correlation = ((x.array() - x_mean) / x_std).matrix().dot((y.array() - y_mean) / y_std) / (x.size() - 1);
std::cout << "Pearson correlation: " << correlation << std::endl;
return 0;
}
```
在上面的代码中,我们首先创建了两个向量x和y,然后计算了它们的均值和标准差。最后,我们使用向量化的方法计算了它们的皮尔逊相关性。需要注意的是,在计算皮尔逊相关性时,需要将向量标准化,以便消除量纲的影响。
以上是一个简单的计算皮尔逊相关性的例子,您可以根据实际需求进行修改和扩展。
阅读全文