python多变量相关p值
时间: 2023-09-11 17:10:10 浏览: 131
要计算多个变量之间的相关性,可以使用皮尔逊相关系数。在 Python 中,可以使用 `scipy.stats` 模块中的 `pearsonr` 函数来计算两个变量之间的相关系数及其对应的 p 值。如果要计算多个变量之间的相关性,可以使用 pandas 库中的 `corr` 函数,该函数可以计算多个变量之间的相关系数矩阵。对于相关系数矩阵,可以使用 `numpy` 中的 `corrcoef` 函数来计算对应的 p 值。具体实现可以参考以下代码:
```python
import pandas as pd
import numpy as np
from scipy.stats import pearsonr
# 创建数据集
data = {'var1': [1, 2, 3, 4, 5],
'var2': [2, 4, 6, 8, 10],
'var3': [3, 6, 9, 12, 15]}
df = pd.DataFrame(data)
# 计算相关系数矩阵
corr_matrix = df.corr()
# 计算对应的 p 值
p_values = np.zeros_like(corr_matrix)
for i in range(corr_matrix.shape[0]):
for j in range(i+1, corr_matrix.shape[1]):
corr, p = pearsonr(df.iloc[:, i], df.iloc[:, j])
p_values[i, j] = p
p_values[j, i] = p
print(corr_matrix)
print(p_values)
```
输出结果为:
```
var1 var2 var3
var1 1.000000 1.000000 1.000000
var2 1.000000 1.000000 1.000000
var3 1.000000 1.000000 1.000000
[[0. 0. 0. ]
[0. 0. 0. ]
[0. 0. 0. ]]
```
由于数据集中的变量之间完全相关,因此相关系数为 1,对应的 p 值为 0。
阅读全文
相关推荐
















