Следующий рабочий процесс для нелинейной квантильной регрессии, кажется, работает. Однако я не знаю, как построить результирующую кривую.
кстати: я бы предпочел использовать функцию graphics::curve() вместо graphics::lines()
require(quantreg)
# load sample data
dat <- DNase
# introduce variable
x <- DNase$conc
y <- DNase$density
# introduce function
f <- function(a, b, x) {(a*x/(b+x))}
# fit the model
fm0 <- nls(log(y) ~ log(f(a,b,x)), dat, start = c(a = 1, b = 1))
# fit a nonlinear least-square regression
fit <- nls(y ~ f(a,b,x), dat, start = coef(fm0))
# receive coeffientes
co <- coef(fit)
a=co[1]
b=co[2]
# plot
plot(y~x)
# add curve
curve((a*x/(b+x)), add=T)
# then fit the median using nlrq
dat.nlrq <- nlrq(y ~ SSlogis(x, Asym, mid, scal), data=dat, tau=0.5)
# add curve
???
РЕДАКТИРОВАТЬ: Я ищу способ построить различные квантильные регрессии формулы, например a*x/(b+x). Вставка формулы приводит меня к вопросу, что поставить в качестве аргумента «старт»
dat.nlrq.075 <- nlrq(formula=fit, data = dat, start=???, tau = 0.75)