Pearson相关系数计算代码
时间: 2024-03-26 22:36:07 浏览: 48
下面是Python代码实现Pearson相关系数的计算:
```python
import numpy as np
def pearson_correlation(x, y):
"""
计算两个向量x和y之间的Pearson相关系数
"""
# 计算均值
mean_x = np.mean(x)
mean_y = np.mean(y)
# 计算标准差
std_x = np.std(x, ddof=1)
std_y = np.std(y, ddof=1)
# 计算协方差
cov_xy = np.cov(x, y, ddof=1)[0][1]
# 计算Pearson相关系数
r = cov_xy / (std_x * std_y)
return r
```
其中,x和y是两个一维数组,ddof参数表示自由度的修正值,一般取1。
相关问题
Pearson 相关系数 matlab代码
以下是使用MATLAB计算Pearson相关系数的示例代码:
```matlab
% 创建两个随机向量x和y
x = randn(1, 100);
y = randn(1, 100);
% 计算Pearson相关系数
r = corrcoef(x, y);
r = r(1, 2); % 提取系数值
% 显示结果
disp(['Pearson相关系数为:', num2str(r)]);
```
在上面的代码中,我们首先创建了两个具有100个随机值的向量x和y。接着,我们使用`corrcoef`函数计算这两个向量的Pearson相关系数。最后,我们提取系数矩阵的元素`r(1, 2)`,即相关系数的值。最后,我们使用`disp`函数显示结果。
请注意,相关系数的值范围在-1到1之间,其中-1表示完全负相关,0表示没有相关性,1表示完全正相关。
计算方差贡献率、平均周期和Pearson相关系数的代码
计算方差贡献率可以使用PCA(主成分分析)算法,代码如下:
```python
from sklearn.decomposition import PCA
import numpy as np
# 生成示例数据
X = np.random.rand(100, 5)
# 计算PCA
pca = PCA(n_components=5)
pca.fit(X)
# 输出各主成分所解释的方差占比
print(pca.explained_variance_ratio_)
```
计算平均周期可以使用以下代码:
```python
# 假设一个时间序列为:
time_series = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 计算平均周期
periods = []
for i in range(1, len(time_series)):
if time_series[i] == time_series[0]:
periods.append(i)
avg_period = sum(periods) / len(periods)
print(avg_period)
```
计算Pearson相关系数可以使用以下代码:
```python
# 假设有两个变量x和y
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 计算Pearson相关系数
corr = np.corrcoef(x, y)[0, 1]
print(corr)
```
阅读全文