我有一个具有线性下降趋势的金融时间序列,但有时会发生跳跃(见下图)。
我可以使用哪些统计方法尽早检测到这些跳跃?

我有一个具有线性下降趋势的金融时间序列,但有时会发生跳跃(见下图)。
我可以使用哪些统计方法尽早检测到这些跳跃?

时间序列中的“跳跃”是方程隐含截距的永久变化。考虑一个系列 1,1,1,1,4,4,4,4,4,其中基本模型是 y(t)=1 + 3*x(t),x 是电平移位/步进移位系列 0, 0,0,0,1,1,1,1,1。因此暗示了在周期 5 的截距从 "1" 到 "4" 的变化。如果第二个系列是 1,2,3,4,8,9,10,11,12,则模型为 [1-B]y(t)=1 + 3*[1-B]x(t) 其中x 是序列 0,0,0,0,1,1,1,1,1,表明在周期 5 的截距从“1”变为“4”。检测时间序列中的跳跃称为干预检测. 脉冲干预是方程隐含截距的一个周期变化。系列 1,1,1,1,4,1,1,1,1 是 y(t)=1+3*z(t) 其中 z (t) =0,0,0,0,1,0,0,0,0 如果 z=x[1-B] 我们有 y(t)=1+3*[1-B]x ; x为 0,0,0,0,1,1,1,1,1。
为了确定水平偏移及其持续时间,可以查看 Tsay 的论文“时间序列中的异常值、水平偏移和方差变化”,然后继续阅读我之前关于该主题的一些帖子以及其他响应者所说的内容。
在不考虑必要的 ARIMA 结构或所需因果变量的影响的情况下,不应识别“跳跃点”。此外,由于 ARIMA 参数和误差方差都可能随时间而变化,因此需要在这些方面加以考虑。
商业软件可用于执行此定位。SAS、SPSS 和 AUTOBOX(我参与其中)作为您调查的地方浮现在脑海中。我将首先模拟一些时间序列,然后通过实际使用他们的免费下载软件来测试各种“自动化”解决方案。
希望这可以帮助。
PS 术语“更改点”故意含糊其辞。变化点可能有多种原因
脉冲/电平移位/季节性脉冲/本地时间趋势开始
已检测到参数的变化(可能通过 Chow 测试http://en.wikipedia.org/wiki/Chow_test,如下 IMA 指出的那样)。请注意,与用户必须建议的情况相比,某些软件实际上会搜索断点。
已检测到误差方差的变化
预测变量系列 (x) 影响感兴趣系列 (y) 的方式的变化
一些可以玩的东西:
请注意,这些方法只能检测变化/跳跃,无法预测跳跃。
您可以使用mcp这种模型。时间序列经常表现出自相关,所以让我们只看一个具有三个线性段的 AR(1) 模型。首先,让我们指定模型:
model = list(
y ~ 1 + x + ar(1), # Linear segment. Initiate AR(1)
~ 1 + x, # linear
~ 1 + x
)
现在适合它:
library(mcp)
fit = mcp(model, df)
作为一个额外的技巧,如果段之间的斜率相同,您可以使用先验设置此标识。这适合一个斜率参数而不是三个:
prior = list(x_2 = "x_1", x_3 = "x_1")
fit = mcp(model, data = df, prior = prior)
在 mcp 网站上阅读更多内容。免责声明:我是开发人员。