如何最小化给定数据集的错误

How to minimize the error to a given dataset

假设一个函数

f(x,y) = z 

现在我想选择x,使f的输出与真实数据相匹配,y从1开​​始等距递减到零。输出是通过一组微分方程在函数f中计算得到的。

我怎样才能 select 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的误差很小。 如何做到这一点?

一种常用的优化方法是最小二乘法拟合,在这种方法中,您基本上会尝试找到使平方和最小化的参数:sum (f(params,xdata_i) - ydata_i))^2 对于给定的 xdataydata.在您的情况下:params 将是 xxdata_i 将是 1、0.9 和 0.8 以及 ydata_i z_1、z_2 和 z_3.

您应该考虑包 scipy.optimize。它用于查找函数的参数。我认为 this page 给出了一个很好的例子来说明如何使用它。