寻找局部最大值

时间:2014-12-04 10:48:39

标签: javascript statistics

我想找到一组数据的局部最大值。 我有一个来自探空火箭有效载荷的飞行数据记录,我想根据加速度计数据找到分段的大致时间。基于对图表上数据的直观检查,我应该能够得到我想要的时间,但是如何在Javascript中以编程方式查找点?

1 个答案:

答案 0 :(得分:0)

如果只需要了解近似时间,可能使用一些启发式方法就足够了,例如:通过平滑滤波器运行数据,然后寻找跳跃。

如果准确地找到分段时间很重要,我的建议是构建一个分段连续模型并将其与数据拟合,然后从中导出分段时间。例如,一阶段模型可以是:对于0< t< t_1,加速度为f(t) - g;对于t> t_1,加速度是-g,其中g是重力加速度。我不知道f(t)可能在这里,但据推测它在火箭工程中是众所周知的。拟合这种模型的难度是由于存在截止点t_1,这使得它不具有不同性,但实际上并不太难;在这样一个相对简单的情况下,你可以遍历可能的截止点并计算其余参数的最小二乘解,然后取出误差最小的一个或多个点。

见Seber and Wild,“非线性回归”;有一章关于这样的模型。