Dear all
i want to fit the self start model in nls. i have two question. i have a
function,
(asfr ~ I(((a*b)/c))+ ((c/age)^3/2)+ exp((-b^2)*(c/age)+(age/c)-2)
i am wondering how to build the selfstart model. there is lost of example,
(i.e. SSgompertz, SSmicman, SSweibull, etc). my question is, how to derive
the function of parameters. and also which model to use for get
the initials values. In the following example's the red color coding
requires the explanation??

thanks

SSgompertz
function (x, Asym, b2, b3)
{
    .expr2 <- b3^x
    .expr4 <- exp(-b2 * .expr2)
    .value <- Asym * .expr4
    .actualArgs <- as.list(match.call()[c("Asym", "b2", "b3")])
    if (all(unlist(lapply(.actualArgs, is.name)))) {
        .grad <- array(0, c(length(.value), 3L), list(NULL, c("Asym",
            "b2", "b3")))
        .grad[, "Asym"] <- .expr4
        .grad[, "b2"] <- -Asym * (.expr4 * .expr2)
        .grad[, "b3"] <- -Asym * (.expr4 * (b2 * (b3^(x - 1) *
            x)))
        dimnames(.grad) <- list(NULL, .actualArgs)
        attr(.value, "gradient") <- .grad
    }
    .value

attr(,"initial")
function (mCall, data, LHS)
{
    xy <- sortedXyData(mCall[["x"]], LHS, data)
    if (nrow(xy) < 4) {
        stop("too few distinct input values to fit the Gompertz model")
    }
    xyL <- xy
    xyL$y <- log(abs(xyL$y))
    pars <- NLSstAsymptotic(xyL)
    pars <- coef(nls(y ~ exp(-b2 * b3^x), data = xy, algorithm = "plinear",
        start = c(b2 = pars[["b1"]], b3 = exp(-exp(pars[["lrc"]])))))
    val <- pars[c(3, 1, 2)]
    names(val) <- mCall[c("Asym", "b2", "b3")]
    val
}

Cheers
-- 
Muhammad Asif Wazir
Ph.D student
Institut für Statistik und Decision Support Systems (ISDS).
University of Vienna, Austria
cell: 00436509092298

	[[alternative HTML version deleted]]

