首页 > 解决方案 > python scipy.interpolate.griddata 仅在 method='nearest' 中表现良好

问题描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

抱歉,我不知道如何在文本中插入数字,所以它们在上面。下面将对其进行描述。
我正在将玩具实验数据拟合到模拟数据。目前,玩具数据是从模拟中插入的,并添加了人为的不确定性。
为了适应,我需要为最小化算法提供一个函数体,在其中我通过 scipy.interpolate.griddata 插入插值:
griddata(sim_params, sim_matrix[:,2], (f, t), method='...')
如果我选择 method='nearest',插值效果很好,但是要“返回值最接近插值点的数据点”并不是我真正想要的。我需要更好的插值。但是,如果我使用其他两种方法,则插值完全关闭,我不知道如何解决这个问题。
模拟数据是依赖于对数尺度上的变量和线性尺度上的另一个变量的变量。在上图中,后一个变量位于 x 轴上。另一个正在安装中。请注意,在使用的区间之外有大量的模拟数据。
第二个 img 用于 method='linear',第三个用于 method='cubic'。

标签: pythoninterpolationdata-fitting

解决方案


通过使用 griddata 的 rescale 选项解决:

griddata(sim_params, sim_matrix[:,2], (f, t), method='linear', rescale=True)


推荐阅读