我有以下数据框,其中显示了运动捕捉的数据,其中每列是一个标记(即位置数据),行是时间:
LTHMB X RTHMB X
0 932.109 872.921
1 934.605 873.798
2 932.383 873.998
3 940.946 875.609
4 941.549 875.875
... ... ...
14765 NaN 602.700
14766 562.350 NaN
14767 562.394 NaN
14768 562.421 NaN
14769 562.490 602.705
在数据中,我需要填充一些NaN值。我不是这方面的专家,所以我不确定什么是最好的方法来填补这些空白
我知道我可以做正向/反向填充,我也读过关于样条插值的书,它看起来更复杂。在pandas.DataFrame.interpolate的文档中指出,对于样条曲线,必须指定顺序
在这种情况下,我会用什么来处理订单?每个标记都有一个X、Y和Z。这是否意味着我会使用三次样条曲线,或者它不是那么简单
样条曲线的顺序与数据集中的特征数无关。每个特征将相互独立插值。因此,在应用算法之前,了解算法的工作原理以及每个参数(如“顺序”)对算法的贡献是很重要的
直觉上,三次(阶数=3)样条曲线是构造由三次“分段”多项式组成的样条曲线的过程
请注意,所有多项式仅在一个区间内有效;它们构成了插值函数。虽然外推预测的发展超出了数据范围,但插值只在数据边界内起作用
样条曲线的“阶数”是这些“分段”多项式的阶数
资料来源:谷歌
如您所见,线性样条曲线(阶数=1)拟合范围之间的一阶多项式(直线),而七阶样条曲线拟合七阶多项式
您应该使用哪一种?
没有人能简单地告诉你哪个更合适。您必须将其可视化,以查看特定插值技术是否能够为您提供相关插补
确保使用正确插值技术的唯一方法是将它们与R2_分数进行比较。您可以执行以下操作-
您可以发现这种方法的实现非常粗糙here
相关问题 更多 >
编程相关推荐