【问题标题】:Can I increase the sensitivity when identifying breakpoints using strucchange package in R?使用 R 中的 strucchange 包识别断点时可以提高灵敏度吗?
【发布时间】:2019-12-07 20:39:34
【问题描述】:

我正在使用 strucchange 包来识别我的数据中的断点,本质上是试图拟合一个阶跃函数。在某些情况下,它非常好,但在其他情况下,它完全错过了这些步骤,或者没有识别出足够多的步骤。有没有办法从本质上告诉包,它应该以更小的粒度寻找断点?

我按照这个例子找到了断点:Model comparison for breakpoint time series model in R strucchange

我使用的代码在这里:

        ts_prep <- data.frame(newdata$Num_Cycles)
        newdata_ts <- ts(data=ts_prep, start = c(1,1), frequency=num)
        plot(newdata_ts,main=num)
        break_points <- breakpoints(newdata_ts ~ 1)
        break_factor <- breakfactor(break_points)
        break_model <- lm(newdata_ts ~ break_factor - 1)
        lines(fitted(break_points), col = 4)
        simple_lm <- lm(newdata_ts ~ time(newdata_ts))
        abline(simple_lm,col='red')

这是一个很好的例子(蓝线到黑线):

下面是一个不合适的例子(蓝线再次变黑):

【问题讨论】:

    标签: r breakpoints


    【解决方案1】:

    这可以通过传递“h”参数来完成,其中 h 是最小段大小(作为数据的一部分)。就我而言,0.05 效果很好。

    【讨论】:

      猜你喜欢
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      相关资源
      最近更新 更多