Как установить допуск, определяющий изменения в дисперсии? - PullRequest
2 голосов
/ 30 августа 2011

Я использую очень хороший R-пакет с именем "changepoint" для обнаружения изменений в дисперсии в моей серии.

В настоящее время я использую функцию cpt.var ,он очень силен для обнаружения изменений, НО я хотел бы иметь метод больше допуска .

cpt.var(mod$residuals)

, где mod - линейная регрессия:

mod <- lm(priceA ~ priceB)

1 Ответ

1 голос
/ 06 сентября 2011

Если вы посмотрите на файл справки для ?cpt.var, вы можете изменить параметр штрафа со значения по умолчанию SIC на Manual.При использовании Manual вы можете указать значение ошибки типа I через аргумент value.

Вот пример, основанный на файле справки:

# 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) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...