我有一个奇怪的情况, scipy.stats.linregress 似乎返回了一个不正确的标准错误:
from scipy import stats
x = [5.05, 6.75, 3.21, 2.66]
y = [1.65, 26.5, -5.93, 7.96]
gradient, intercept, r_value, p_value, std_err = stats.linregress(x,y)
>>> gradient
5.3935773611970186
>>> intercept
-16.281127993087829
>>> r_value
0.72443514211849758
>>> r_value**2
0.52480627513624778
>>> std_err
3.6290901222878866
而 Excel 返回以下内容:
slope: 5.394
intercept: -16.281
rsq: 0.525
steyX: 11.696
steyX 是 excel 的标准误差函数,返回 11.696 而 scipy 的 3.63。有人知道这里发生了什么吗?在不使用 Rpy的情况下,是否有任何替代方法可以在 python 中获得回归的标准错误?