Re: [R] Help specifying a non-linear model in nlsLM()

2014-12-17 Thread Prof J C Nash (U30A)
nlsLM and nls share a numerical gradient approximation and pop up the 
singular gradient quite often at the start. Package nlmrt and a very 
alpha nls14 (not on CRAN) try to use analytic derivatives for the 
Jacobian (most optimization folk will say singular Jacobian rather than 
singular gradient), so you might be better off with nlxb  from nlmrt. 
BUT ... it works on expressions, not functions.


Or you could provide your own Jacobian and make sure it is not singular 
at the start.


Both nlsLM and nlxb/nlfb will generally be OK once they get started due 
to the Marquardt adjustment to the Jacobian to avoid singularity.


JN


On 14-12-17 06:00 AM, r-help-requ...@r-project.org wrote:

Message: 9 Date: Tue, 16 Dec 2014 08:24:45 -0800 From: Bert Gunter
gunter.ber...@gene.com To: Chandrasekhar Rudrappa
chandr...@gmail.com Cc: r-help@r-project.org r-help@r-project.org
Subject: Re: [R] Help specifying a non-linear model in nlsLM()
Message-ID:
cack-te30269-jbc4roh24whycv2mrsorqcekurn+vzhvurm...@mail.gmail.com
Content-Type: text/plain; charset=UTF-8 Suitable help may not be
possible. I suspect that either your function/code is funky (is the
function smooth, non-infinite near your starting value?) or you are
overparameterized. If the latter, the remedy may depend on the nature of
your data, which you have not shared. While you may receive some help
here (there are some pretty smart optimizers who monitor the list), I
suggest you try a statistical site like stats.stackexchange.com for
help, as this appears to be primarily a statistics issue, not an R
programming one. Cheers, Bert Bert Gunter Genentech Nonclinical
Biostatistics (650) 467-7374 Data is not information. Information is
not knowledge. And knowledge is certainly not wisdom. Clifford Stoll On
Tue, Dec 16, 2014 at 6:26 AM, Chandrasekhar Rudrappa
chandr...@gmail.com wrote:

Dear All,

I am trying to fit the following model in nlsLM():

fn5 - function(x, T, t1, w_inf, Lt0){
S-function(x, T, t1){
x+(1-T)/(2*pi)*sin(2*pi*(x-t1)/(1-T))
}
F - function(x, T, t1){
t2 - t1 + (1-T)/2
t3 - t1 + (1+T)/2
t.factorial - x%%1
floor(x)*(1-T) + S(t.factorial, T, t1)*(0=t.factorial  t.factorialt2) +
S(t2, T, t1)*(t2=t.factorial  t.factorialt3) +
S(t.factorial-T, T, t1)*(t3=t.factorial  t.factorial1)
}
return(w_inf - (w_inf - Lt0)*exp(-(2/30)*(F(x,T,t1)-F(7,T,t1
}
fn6- y~fn5(x, T, t1, w_inf, Lt0)
startval-c(x=x, T=0.035, t1=0.359, w_inf=135, Lt0=47)
(nlsktm1 - nlsLM(fn6, start=startval, lower=c(x=x, T=0.0135, t1=0.259,
w_inf=131, Lt0=41), jac=NULL, trace=T, data=ktm,
control=nls.control(maxiter=10)))

When I run the above script, the following error is displayed:

Error in nlsModel(formula, mf, start, wts) :
   singular gradient matrix at initial parameter estimates
In addition: Warning message:
In nls.lm(par = start, fn = FCT, jac = jac, control = control, lower =
lower,  :
   lmdif: info = 0. Improper input parameters.

Suitable help is requested.
--
Dr. TR Chandrasekhar, M.Sc., M. Tech., Ph. D.,
Sr. Scientist
Rubber Research Institute of India
Hevea Breeding Sub Station
Kadaba - 574 221
DK Dt., Karnataka
Phone-Land: 08251-214336
Mobile: 9448780118

 [[alternative HTML version deleted]]

__
R-help@r-project.org  mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guidehttp://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.




__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


[R] Help specifying a non-linear model in nlsLM()

2014-12-16 Thread Chandrasekhar Rudrappa
Dear All,

I am trying to fit the following model in nlsLM():

fn5 - function(x, T, t1, w_inf, Lt0){
S-function(x, T, t1){
x+(1-T)/(2*pi)*sin(2*pi*(x-t1)/(1-T))
}
F - function(x, T, t1){
t2 - t1 + (1-T)/2
t3 - t1 + (1+T)/2
t.factorial - x%%1
floor(x)*(1-T) + S(t.factorial, T, t1)*(0=t.factorial  t.factorialt2) +
S(t2, T, t1)*(t2=t.factorial  t.factorialt3) +
S(t.factorial-T, T, t1)*(t3=t.factorial  t.factorial1)
}
return(w_inf - (w_inf - Lt0)*exp(-(2/30)*(F(x,T,t1)-F(7,T,t1
}
fn6- y~fn5(x, T, t1, w_inf, Lt0)
startval-c(x=x, T=0.035, t1=0.359, w_inf=135, Lt0=47)
(nlsktm1 - nlsLM(fn6, start=startval, lower=c(x=x, T=0.0135, t1=0.259,
w_inf=131, Lt0=41), jac=NULL, trace=T, data=ktm,
control=nls.control(maxiter=10)))

When I run the above script, the following error is displayed:

Error in nlsModel(formula, mf, start, wts) :
  singular gradient matrix at initial parameter estimates
In addition: Warning message:
In nls.lm(par = start, fn = FCT, jac = jac, control = control, lower =
lower,  :
  lmdif: info = 0. Improper input parameters.

Suitable help is requested.
-- 
Dr. TR Chandrasekhar, M.Sc., M. Tech., Ph. D.,
Sr. Scientist
Rubber Research Institute of India
Hevea Breeding Sub Station
Kadaba - 574 221
DK Dt., Karnataka
Phone-Land: 08251-214336
Mobile: 9448780118

[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


Re: [R] Help specifying a non-linear model in nlsLM()

2014-12-16 Thread Bert Gunter
Suitable help may not be possible. I suspect that either your
function/code is funky (is the function smooth, non-infinite near your
starting value?) or you are overparameterized. If the latter, the
remedy may depend on the nature of your data, which you have not
shared.

While you may receive some help here (there are some pretty smart
optimizers who monitor the list), I suggest you try a statistical site
like stats.stackexchange.com for help, as this appears to be primarily
a statistics issue, not an R programming one.

Cheers,
Bert

Bert Gunter
Genentech Nonclinical Biostatistics
(650) 467-7374

Data is not information. Information is not knowledge. And knowledge
is certainly not wisdom.
Clifford Stoll




On Tue, Dec 16, 2014 at 6:26 AM, Chandrasekhar Rudrappa
chandr...@gmail.com wrote:
 Dear All,

 I am trying to fit the following model in nlsLM():

 fn5 - function(x, T, t1, w_inf, Lt0){
 S-function(x, T, t1){
 x+(1-T)/(2*pi)*sin(2*pi*(x-t1)/(1-T))
 }
 F - function(x, T, t1){
 t2 - t1 + (1-T)/2
 t3 - t1 + (1+T)/2
 t.factorial - x%%1
 floor(x)*(1-T) + S(t.factorial, T, t1)*(0=t.factorial  t.factorialt2) +
 S(t2, T, t1)*(t2=t.factorial  t.factorialt3) +
 S(t.factorial-T, T, t1)*(t3=t.factorial  t.factorial1)
 }
 return(w_inf - (w_inf - Lt0)*exp(-(2/30)*(F(x,T,t1)-F(7,T,t1
 }
 fn6- y~fn5(x, T, t1, w_inf, Lt0)
 startval-c(x=x, T=0.035, t1=0.359, w_inf=135, Lt0=47)
 (nlsktm1 - nlsLM(fn6, start=startval, lower=c(x=x, T=0.0135, t1=0.259,
 w_inf=131, Lt0=41), jac=NULL, trace=T, data=ktm,
 control=nls.control(maxiter=10)))

 When I run the above script, the following error is displayed:

 Error in nlsModel(formula, mf, start, wts) :
   singular gradient matrix at initial parameter estimates
 In addition: Warning message:
 In nls.lm(par = start, fn = FCT, jac = jac, control = control, lower =
 lower,  :
   lmdif: info = 0. Improper input parameters.

 Suitable help is requested.
 --
 Dr. TR Chandrasekhar, M.Sc., M. Tech., Ph. D.,
 Sr. Scientist
 Rubber Research Institute of India
 Hevea Breeding Sub Station
 Kadaba - 574 221
 DK Dt., Karnataka
 Phone-Land: 08251-214336
 Mobile: 9448780118

 [[alternative HTML version deleted]]

 __
 R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
 https://stat.ethz.ch/mailman/listinfo/r-help
 PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
 and provide commented, minimal, self-contained, reproducible code.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.