包strucchange中函数的输入格式?

Input format for functions in package strucchange?

我正在尝试使用 strucchange 包中的“monitor”检测变化点,但我无法获得有用的输出。

我的输入是一个带时间戳的数据框,我希望将中断作为日期返回,但它们作为观察编号返回:

cDF1 <- myDF[1:80,]

> cDF1[1:3,]
        Year Month Value
2000-10 2000   Oct     1
2001-01 2001   Jan     1
2001-04 2001   Apr     1

me.mefp <- mefp(Value~1, type="ME", rescale=TRUE,
+                       data=cDF1, alpha=0.05)

cDF1 <- myDF[1:104,]

> me.mefp <- monitor(me.mefp)
Break detected at observation # 98 

在strucchange手册中,有保留时间戳的例子,但我无法弄清楚它们在格式上的区别。

如果我把数据框做成时间序列也没什么区别

有人可以帮忙吗?

谢谢!

mefp/monitor函数只能处理ts时间序列。因此,您可以提供一个 data 参数,它是一个(多变量)ts,一个 data.frame,其中响应变量是一个 ts 或一个独立的 ts没有 data 参数。在您的情况下,数据似乎是季度性的,并且由于没有回归变量(常数除外),独立的时间序列可能是最方便的。

作为一个人工示例,我模拟了季度时间序列中的 100 个观察值:

set.seed(1)
Value <- ts(rnorm(100, mean = rep(0:1, c(70, 30)), sd = 0.5),
  start = c(1990, 1), freq = 4)
plot(Value)

然后我select把到1999年底的数据作为历史周期,初始化监控进程:

val <- window(Value, end = c(1999, 4))
m <- mefp(val ~ 1, type = "ME", rescale = TRUE, alpha = 0.05)

然后数据可以到达,说到2009年底:

val <- window(Value, end = c(2009, 4))
m <- monitor(m)

然后终于到了 2014 年底:

val <- window(Value, end = c(2014, 4))
m <- monitor(m)
## Break detected at observation # 81 
plot(m)

在这里,终于检测到中断并以图形方式显示出来。

P.S.: 在您的示例中,数据似乎是正数。如果是这样,记录日志可能(或可能没有)有用。