扫码阅读
手机扫码阅读

用于时间序列中的变点检测算法

344 2024-10-19

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:用于时间序列中的变点检测算法
文章来源:
数据STUDIO
扫码关注公众号

变点检测(Change point detection, CPD)是指在时间序列中发现统计特性发生重大变化的点。变点可能由外部因素如数据生成方式、技术或消费者行为改变所引起,对于理解和量化数据的变化至关重要。CPD在金融、医疗保健、环境监测等多个领域有广泛应用,例如在ICU中用于及时监测病人的心率变化。

CPD算法可以是针对实时数据流或离线数据。离线CPD分析已经收集的数据集,适用于历史数据分析;而实时CPD在数据到达时立即进行分析,用于实时监控如金融市场和欺诈检测。实时CPD需要快速响应,而离线CPD可以利用完整的数据集。

本文介绍了两种CPD方法:离线的ruptures模块和实时的changefinder模块,并通过生成两个时间序列来测试算法。一个时间序列具有恒定方差(ts1),另一个时间序列的方差随着时间变化(ts2)。

离线分析中,ruptures模块可以使用PELT算法来确定变点。PELT是通过最小化数据点到分段线的距离来确定变点。该算法能够在恒定方差时间序列中准确检测所有变点,但对于变化方差时间序列,PELT算法的效果较差,只能检测到部分变点。

对于实时CPD,changefinder模块使用顺序贴现自回归学习算法(SDAR),通过生成异常得分和变点得分来检测变点。它适用于在线数据流,能够较为迅速地检测到变点,尽管在变化方差时间序列中有些变点可能因数据过于相似而被遗漏。

总的来说,PELT算法适合离线数据分析且在恒定方差时间序列中表现良好,而changefinder模块适用于实时数据流中快速变点检测,虽然可能会错过一些变点。

想要了解更多内容?

查看原文:用于时间序列中的变点检测算法
文章来源:
数据STUDIO
扫码关注公众号