考不考?

机器算法验证 时间序列 假设检验 周测试 变化点
2022-03-31 05:46:30

我正在尝试设置一个自动屏幕来检测大量时间序列中的结构性中断。

时间序列是每周一次,代表客户的行为。我已经设置了 Chow 测试。我使用最近的 4 周并将其与前 22 周进行比较。我想知道他们最近的行为是否与之前的行为有显着差异。

我的问题是这样的:

Chow 测试是这个问题最合适的测试吗?

如果这不是最合适的测试,我如何确定最合适的测试是什么?

1个回答

你的问题对我来说是最有趣的,它的解决方案多年来一直是我的主要研究。

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

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

  1. 1 个周期的电平变化(即脉冲)
  2. Level 的多周期连续变化(即 Intercept 的变化)
  3. 系统脉冲(即季节性脉冲)
  4. 趋势变化(即 1,2,3,4,5,7,9,11,13,15 .....)

这些程序在 R/SAS/Matlab 中很容易编程,并且通常在许多商业可用的时间序列包中可用,但是您需要警惕许多陷阱,例如是先检测随机结构还是在原创系列。这就像鸡和蛋的问题。该领域的早期工作仅限于类型 1,因此可能不足以满足您的需求。

如果没有检测到这种现象,那么可以考虑通常需要用户预先指定假设变化点的 CHOW TEST。我一直在研究和实施程序,通过及时评估替代假设点来确定最可能的转折点,从而检测变化点。

最后,人们也可能对误差方差可能存在结构变化的可能性敏感,因此这可能会掩盖 CHOW TEST 导致错误接受参数中没有显着断点的零假设。