python中的最小二乘法

Igo*_*kić 5 python math numpy scipy least-squares

我有两个数据列表,一个是x值,另一个是y值.我怎样才能找到最合适的?我试过搞乱,scipy.optimize.leastsq但我似乎无法做到正确.

任何帮助是极大的赞赏

jab*_*edo 12

我认为使用它会更简单numpy.polyfit,它执行最小二乘多项式拟合.这是一个简单的片段:

import numpy as np

x = np.array([0,1,2,3,4,5])
y = np.array([2.1, 2.9, 4.15, 4.98, 5.5, 6])

z = np.polyfit(x, y, 1)
p = np.poly1d(z)

#plotting
import matplotlib.pyplot as plt
xp = np.linspace(-1, 6, 100)
plt.plot(x, y, '.', xp, p(xp))
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述