【发布时间】:2015-10-23 00:01:06
【问题描述】:
我正在尝试将一组离散数据值与模型进行比较,以估计离散数据点与模型之间匹配良好的“x”值。换句话说,我试图估计数据(离散点)和模型之间的差异最小的 x 值(或 x 的范围)。我有一个提供 Ya(x)、Yb(x)、Yc(x)(实线)的模型。我还有数据点 A、B 和 C(实心圆圈)。我想估计数据点 A、B 和 C(或大多数点)与相应的连续线很好匹配的 x 值。我还将 (model-data)^2 绘制为 x 的函数。从第二个图中可以看出,对于 x 范围 5.e3 到 1.e4,可以获得很好的匹配。我想知道我是否可以使用任何 scipy.optimize 子程序来定量估计它。
感谢您的宝贵时间,我们将不胜感激。
【问题讨论】:
-
比较一个数据点和一条曲线并不容易!特别是看曲线 A - 整条曲线上有多个位置,您的奇异数据点 y 值将是“合适的”,并且无法确定哪个是“正确的”。
-
@JonCuster 感谢您的评论。我想将三个点同时拟合到相同颜色的相应连续线。离散点是给定变量(A、B 和 C)在特定 x 处的值。我想通过使用模型来估计 x 值。想法是将这些点放在不同的 x 位置,然后比较数据和模型之间的差异,最终同时确定所有三个点的差异最小的 x 值。如果现在有意义,请告诉我。抱歉,我的描述不清楚。
-
好的,所以你的曲线 A,B,C 是固定函数,你想改变 x 来找到最小的差异吗?所以,写一个函数 f(x,params),其中参数是你的三个点。该函数将为 x 计算三个函数与三个点的偏差。请注意,考虑到函数的数量级差异,您可能会考虑使用相对偏差而不是绝对偏差进行计算。
-
@JonCuster 感谢您的回复。我现在正在使用相对偏差,并且我有三条曲线,如第二个图。这三条曲线的最小值应该告诉我模型和数据之间可以很好拟合的 X 值。我想知道找到这三条曲线的共同最小值的最佳方法是什么。