如何设置识别方差变化的公差?

时间:2011-08-30 07:39:35

标签: r

我正在使用名为“changepoint”的非常好的R包来检测系列中方差的变化。

目前我正在使用 cpt.var 功能,检测更改非常强大但我希望有一个更多容差方法。

cpt.var(mod$residuals)

其中 mod 是线性回归:

mod <- lm(priceA ~ priceB)

1 个答案:

答案 0 :(得分:1)

如果您查看?cpt.var的帮助文件,可以将惩罚参数从默认SIC更改为Manual。使用Manual时,可以通过value参数指定类型I错误值。

以下是基于帮助文件的示例:

# Example of multiple changes in variance at 50,100,150 in simulated data
set.seed(1)
x = c(rnorm(50,0,1), rnorm(50,0,10), rnorm(50,0,5), rnorm(50,0,1))

##Key arguments Manual and value
##Returns 4 changes points
cpt.var(x, penalty="Manual", value="log(2*log(n))", method="BinSeg", 
        dist="CSS", Q=5, class=FALSE) 

##Returns 5 changes points - a false positive
cpt.var(x, penalty="Manual", value="0.5*log(2*log(n))", method="BinSeg", 
        dist="CSS", Q=5, class=FALSE) 
相关问题