当前位置: 首页 > 知识库问答 >
问题:

心率峰值的口水法则

顾曾笑
2023-03-14

我最近才开始流口水,我需要处理心率数据。我需要在drools fusion中创建一个规则,当心率数据中出现3个或更多峰值,超过过去一小时的平均值60或更多时,就会触发该规则。下面的图片是我喜欢在心率中发现的一个例子。

我的心率事件有以下字段:

int heartRate;
Date timeStamp;
String macAddress;

我知道滑动时间窗口,但您只能使用基本函数,如min、max、avg等。有人能解释一下我如何创建这个规则吗?

共有1个答案

和魁
2023-03-14

编写检测峰值并插入和更新峰值事实的规则,其属性如下:

declare Spike
  @role( event )
  int maxHeartRate;   ## max/avg rate from events of this spike  
  Date startTS;       ## from first HeartRate to exceed avg+60
  Date lastTS;        ## from last HeartRate to exceed avg+60
  String macAddress;
end

使用两个累加器,您可以将一小时内的尖峰计数与一小时的心率平均值相关联。

请注意,整个策略存在(微妙的)“模糊性”,因为第一个峰值之前的平均值几乎肯定低于第二或第三个峰值之前的平均值,因为这包括峰值的利率。理想情况下,人们会在平均计算中省略这些。

我认为,避开时间窗口并根据时间戳计算一切会更容易,甚至可能“手动”保持运行平均值。但是,通过编写所有代码(包括测试用例)来研究这一点,超出了我在这里的花费。

 类似资料:
  • 问题内容: 有没有可以运行命令行并报告峰值RAM使用总量的工具? 我在想类似/ usr / bin / time的东西 问题答案: 这是一种单行代码,不需要任何外部脚本或实用程序,也不需要您通过Valgrind或time之类的另一个程序来启动该过程,因此您可以将其用于已运行的任何过程: (用您感兴趣的过程的PID 代替)

  • 在某些应用中,传送器受到的限制不是平均功率而是瞬时峰值功率。信道容量的计算问题于是就变成了:系集中的所有函数对于所有t都小于或等于,在此条件下,如何(通过改变所传送符号的系集)使下式取最大值: 这种约束条件无法像平均功率限制那样很好地以数学方式给出。对于这种情景,我们最多获得一个对于所有有效的下限,一个“渐近”上限(对于大的有效)和当较小时的渐近C值。 定理20:一个信道的带宽为W,受功率为N的白

  • 我有一个polar H10,我想读取bpm和rr值,参考特征规范,我知道从通知句柄读取的每个字节,但是,我仍然无法理解生成的值。例如:以下是gatt工具的示例输出gattool的示例输出屏幕截图: 现在,我明白了以下内容:其中(10 Flags= 但我不理解以下内容:根据文档,它表示存在1个或多个rr值。但这意味着什么呢?如何接收两个rr值? 旁注:目标是从这些值中提取HRV特征。

  • 最大心率的 50% 到 100% 之间的范围分为五个心率区。将心率保持在某个心率区内,可以轻松控制锻炼的强度水平。每个心率区都有其自身的主要优点,了解这些优点将帮助您达到锻炼所需的效果。 继续阅读: 什么是心率区? 。

  • 最大心率的 50% 到 100% 之间的范围分为五个心率区。将心率保持在某个心率区内,可以轻松控制锻炼的强度水平。每个心率区都有其自身的主要优点,了解这些优点将帮助您达到锻炼所需的效果。 继续阅读: 什么是心率区? 。

  • Polar 心率区在基于心率的训练中引入新的效果水平。训练根据最大心率百分比分为五个心率区。通过这些心率区,您可以轻松选择和监控训练强度。 目标区 HRmax 强度百分比 HRmax = 最大心率(220-年龄)。 示例:最大心率为 190 bpm(220-30)的 30 岁的人的心率区(每分钟跳动次数)。 持续时间示例 训练效果 最大强度 90–100% 171-190 bpm 少于 5 分钟