Если средство заполнения неизвестно, вы можете использовать пакет strucchange
.
Пример, предполагающий уникальную точку останова:
library(strucchange)
set.seed(666)
y <- c(rnorm(100,0,1), rnorm(100,1,1))
bp <- breakpoints(y ~ 1, breaks = 1) # assume a unique breakpoint
bp$breakpoints
# 102
Если нет предположения о количестве точек останова:
library(strucchange)
set.seed(666)
y <- c(rnorm(100,0,1), rnorm(100,1,1), rnorm(100,0,1))
bp <- breakpoints(y ~ 1, breaks = NULL) # unknown number of breakpoints
bp$breakpoints
# 102, 213
changepoint
- еще один пакет для обнаружения точек останова.
strucchange
в более общем смысле позволяет искать точки останова, предполагая, что модель линейной регрессии на сегментах(например, он может обнаружить изменение точки пересечения / наклона в случае простой линейной регрессии).