使用kleinbergs(2002)算法检测成批数据中的突发。

burst_detection的Python项目详细描述



==
突发检测
==

==


这个包实现了kleinberg的成批数据突发检测算法,如论文"流中的突发和分层结构"(2002)中所述。

突发检测识别目标事件异常频繁的时间段,或者"突发",你可以使用突发检测来检测连续的事件流(如接收电子邮件)或离散的事件批(如向年度会议提交的海报标题)中的突发。此包标识离散批处理数据中的突发。已经编写了脚本来识别连续数据中的突发(请参见python中的"pyspreats"或r中的"spreats")。


"以获得对突发检测背后的理论以及如何适当使用以下功能的坚实理解。

突发检测:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
此函数返回观察到的目标概率序列的两状态自动机的最佳状态序列q。最佳状态序列q由0和1(长度为n)组成,其中0表示系统处于基线状态,1表示系统在时间t时处于突发状态。突发检测对噪声敏感,因此您可以选择平滑减少噪声影响的目标概率。

与向上移动状态相关的
-smooth-win:平滑窗口的宽度到时间平滑目标概率(使用奇数;设置smooth-win=1到跳过平滑)

输出:
-q:最佳状态序列(nx1)
-d:每个时间段中的事件数(nx1)
-r:每个时间段内的目标事件数(nx1)
-p:与每个状态相关的概率(kx1)

平滑双赢=3)


枚举突发:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
此函数创建处于最佳状态序列q的所有突发的列表。

input:
-q:最佳状态序列(nx1)

output:
-突发:包含每个突发的时间点的pandas数据帧突发开始和结束

用法:

突发=枚举突发(q)


突发权重:
~~~~~~~~~~~~~~~~~~
此函数计算与每个突发关联的权重。

输入:
-突发:包含每个突发开始和结束的时间点的pandas数据帧
-r:每个时间段中的目标事件数(nx1)
-d:每个时间段中的事件数(nx1)
-p:每个状态的预期比例(kx1)

输出:
-突发:包含每个突发的权重的pandas数据帧,顺序为

用法:

加权突发=突发权重(突发,r,d,p)



示例
=dtype=float)
每个时间点的事件总数
d=n p.数组([9,11,12,10,10,8,12,10,13,11],dtype=float)
时间点数
n=len(r)

找到最佳状态序列(q)
q,d,r,p=bd.突发检测(r,d,n,s=2,gamma=1,平滑_win=1)

爆发的次数
加权的爆发=bd.爆发的重量(爆发,r,d,p)

print'观察到的概率:'
print str(r/d)


print'最佳状态序列:'
print str(q.t)


print'基线概率:'+str(p[0])

print'突发概率:'+str(p[1])

print'加权突发:'
print'加权脉冲

输出:


观测概率:
[0.00 0.18 0.08 0.60 0.70 0.25 0.67 0.70 0.15 0.09]


0。0。0。1。0。1。1。0。0.]]


基线概率:0.339


突发概率:0.679


加权突发:
+——+——+——+——+——+——+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| 8 5.34226
+——+——+——+——+——+——+————+————+————————————————————————————————————————————————————————————————————————————————————————————————————————

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ElasticSearchJava客户端:Java。lang.OutOfMemoryError:无法创建新的本机线程   java仅选择一次jComboBox项,以便将行添加到jTable   数据结构在java中实现矩阵   java Jsoup从隐藏代码的html url读取   java从文件读取unicode行转换UTF8   java什么更便宜:减法还是更高的指数?   导出的GUI项目无法打开/运行,使用eclipse oxygen Java导出   在运行时验证Java错误   java如何处理“构建WebSocket失败:URL无效”的JavaScript异常?   java指定单向@OneToOne JPA映射的所有者   java如何查找训练错误或错误(D)和测试错误或错误(s)   现有工作簿中存在错误的单元格中的java Apache Poi值不会重新计算   java Android Studio Gradle CreateProcess错误=2   urlencode Java库,用于URL编码(如浏览器)   java如何跳过访问(重复)值的索引?   JScrollPane中的java图像原点位于JScrollPane原点之上   java joda时间消耗太多内存   java无法在Eclipse4.3.1开普勒中将double转换为double   java Hystrix CircuitBreakerSleepIndowWinMillicles无法按预期工作   java如果比较的两个对象都为null,equals方法应该返回什么?