Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 算法:如何平滑插值/重建带有噪声的稀疏样本?_Algorithm_Interpolation_Approximation - Fatal编程技术网

Algorithm 算法:如何平滑插值/重建带有噪声的稀疏样本?

Algorithm 算法:如何平滑插值/重建带有噪声的稀疏样本?,algorithm,interpolation,approximation,Algorithm,Interpolation,Approximation,这个问题与特定的编程语言没有直接关系,而是一个算法问题 我有很多2D函数的示例。样本位于随机位置,它们不是均匀分布在域上,样本值包含噪声,每个样本都有一个置信权重 我要寻找的是一种基于样本重建原始2D函数的算法,因此一个函数y'=G(x0,x1)可以近似原始井并平滑地插值样本稀疏的区域 它进入了正在做的事情的方向,但更困难的是: 采样值包含噪波-这意味着不应仅对采样进行插值,还应以某种方式对附近的采样进行平均,以消除采样噪波 样本是加权的,因此,权重较高的样本比权重较低的样本对重建的影响更大

这个问题与特定的编程语言没有直接关系,而是一个算法问题

我有很多2D函数的示例。样本位于随机位置,它们不是均匀分布在域上,样本值包含噪声,每个样本都有一个置信权重

我要寻找的是一种基于样本重建原始2D函数的算法,因此一个函数
y'=G(x0,x1)
可以近似原始井并平滑地插值样本稀疏的区域

它进入了正在做的事情的方向,但更困难的是:

  • 采样值包含噪波-这意味着不应仅对采样进行插值,还应以某种方式对附近的采样进行平均,以消除采样噪波
  • 样本是加权的,因此,权重较高的样本比权重较低的样本对重建的影响更大
scipy.interpolate.griddata似乎要进行Delaunay三角剖分,然后使用三角形的重心坐标来插值。这似乎不符合我对加权样本和平均噪声的要求


有人能告诉我如何解决这个问题的正确方向吗?

根据注释,函数是在球体上定义的。这简化了生活,因为你所在的区域既有很好的研究,又有很好的边界

首先,决定在近似值中使用多少。你使用的越少,你就越能消除噪音。你用得越多,它就越准确。但是如果你使用某个学位,你应该全部使用


现在你只需要施加一个条件,加权误差的平方和应该最小化。这将产生一个线性方程组,然后通过求解得到每个调和函数的系数。

听起来像是曲线拟合和回归,而不是插值。您的原始函数的形状是什么?它是y=mx+b吗?不,它是二维曲面上的任意函数。它实际上是在一个球体上定义的,但为了简单起见,我首先想了解2D carthesiancase@user1282931实际上,球体是更简单的情况!到目前为止,这实际上是我的方法,但由于两个原因,这不起作用:首先,由于样本中存在(蒙特卡罗)噪声,最小化平方和实际上会放大噪声,因为离我要寻找的平均值越远的样本权重越大。其次,没有采样的区域不会平滑插值,SH值会变得非常疯狂(可能是类似于振铃的问题)。所以我想我首先要创建一个统一的重采样,并在转换为SH之前平均噪声