在 nodejs/javascript

问题描述

我有一张图表,我希望能够尽可能平滑地绘制哪条线。该线仍应保持整体模式并尽可能接近原始线 - 但我需要能够 100% 平滑所有“凹凸”/达到我希望的程度。

当我说“100% 平滑”时 - 我的意思是这样的(尝试在正方形中画一条曲线):http://soswow.github.io/fit-curve/demo/

该线只能向上或向下(而主要趋势是向上/向下) - 例如像正弦曲线。现在成像你添加了很多不同大小/频率的噪声/颠簸。到正弦曲线 - 但您喜欢“恢复”曲线而不改变曲线的整体模式。这正是我的需要。理想情况:如果我能准确过滤掉选定的噪声/频率级别。我想从主要趋势中移除。

SMA 本质上是滞后的,我需要一些更接近实际时间点的数据。 我知道 SMA 的滞后特性通常被接受 - 但我不接受它;) 我坚信有可能做得比这更好 :) DMA 可以移动数据点本身 - 但对数据没有影响- 实时点信息,这也是我正在寻找的......我知道我必须破解/补偿 - 我也可以自己想出 100 多种方法(混合我知道的所有算法,运行它们多个次等)但我想有人比我更聪明,并且已经解决了 - 我肯定想知道是否存在针对此问题的标准算法?

我研究了许多不同的算法——但没有一种算法令人满意(移动平均、中值、多项式回归、Savitzky Golay 等)。但结果仍然太“笨拙”和“像素化”,否则它又变得太滞后了。

最后我发现:Bezier Cubic and quadratic 这看起来很有趣,但我不知道如何将它应用于我所有的数据点,而且我找不到合适的 NPM(我只能找到这样的库:{ {3}} 只需要 1 个数据点,这不是我要找的。​​p>

Savitzky G. 比普通 MA 更好 - 但我仍然认为它在我认为可以接受的平滑度时滞后太多。

任务是实时预处理和降低温度、价格和类似图表的噪声,然后再将其处理到寻找异常的 IA(过多的噪声似乎混淆了 AI,对于大部分)。带有绘图的示例只是一个示例 - 就像我提到的“正弦曲线”(为了说明我的观点)一样。该图表通常非常随意,不遵循任何预定义的模式。

我想再次强调,所选算法/程序的主要先决条件必须是 - 它生成的图表线将主图表整体趋势的滞后最小化到绝对最小,同时使调整降噪应该发生的水平:-)

我还用颜料画了这个小图 - 只是为了让你很容易理解我的观点 :-) https://www.npmjs.com/package/bezier-easing 算法应该删除并替换给定图表中与所选频率匹配的所有实例/区域 - 在该图仅显示了其中的一个 - 但通常图表中会有许多不同区域具有相同的噪声水平。

如果这一切对你们有意义,请告诉我 - 否则请指出我需要详细说明的内容

非常感谢所有帮助、想法和建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)