x=np.asarray([1,2,4,5,7,8,9])
y=np.asarray([2,1,3,6,4,7,9])
m,b=np.polyfit(x,y,1)
我有散点并试图通过numpy polyfit
进行线性拟合(y = m * x + b,b = 0)。有没有办法强制拦截b为0?我也可以有差异吗?
我用谷歌搜索,有人说np.linalg.lstsq
可能有用,但我不知道如何操纵它。我更喜欢np.polyfit
。可以吗?
答案 0 :(得分:1)
没有。 np.polyfit
没有删除低阶条款的方法。以下是np.linlg.lstsq
:
m = np.linalg.lstsq(x.reshape(-1,1), y)[0][0]
m
0.87916666666666654
与
相同np.mean(y/x)
0.98520408163265305
答案 1 :(得分:-1)
线性代数在这里可能有点过分:
m = np.mean(y/x)
对于未加权的相关性,这项工作是否正常。