【发布时间】:2021-03-02 02:53:12
【问题描述】:
我有一组沿 x 轴均匀分布的 y 值,我需要以编程方式找到“波谷”。我认为 Octave 或 Python3 都是解决这个问题的好语言选择,因为我知道两者都有很强的数学能力。
我想对函数进行插值并查找导数为 0 的位置,但这需要我的人眼首先分析结果图以了解最大值和最小值已经在哪里,但我需要整个过程是自动的;用于处理任意数据集。
我突然意识到这个问题可能在 Python3 或 Octave 函数或库中有一个现有的解决方案,但我找不到。是否存在自动报告数据集中的局部最大值和最小值的库?
更多信息
我目前计划的方法是实施一种带有阈值的“n 日移动平均线”。在初始化第一天移动平均线后,我将观察下一个移动平均线在其上方或下方移动一个阈值。如果它走高,那么我会认为自己处于“上升”时期。如果它走低,那么我就处于“下跌”时期。当我处于上升期时,我会更新观察到的最大移动平均线,直到当前移动平均线充分低于之前的最大值。
在这一点上,我会认为自己处于“下降”时期。我将锁定移动平均线之前最高的点,然后重复,除了对“下降”期间使用逆逻辑。
在我看来,这可能是一个很常见的问题,所以我确信有一个现有的解决方案。
【问题讨论】:
标签: python python-3.x math octave analytics