我非常喜欢堆栈溢出,我确信我的问题会在这里得到回答。我用Scipy做线性回归。但在一组特定的输入下,我得不到正确的输出。(Python2.5,SciPy 0.10.1Windows7 32位)

from scipy.stats import linregress
from numpy import arange
x = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,1,2,0,0,2]
y = arange(1,36)
s,i,r,p,st = linregress(x,y)

这里s的值是9.241573,但是Excel报告的斜率是0.026。
我遗漏了什么吗?救命啊。

最佳答案

你的论点似乎有错:

s,i,r,p,st = linregress(y,x)

给出s = 0.026330532212885151。Excel和Scipy的参数顺序相反。

10-08 08:06