algorithm - 算法:如何平滑地插入/重建带有噪声的稀疏样本?
问题描述
这个问题与特定的编程语言没有直接关系,而是一个算法问题。
我有很多二维函数的样本。样本位于随机位置,它们不是均匀分布在域中,样本值包含噪声,并且每个样本都分配了一个置信权重。
我正在寻找的是一种基于样本重建原始二维函数的算法,因此该函数y' = G(x0, x1)
可以近似原始井并平滑地插入样本稀疏的区域。
它进入了scipy.interpolate.griddata正在做的事情的方向,但增加的困难是:
- 样本值包含噪声——这意味着样本不仅应该被插值,而且附近的样本也应该以某种方式平均以平均化采样噪声。
- 样本是加权的,因此,具有较高权重的样本应该比那些具有较低权重的样本对重建的贡献更大。
scipy.interpolate.griddata 似乎做了一个 Delaunay 三角剖分,然后使用三角形的重心坐标来插值。不过,这似乎与我对加权样本和平均噪声的要求不兼容。
有人可以指出我如何解决这个问题的正确方向吗?
解决方案
根据评论,该函数是在球体上定义的。这简化了生活,因为您所在的地区既经过充分研究,又界限分明!
首先,决定您将在近似中使用多少个球谐函数。你使用的越少,你就越能消除噪音。你用得越多,它就越准确。但是,如果您使用任何特定学位,则应该使用所有学位。
现在您只需施加一个条件,即加权误差的平方和应最小化。这将导致一个线性方程组,然后您对其进行求解以获得每个谐波函数的系数。
推荐阅读
- javascript - 从 html 页面复制/粘贴到 MS-Word 时,CSS 边距/填充丢失
- r - 更改 ggplot2 热图的图块大小
- assembly - 在 0x000B8000 写入内存映射的 VGA 不会打印字符
- java - 软删除包位置
- vba - 从多个工作表中收集数据
- iterm2 - iTerm如何在拆分窗格的标题栏上显示完整路径
- c# - 控制台应用程序 (.NET Framework) 中的 AAD 登录提示 - 您可以使用 oauth2 *non v2.0* 端点吗?
- regex - 如何使用正则表达式一次捕获字符串的多个部分?
- javascript - 将对象数组发送到rails控制器时出现字符串化问题
- firebase - FIrebase setData kef-value 序列未保留