2011-08-30 56 views
2

我使用一個名爲「changepoint」的非常好的R包來檢測我的系列中的變化的變化。如何在差異中設置容差標識更改?

在我使用cpt.var功能的時刻,這是非常強大的檢測變化,但我想有一個更多的寬容方法。

cpt.var(mod$residuals) 

其中MOD是線性迴歸:

mod <- lm(priceA ~ priceB) 
+0

你說的「多一些寬容」是什麼意思? –

+0

沒有檢測到「小斷點」 – Dail

回答

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)