Я пытаюсь подобрать данные в кусочно-линейную модель. Сегментированный пакет работает очень хорошо, за исключением того, что я не могу найти способ применить ограничения к коэффициентам. Мне нужно ограничить наклоны линейных сегментов диапазоном значений (например, 0-0.1 для сегмента 1 и> 0,5 для сегмента 2). Вот пример без ограничений. Благодарю.коэффициенты сжатия для сегментированной кусочно-линейной подгонки
library(segmented)
#generate data for fit
c <- 1
m <- 0.47 #slope of 2nd line
d <- 4
n<- 30
sd <- 0.2
b <- c-m*d
x<- runif(n,0,10)
y<- ifelse(x<=d,c+rnorm(n,0,sd),m*x+b+rnorm(n,0,sd)) #piecewise data for fit
plot(x,y)
lin.mod <- lm(y~x)
segmented.mod <- segmented(lin.mod, seg.Z = ~x, psi=6)
summary(segmented.mod)
plot(segmented.mod, add=T)