python - 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'。
解决方案
通过使用 griddata 的 rescale 选项解决:
griddata(sim_params, sim_matrix[:,2], (f, t), method='linear', rescale=True)
推荐阅读
- python - 如何用字符串迭代嵌套的for循环?
- filebeat - 在 filebeat 中添加 geoip 处理器
- python - 在 DataFrame 的后续行中搜索不同的值 -
- c# - 从 PlayerController ( Unity ) 获取预制脚本
- java - 正则表达式验证器字母数字允许空字段但不仅限于空格
- java - Javers - 将字符串、集合和布尔值与定义的规则进行比较
- c# - 异常实体已被跟踪
- sql - 更改数据集的呈现方式
- apache - 图标是 Apache 中受保护的目录/关键字吗?
- javascript - 如何在 div 中使用 scrollToView()