有没有办法在Python中找到r置信区间?
在R我可以做类似的事情:
cor.test(m, h)
Pearson's product-moment correlation
data: m and h
t = 0.8974, df = 4, p-value = 0.4202
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.6022868 0.9164582
sample estimates:
cor
0.4093729
Run Code Online (Sandbox Code Playgroud)
在Python中我可以使用以下公式计算r(cor):
r,p = scipy.stats.pearsonr(df.age, df.pets)
Run Code Online (Sandbox Code Playgroud)
但这不会返回r置信区间.
使用ppf函数from scipy.stat.norm,我得到一个单尾结果,例如,ppf(.95)发出1.644...而不是1.96...双尾分布应该得到.
scipy中是否有一个函数根据p值给出双尾z分数?
我有一个矩阵 M1 ,其中每一行都是一个与时间相关的信号。
我还有另一个相同维度的矩阵 M2,其每一行也是一个时间相关信号,用作“模板”,用于识别第一个矩阵中的信号形状。
我想要一个列向量 v,其中 v [i] 是 M1 第 i 行和 M2 第 i 行之间的相关性。
我研究了 numpy 的 corrcoef 函数并尝试了以下代码:
import numpy as np
M1 = np.array ([
[1, 2, 3, 4],
[2, 3, 1, 4]
])
M2 = np.array ([
[10, 20, 30, 40],
[20, 30, 10, 40]
])
print (np.corrcoef (M1, M2))
Run Code Online (Sandbox Code Playgroud)
打印:
[[ 1. 0.4 1. 0.4]
[ 0.4 1. 0.4 1. ]
[ 1. 0.4 1. 0.4]
[ 0.4 1. 0.4 1. ]] …Run Code Online (Sandbox Code Playgroud)