2024-03-29 09:47:24 发布
网友
的文档HERE纽比.波利菲特将可选输入向量w定义为“应用于y坐标的权重”。这个定义不清楚,似乎不是最小二乘法拟合中权重的标准定义(参见HERE)。在
如何计算要在中使用的权重纽比.波利菲特,在输入测量值有1σ误差(标准偏差)的情况下?在
w与1σ误差的关系纽比.波利菲特是
w = 1/sigma
这与每个人的期望不同。在
编辑:在我对Github的评论之后,numpy.polyfit1.16文档现在明确声明“使用1/sigma(而不是1/sigma**2)”,以避免人们认为公式中存在打字错误。在
在最小二乘法拟合中,通常用这样一种方法来定义权重向量,使平方误差最小化(参见Wikipedia或NIST)
chi2 = np.sum(weights*(p(x) - y)**2)
在已知1σ误差(标准差)“σ”的一般情况下,我们有一个熟悉的教科书关系,其中权重是方差的倒数
weights = 1/sigma**2
但是纽比.波利菲特文档将权重定义为“应用于y坐标的权重”。这个定义不太正确。权重应用于拟合残差,而不仅仅适用于y坐标。在
更重要的是,看看Numpy(v1.9.1)代码中的数学,Numpy代码似乎在最后一个平方意义上解决了下面的线性问题,其中w向量确实与y坐标相乘
(vander*w[:, np.newaxis]).dot(x) == y*w
但是用最小二乘法求解上面的数组表达式相当于最小化括号内的表达式
chi2 = np.sum((w*(vander.dot(x) - y))**2)
或者,使用Numpy文档的符号
chi2 = np.sum((w*(p(x) - y))**2)
在这种情况下,w和1σ误差之间的关系是
简短回答
w与1σ误差的关系纽比.波利菲特是
w = 1/sigma
这与每个人的期望不同。在
编辑:在我对Github的评论之后,numpy.polyfit1.16文档现在明确声明“使用1/sigma(而不是1/sigma**2)”,以避免人们认为公式中存在打字错误。在
解释
在最小二乘法拟合中,通常用这样一种方法来定义权重向量,使平方误差最小化(参见Wikipedia或NIST)
chi2 = np.sum(weights*(p(x) - y)**2)
在已知1σ误差(标准差)“σ”的一般情况下,我们有一个熟悉的教科书关系,其中权重是方差的倒数
weights = 1/sigma**2
但是纽比.波利菲特文档将权重定义为“应用于y坐标的权重”。这个定义不太正确。权重应用于拟合残差,而不仅仅适用于y坐标。在
更重要的是,看看Numpy(v1.9.1)代码中的数学,Numpy代码似乎在最后一个平方意义上解决了下面的线性问题,其中w向量确实与y坐标相乘
(vander*w[:, np.newaxis]).dot(x) == y*w
但是用最小二乘法求解上面的数组表达式相当于最小化括号内的表达式
chi2 = np.sum((w*(vander.dot(x) - y))**2)
或者,使用Numpy文档的符号
chi2 = np.sum((w*(p(x) - y))**2)
在这种情况下,w和1σ误差之间的关系是
w = 1/sigma
这与每个人的期望不同。在
相关问题 更多 >
编程相关推荐