- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么要 numpy.polyfit
和 numpy.polynomial.polynomial.polyfit
在下面的测试中产生不同的图?
import numpy as np
from numpy.polynomial.polynomial import polyfit
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 50)
y = 5 * x + 10 + (np.random.random(len(x)) - 0.5) * 5
plt.scatter(x, y,marker='.', label='Data for regression')
plt.plot(np.unique(x), np.poly1d(np.polyfit(x, y, 1))(np.unique(x)),
label='numpy.polyfit')
plt.plot(np.unique(x), np.poly1d(polyfit(x, y, 1))(np.unique(x)),
label='polynomial.polyfit')
plt.legend()
plt.show()
最佳答案
乍一看,文档似乎表明它们应该给出相同的结果 -
numpy.polyfit(x, y, deg, rcond=None, full=False, w=None, cov=False)
Least squares polynomial fit.
Fit a polynomialp(x) = p[0] * x**deg + ... + p[deg]
of degree deg to points (x, y). Returns a vector of coefficients p that minimises the squared error in the order deg, deg-1, … 0.
numpy.polynomial.polynomial.polyfit(x, y, deg, rcond=None, full=False, w=None)
Least-squares fit of a polynomial to data.
Return the coefficients of a polynomial of degree deg that is the least squares fit to the data values y given at points x. If y is 1-D the returned coefficients will also be 1-D. If y is 2-D multiple fits are done, one for each column of y, and the resulting coefficients are stored in the corresponding columns of a 2-D return. The fitted polynomial(s) are in the form
p(x) = c0 + c1 * x + ... + cn * xn
numpy.polyfit
根据生成方程,按度数降序返回系数numpy.polynomial.polynomial.polyfit
根据生成方程,按度数升序返回系数ndarray
中并不相同。表示。在文档中使用不同的符号可能会混淆这一点。为了演示,请考虑以下内容
import numpy as np
x = np.linspace(0, 10, 50)
y = x**2 + 5 * x + 10
print(np.polyfit(x, y, 2))
print(np.polynomial.polynomial.polyfit(x, y, 2))
[ 1. 5. 10.]
[10. 5. 1.]
np.poly1d()
预计,
print(np.poly1d(np.polyfit(x, y, 2)))
print(np.poly1d(np.polynomial.polynomial.polyfit(x, y, 2)))
2
1 x + 5 x + 10
2
10 x + 5 x + 1
np.polynomial.polynomial.Polynomial()
构造函数期望。,
print(np.polynomial.polynomial.Polynomial(np.polynomial.polynomial.polyfit(x, y, 2)))
print(np.polynomial.polynomial.Polynomial(np.polyfit(x, y, 2)))
poly([10. 5. 1.]) # 10 + 5 * x + 1 * x**2
poly([ 1. 5. 10.]) # 1 + 5 * x + 10 * x**2
np.polynomial.polynomial.polyfit
的结果在将其传递给
poly1d()
之前或使用
np.polynomial.polynomial.Polynomial
将产生预期的结果:
关于python - numpy.polyfit vs numpy.polynomial.polynomial.polyfit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59004096/
这个问题在这里已经有了答案: Relationship between SciPy and NumPy (8 个答案) 关闭 6 年前。 我开始知道 numpy 和 scipy 都有 polyfit
为什么要 numpy.polyfit 和 numpy.polynomial.polynomial.polyfit 在下面的测试中产生不同的图? import numpy as np from nump
有没有办法计算两个变量的多项式模型的参数。它们是独立的,因此: z = a + bx + cx^2 + dy + ey^2 有人告诉我,您可以为此使用 numpy.polyfit,但它只能支持两个变量
有什么区别 https://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html 和 https://docs.scipy.o
我使用了 numpy 的 polyfit 并获得了两个数组 x 和 y 的非常好的拟合(使用 7 阶多项式)。我的关系是这样的; y(x) = p[0]* x^7 + p[1]*x^6 + p[2]*
我正在尝试将二次方程拟合到一些实验数据并在 numpy 中使用 polyfit。我希望得到一条凹曲线,因此要确保二次项的系数为负,并且拟合本身也是加权的,因为点上有一些权重。有没有简单的方法来做到这一
我有一个对象以抛物线模式抛出的信息。从开始位置到结束位置以特定间隔总共拍摄了 30 张图像。 现在我已经设法提取了在所有 30 个图像中抛出的对象的 x,y 坐标...... 我认为使用 polyfi
我正在模拟三体问题并绘制 3D 轨迹图。我试图弄清楚如何通过使用 np.polyfit 扩展绘图线来预测这些行星的轨迹。我有使用数据框和 2D 图执行此操作的经验,但没有在 3D 中且不使用任何类型的
我正在尝试使用np.polyfit,但我不断收到错误: TypeError: polyfit() got an unexpected keyword argument 'w' documentatio
我有一个包含 20 列的数据框。我希望创建散点图,每个散点图都有一条最合适的线。 x 列将保持不变,我想使用 for 循环遍历数据框中的每个其他列。结果将是 19 个散点图。 我当前的设置看起来像这样
当用一条直线拟合一组数据并用误差加权时,我期望 polyfit 返回一个 2x2 协方差矩阵,我可以从中对对角线元素求平方根以找到系数中的不确定性,但我没有. 这是一个最小的工作示例: from nu
我找不到调整数据的曲线(列出“chi”和“m”)。我使用 polyfit 生成曲线,但它不足以捕捉点的行为。 前面的代码有一个图表,显示了数据和调整之间的差异。 import matplotlib.p
我想向量化以下函数 def nppolyfit(pnp_array, **kwargs): """ Moving polyfit """ win_size = kwargs['length
我浏览了文档,但无法正确解释 在我的代码中,我想找到一条通过 2 个点 (x1,y1), (x2,y2) 的直线,所以我使用了 np.polyfit((x1,x2),(y1,y2),1)因为它是一个
在用numpy的polyfit创建一条best fit时,可以指定参数full为True。除了系数之外,这会返回 4 个额外的值。这些值是什么意思,它们告诉我函数与我的数据的拟合程度如何? https
我有一些数据,我希望对其进行建模,以便能够在与数据相同的范围内获得相对准确的值。 为此,我使用 polyfit 来拟合 6 阶多项式,由于我的 x 轴值,它建议我将其居中并缩放以获得更准确的拟合。 但
这只是一个基本问题。我正在使用 polyfit 拟合线以散点。在某些情况下,我的散点具有相同的 X 值,而 polyfit 无法为其拟合一条线。必须有一些东西可以处理这种情况。毕竟,它只是一个线条配合
我正在尝试适应这些值: 这是我的代码: for i in range(-area,area): stDev1= [] for j in range(-area,area):
关于此:polynomial equation parameters我得到平方函数的 3 个参数 y = a*x² + b*x + c 现在我只想得到描述我的平方函数的 first 参数函数 y =
Polyfit 是一个很好的工具,可以将一条线拟合到一组点上。然而,我的数据具有不同程度的统计显着性。 例如,对于一个点 (x1,y2) 我可能只有 10 个观测值,而对于另一个点 (x2,y2) 我
我是一名优秀的程序员,十分优秀!