<p>所以我可能误解了这个问题,但我只是尝试将一条直线拟合到散点图上,然后使用weights参数更改拟合以确定特定点的优先级。<br/>
我用<a href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html" rel="noreferrer">np.polyfit</a>和<a href="https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.polynomial.polynomial.polyfit.html" rel="noreferrer">np.polynomial.polynomial.polyfit</a>尝试过,我希望它们的行为都是一样的,因为它们都是最小化平方误差的(至少这是我的理解)。<br/>
然而,两者的配合却大不相同,见下文。不太清楚该怎么解释。在</p>
<h3>代码</h3>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
def func(p1, p2, x):
return p1 * x + p2
y = np.array([1.0, 3.3, 2.2, 4.25, 4.8, 5.1, 6.3, 7.5])
x = np.arange(y.shape[0])
plt.scatter(x, y)
w = np.ones(x.shape[0])
w[1] = 12
# p1, p2 = np.polyfit(x, y, 1, w=w)
p1, p2 = np.polynomial.polynomial.polyfit(x, y, 1, w=w)
print(p1, p2, w)
plt.plot(x, func(p1, p2, x))
plt.show()
</code></pre>
<h3>在np.polyfit公司</h3>
<p>无重量(或全部设置为1)</p>
<p><a href="https://i.stack.imgur.com/sIcYj.png" rel="noreferrer"><img src="https://i.stack.imgur.com/sIcYj.png" alt="No weights"/></a></p>
<p>当第二个点的权重设置为12时,所有其他权重均为1</p>
<p><a href="https://i.stack.imgur.com/9JnkV.png" rel="noreferrer"><img src="https://i.stack.imgur.com/9JnkV.png" alt="enter image description here"/></a></p>
<h3>在np.多项式.多项式.polyfit</h3>
<p>无重量<a href="https://i.stack.imgur.com/6FTv0.png" rel="noreferrer"><img src="https://i.stack.imgur.com/6FTv0.png" alt="enter image description here"/></a></p>
<p>当第二个点的权重设置为12时,所有其他权重均为1</p>
<p><a href="https://i.stack.imgur.com/0oZDv.png" rel="noreferrer"><img src="https://i.stack.imgur.com/0oZDv.png" alt="enter image description here"/></a></p>
<p>所以np.polyfit公司表现如我所料,但我真的不知道发生了什么事np.多项式.多项式.polyfit即使是没有任何重量的适合我也没有任何意义。<br/>
但我认为np.polyfit公司你想干什么?更改权重参数显然会为权重较高的点提供更多权重。在</p>