首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >心率尖峰的口水法则

心率尖峰的口水法则
EN

Stack Overflow用户
提问于 2016-04-18 02:15:35
回答 1查看 170关注 0票数 0

我最近才开始使用drools,我需要处理心率数据。我需要在drools融合中创建一个规则,当心率数据中有3个或更多峰值超过过去一小时的平均值时触发。下面的图片是我喜欢在心率中发现的一个例子。

我的HeartRate事件有以下字段:

代码语言:javascript
复制
int heartRate;
Date timeStamp;
String macAddress;

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

EN

回答 1

Stack Overflow用户

发布于 2016-04-18 18:34:04

编写检测尖峰的规则,并使用以下属性插入和更新尖峰事实:

代码语言:javascript
复制
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

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

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

我认为避免window:time和从时间戳计算所有东西会更容易,甚至可能“手动”维护运行平均值。但是通过编写所有代码来研究这一点,包括测试用例,比我想在这里花费的要多得多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36680343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档