我正在编写一个代码,可以让我获得一些度量的线性回归。我使用了不同的代码,但所有这些代码都得到了奇怪的结果。我得到的线不是具有恒定斜率的线,而是首先是水平的,并且在倒数第二点和最后一点之间斜率减小。我正在使用的代码是:
import matplotlib.pyplot as plt
import numpy as np
x0=[0.00000001,0.000001,0.0001,0.01]
y0=[0.9974209723854539,0.9945196648709005,0.9914759279447916,0.9852556749265332]
x=np.array(x0)
y=np.array(y0)
m,b=np.polyfit(x,y,1)
print(m,b)
plt.scatter(x,y)
plt.plot(x,m*x+b,color='green')
plt.xscale('log')
d=['linear fit '+str(round(m,4))+'*x+'+str(round(b,4)),'real measure']
plt.legend(d,loc="upper right",borderaxespad=0.1,title="")
我得到下图: Phyton plot
这与我应该得到的非常不同,我已经能够在 Origin: Origin plot
我尝试了各种线性拟合方法,但所有这些方法都得到了这种错误的形式。希望你能帮我找出错误。非常感谢。