Warm tip: This article is reproduced from serverfault.com, please click

python-如何最小化给定数据集的误差

(python - How to minimize the error to a given dataset)

发布于 2020-11-28 19:31:39

让我们假设一个函数

f(x,y) = z 

现在,我要选择x,以便f的输出与实际数据匹配,并且y以等距步长从1开始减小到零。输出是通过一组微分方程在函数f中计算的。

如何选择x,以使实际输出的误差尽可能小。假设我知道一组z-值,即

f(x,1) = z_1
f(x,0.9) = z_2
f(x,0.8) = z_3 

现在发现x,对真实数据的错误z_1,z_2,z_3是最小的。一个人怎么能做到这一点?

Questioner
CB95
Viewed
11
Daan R 2020-11-29 06:15:22

优化的一种常见方法是最小二乘拟合,在该方法中,你基本上会尝试查找参数,以sum (f(params,xdata_i) - ydata_i))^2使给定xdata最小化平方和:ydata在你的情况下:params将为x,分别xdata_i为1、0.9和0.8以及ydata_iz_1,z_2和z_3。

你应该考虑软件包scipy.optimize。它用于查找函数的参数。我认为此页面为如何使用它提供了很好的示例。