如果我们假设我们的数据点是从球体表面采样的(带有一些扰动),我们如何恢复该球体的中心?
在我的搜索中,我发现了一些标有“球形回归”的论文,但它看起来不像是在做同样的事情。也许我只是不明白。
是否有一个简单的公式,类似于线性回归,可以找到一个球体中心点和半径,以最小化一组数据点与球体表面的平方和距离?
编辑1:
我们可以假设噪声将比球体的半径小 2 或 3 个数量级,并且呈均匀的球面高斯分布。然而,样本本身肯定不会从球体表面均匀地抽取出来,而是可能会聚集在表面上的几个小块中,很可能都在一个半球内。适用于数据的解决方案很好,但是任意维度的通用解决方案也很棒。
编辑2:
如果我使用线性回归,我得到合理答案的机会有多大,,在 7 维空间中,假设平方分量独立于其他参数:
充其量,我想我的错误度量会有点古怪。在最坏的情况下,解决方案甚至不会接近一致。
...或者这很愚蠢,因为有四个相同的列,当我们尝试进行回归时,我们会得到一个奇异矩阵。
编辑3:
所以,看起来这些是我的选择:
- 使用一些成本函数的非线性数值优化:
- 霍夫变换:离散化可能的空间或数据点周围的可能中心和半径。在每个特定半径离散化中,每个点都会对可能成为其一部分的潜在中心进行投票。大多数选票获胜。如果可能存在未知数量的球体,这可能没问题,但只有一个球体是一个混乱的解决方案。
- 随机(或系统地)选择 4 个点的组并分析计算 center。如果条件不佳(点几乎共面),则拒绝采样。拒绝异常值并找到平均中心。从中我们可以找到平均半径。
有没有人有更好的方法?