modelo lineal para iniciar parámetros en nls fit
Leí sobre el uso del registro como una alternativa para crear una ecuación lineal para poder extraer valores iniciales para un ajuste nls de la ecuación lineal, en R; En consecuencia
Para la ecuación: Y = q / (1 + bDX) ^ (1 / b) donde Y y X son mis datos; q, b, D son mis parámetros a estimar. Creé el modelo lineal:
X<-1:45
Y <- c(35326L, 30339L, 23379L, 21877L, 18629L, 17627L, 15691L, 15435L,
14205L, 11732L, 10560L, 10592L, 9939L, 7491L, 4928L, 3427L, 8123L,
9027L, 8733L, 9599L, 8737L, 9135L, 8548L, 7279L, 8940L, 8459L,
8460L, 7700L, 6817L, 7167L, 7089L, 7091L, 7538L, 9206L, 9680L,
5876L, 7799L, 8384L, 10586L, 8623L, 7848L, 5534L, 6610L, 6539L,
6650L)
lmodel <- coef(lm(log(Y)~X+I(X^2)))
q0 <- exp(lmodel[1])
D0 <- -lmodel[2]
b0 <- lmodel[3]*2/D0^2
Start1=list(q=q0,b=b0,D=D0)
theta_hat2 <- nls(y~q*(1+b*D*x)^(-1/b),start=Start1)
Esto me proporciona los resultados requeridos cada vez. Sin embargo, quiero ajustar nls a algunas otras ecuaciones mencionadas a continuación que son bastante difíciles para mí. Si alguien puede ayudarme a hacer un modelo lineal que se ajuste a estos, lo agradecería enormemente.
Equation 2:
Y=q*(-D+(b/n)*X^n here q,b,D,n are to be estimated.
Equation 3:
Y=q*exp(-(X/D)^b here q,b,D are to be estimated.
Equation 4:
Y=q*X^((-b) )*exp(D/((1-b) )*(X^(1-b)-1) here q,b,D are to be estimated.
Adjunto un conjunto de datos de ejemplo para este problemaaqu: