检测时间序列的变化


11

我遇到了一张应用程序原型的图片,该原型发现了交通数据中的重大变化(“趋势”,而不是峰值/离群值):

替代文字

我想编写一个能够做到这一点的程序(Java,或者可选的R)-但是由于我的统计技能有点生锈,因此我需要再次深入探讨该主题。

因此,我应该使用/研究什么方法/算法?



是的,答案也将相同。
ub

Answers:


4

“结构性中断”可能有多种发生方式。

如果“时间序列的后半部分”中的截距发生变化或趋势发生变化,则将更适合执行干预检测(注意,这是未确定的确定性变量的显着影响的经验识别,例如(如水平移动或趋势变化或季节性脉动的开始)。然后,干预检测是干预建模的前兆,其中建议变量包含在模型中。您可以通过搜索“自动干预检测”在网上找到信息。一些作者使用了“异常检测”一词,但是像许多统计语言一样,这可能会造成混淆/不精确。检测到的干预可以是以下任意一种(检测到残差平均值的显着变化);

电平的1个周期变化(即脉冲),电平的多周期连续变化(即截距变化),系统脉冲(即季节性脉冲),趋势变化(即1,2,3,4,5, 7,9,11,13,15 .....)这些过程很容易在R / SAS / Matlab中进行编程,并且通常在许多商业可用的时间序列包中提供,但是您需要提防许多陷阱例如是先检测随机结构还是对原始序列进行干预检测。这就像鸡肉和鸡蛋的问题。该领域的早期工作仅限于类型1,因此可能无法满足您的需求,因为您的示例说明了LEVEL SHIFTS。

网络上有很多资料,甚至http://www.autobox.com/30day.exe上都有一个免费程序,甚至可以让您使用自己的30天数据。您可能会像瑜伽士所说的“只是看”而学到很多东西,并复制他们的结果。

可从http://www.autobox.com/pdfs/autoboxusersguide.pdf的第134页开始找到适合您使用的精确方程式的网络参考 。我是AUTOBOX的作者之一。


@stefanos:能否请您告诉我应用程序的名称,因为我一直对寻求解决此问题的软件解决方案感兴趣。您可以通过我的联系信息给我发送电子邮件。
IrishStat

1

尝试使用R中的cpm或changepoint软件包。它是免费使用的。还研究变更点模型或顺序变更检测。


3
欢迎使用该网站@Cherese。目前,这更多是评论而不是答案。您介意对此进行详细说明吗?
gung-恢复莫妮卡
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.