如何在二维平面中分析任意三维平面

3

我需要在最适合的二维平面中以二维(x,y)方式分析三维曲线,使原始三维曲线覆盖尽可能大的区域。

给定: 两组数据点(x、y、z),形成任意三维曲线。

已有: 使用最小二乘平面拟合计算出2个表面平面

需要: 1)每个原始数据集的数据点都投影到相应的最小二乘拟合平面上 2)将投影后的数据点转换为类似二维XY平面的形式,以便在最适合的平面背景下对原始曲线进行二维分析。

您有什么想法如何实现这一目标? 我认为第一步应该是将每个原始数据点正交投影到计算出的平面上 - 是这样吗?

但我无法想象从那里将它们转换为二维几何形状,其中将具有(x,y)数据点用于处理?

以下图片显示了原始数据图(红色和蓝色曲线)及其计算出的平面(红色和蓝色表面)

So far - so good


4
你是否只需以最能捕捉方差的方式减少一组点的维度?这听起来像是你在尝试重新创造主成分分析(PCA)。 - loopbackbee
1
同意goncalopp的观点 - 你只需要对数据集应用PCA并获取前两个主成分。 - Andrey Shokhin
goncalop - 就是这样!所以我只需要我的原始数据集并对其应用PCA?不需要我做的平面和其他东西吗? - user2500605
1个回答

1
如果你成功找到飞机,最好的做法是旋转和平移你的坐标系,以便在自然投影中查看点。
如果你的 (x,y,z) 数据位于一个平面上,那么你知道 a*x+b*y+c*z = 1。如果你能找到 a、b 和 c,你就可以使用变换进行三元图(参见维基百科)
你所要做的只是按以下方式转换你的坐标:
x' = a*x, y' = b*y, z' = c*z
这样,你的数据将满足 x'+y'+z' = 1。之后,使用变换 x'' = 0.5*(2y'+z') 和 y'' = sqrt(3)/2 * z',你的数据将以其自然投影方式呈现。如果你的数据始终为正数,则曲线将位于一个三角形区域内。

如果数据点不在平面上,这个方法还能行吗?由于这些平面是从完整数据集计算出来的LMS平面,它们只是近似值。 - user2500605
是的,在使用变换之前,只要将数据投影到平面上,它就能够工作。 - Alejandro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接