2次多项式回归的最佳拟合线

时间:2014-04-07 14:29:02

标签: numpy matplotlib

我正在尝试使用numpy中的polyfit函数在2度x和y之间创建最佳拟合线。

fit = polyfit(x, y, 2)
fit_fn = poly1d(fit)

plot(x, y, 'k.', x, fit_fn(x), '--r', linewidth=1)
plt.xlabel("x")
plt.ylabel("y")

我有点困惑为什么最合适的线条如此厚实而不是简单的线条。 你在代码中做错了吗?

fit with fat line

1 个答案:

答案 0 :(得分:7)

问题是您的x未排序。试试

plot(x, y, 'k.', sort(x), fit_fn(sort(x)), '--r', linewidth=1)

(x_0, fit_fn(x_0))(x_1, fit_fn(x_1))的情节“连接点”。如果您的x没有排序,则该线在整个地方呈锯齿状,使其看起来很厚。