皮尔逊相关系数如何计算
时间: 2023-11-27 07:32:51 浏览: 40
皮尔逊相关系数是用于衡量两个变量之间线性相关程度的统计量,通常用符号 r 表示。其计算公式为:
r = (Σ(x - x̄)(y - ȳ)) / [(Σ(x - x̄)²(Σ(y - ȳ)²)]^(1/2)
其中,x 和 y 是两个变量的观测值,x̄ 和 ȳ 分别是两个变量的平均观测值。
具体计算步骤如下:
1. 计算 x 和 y 的平均观测值 x̄ 和 ȳ。
2. 对每个观测值进行标准化处理,即将每个观测值减去对应变量的平均观测值,得到新的变量 z1 和 z2。
3. 计算 z1 和 z2 的乘积之和 Σ(z1 * z2)。
4. 计算 z1 的平方和 Σ(z1²) 和 z2 的平方和 Σ(z2²)。
5. 将步骤 3 中的结果除以 [(Σ(z1²) * Σ(z2²))]^(1/2),即可得到皮尔逊相关系数 r。
皮尔逊相关系数的取值范围为 -1 到 1,其中 -1 表示完全负相关,0 表示无相关,1 表示完全正相关。
相关问题
皮尔逊相关系数计算公式
皮尔逊相关系数计算公式是通过对两个变量的协方差除以各自的标准差,从而消除了单位和数值量级的影响。具体公式如下所示:
r = Cov(X, Y) / (σX * σY)
其中,r代表皮尔逊相关系数,Cov(X, Y)代表X和Y的协方差,σX代表X的标准差,σY代表Y的标准差。这个公式可以用来度量两个变量之间的线性关系,其取值范围在-1到1之间,0表示无线性关系,正值表示正相关,负值表示负相关。请注意,皮尔逊相关系数只能度量线性关系,不能度量其他非线性关系。
matlab 皮尔逊相关系数计算代码
下面是 Matlab 中计算两个向量的皮尔逊相关系数的代码:
```matlab
function r = pearson_corr(x, y)
% 计算两个向量 x 和 y 的皮尔逊相关系数
n = length(x); % 向量长度
mean_x = mean(x); % 求 x 的平均值
mean_y = mean(y); % 求 y 的平均值
std_x = std(x); % 求 x 的标准差
std_y = std(y); % 求 y 的标准差
% 计算皮尔逊相关系数
r = sum((x-mean_x).*(y-mean_y)) / (std_x*std_y*(n-1));
end
```
使用方法:将两个向量作为参数传入函数 `pearson_corr(x, y)` 即可计算它们的皮尔逊相关系数。例如:
```matlab
x = [1, 2, 3, 4, 5];
y = [2, 3, 4, 5, 6];
r = pearson_corr(x, y);
disp(r);
```
输出结果为:`1.0000`,即两个向量完全正相关。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)