Ich versuche Daten an ein stückweise lineares Modell anzupassen. Das segmentierte Paket funktioniert wirklich gut, außer dass ich keine Möglichkeit finde, Constraints auf die Koeffizienten anzuwenden. Ich muss die Steigungen der linearen Segmente auf einen Bereich von Werten beschränken (z. B. 0-0,1 für Segment 1 und> 0,5 für Segment 2). Hier ist ein Beispiel ohne Einschränkungen. Vielen Dank.constrain Koeffizienten für segmentierte stückweise lineare Anpassung
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)