Language agnostic 多维插值

Language agnostic 多维插值,language-agnostic,dataset,interpolation,multidimensional-array,Language Agnostic,Dataset,Interpolation,Multidimensional Array,给定多维空间(在我的例子中是4D空间)中的样本数据集,其中样本出现在4D立方体的所有角上,大量样本出现在该立方体中,但不在整齐的网格中。每个样本的4D坐标旁边都有一个输出值。立方体具有坐标[0,0,0,0]…[1,1,1,1] 给定一个新的坐标(4D),如何在给定这些样本的情况下得出最佳插值?我如何选择样本开始,如何插值 首先,我想这可以通过两个步骤来完成: 在我们需要插值的坐标周围找到最小的凸面五弦(4D等效于3D四面体/2D三角形) 在这个四面体内插值 尤其是第1步看起来相当复杂和缓慢。这里

给定多维空间(在我的例子中是4D空间)中的样本数据集,其中样本出现在4D立方体的所有角上,大量样本出现在该立方体中,但不在整齐的网格中。每个样本的4D坐标旁边都有一个输出值。立方体具有坐标[0,0,0,0]…[1,1,1,1]

给定一个新的坐标(4D),如何在给定这些样本的情况下得出最佳插值?我如何选择样本开始,如何插值

首先,我想这可以通过两个步骤来完成:

  • 在我们需要插值的坐标周围找到最小的凸面五弦(4D等效于3D四面体/2D三角形)

  • 在这个四面体内插值


  • 尤其是第1步看起来相当复杂和缓慢。

    这里是我要尝试的第一种方法

    第一步 通过欧几里德距离查找点的4个最近邻居。这4个点是线性独立的,这一点很重要,因为接下来它们将用于创建重心坐标系。这4个点成为你的五弦琴(又名4-单纯形)的顶点

    如果最近邻检查速度太慢,请尝试将数据组织到4D中的空间查找树中

    步骤2 现在我们需要将一个值与插值点X相关联。首先,在这个新的重心坐标系中导出X的表示。该重心坐标由4个数字组成,这些数字共同描述插值点与每个4-单纯形顶点之间的相对距离

    规范化重心坐标,使其分量总和为1

    这4个单纯形顶点中的每一个都是数据点,都有一个输出值。将这4个输出值组合成一个向量

    最后,通过计算归一化坐标与输出值向量的点积进行插值


    资料来源:这个想法实际上只是维基百科上这颗宝石的4D延伸。

    四面体是三维的。你想要的四维形状是一个五弦琴:@TheBeardMan:修正了。感谢指针。第2步使用重心坐标进行插值。所以只要我们能在每一个五弦琴的凸包内,我们就不会有间断,在边界上,我们会有相同的插值。但是,在步骤1中使用EUcl距离找到的4个点可能会产生最近的五弦,但不会产生包含该点的凸五弦。因此,当p的凸壳内有两点时,我们可能会得到不连续性。A.使用p中的坐标系。A和p的另一个。B