包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.: 在您的示例中,数据似乎是正数。如果是这样,记录日志可能(或可能没有)有用。