【问题标题】:Adjustment algorithm?调整算法?
【发布时间】:2014-07-14 06:45:22
【问题描述】:

我正在尝试在 Matlab 中找到一个函数,或者至少是执行以下操作的算法的名称:

假设我正在实时分析时间序列。我最初从 10 和 -10 的阈值开始,因此当时间序列高于 10 或低于 -10 时,它被认为是“HIT”。假设最初需要 5 分钟来生成“HIT”,但我想调整阈值,以便平均只需要 1 分钟即可生成“HIT”。我知道它看起来像是从 10 和 -10 开始,如果时间太长,将其降低到 5 和 -5,然后如果太快则增加阈值,等等。

我知道这种算法有一个特定的名称,并且可能有内置函数,但我不知道这个名称。有人可以帮忙吗?

【问题讨论】:

    标签: algorithm matlab


    【解决方案1】:

    我不知道你的时间序列的时间分辨率是多少,或者它是否是恒定的,所以我将把它留给你。但是,如果您具有恒定的时间分辨率,则可以在 matlab 中执行以下操作。首先取时间序列中值的绝对值。然后使用sort() 命令以相反的顺序对这些值进行排序。然后选择其在排序数组中的索引为您提供所需的平均时间分辨率的值。所以例如如果您的时间序列大小为 N 且时间分辨率为 0.1 秒,并且您希望平均每 1 秒发出一次警报,那么在排序后,您将在(倒序)排序位置 N/10 处选择阈值。

    【讨论】:

    • 确实是不变的。这种方法有名字吗?我假设反向顺序是降序(因为 Matlab 默认是升序)?
    • ^^^ 很抱歉再次打扰您。一直在做一些谷歌搜索,并不能真正找到有关此方法的任何信息。我想知道这种自适应阈值是否有正式名称。
    • 如果我想要一个负阈值,我是否可以简单地按升序排序?
    猜你喜欢
    • 2021-08-13
    • 2018-08-13
    • 2016-01-02
    • 2011-03-20
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    相关资源
    最近更新 更多