[R] Scaling problem in optim()
    Rebekka Schibli 
    rebekka_schibli at gmx.ch
       
    Sun Aug 14 13:09:05 CEST 2011
    
    
  
I am using the function optim and I get the error message ABNORMAL_TERMINATION_IN_LNSRCH. Reason for this could be a scaling problem. Thus, I used parscale in order to scale the parameters. But I still have the error message. For example, with parscale=c(rep(1,n), 0.01,1,0.01):
return(optim(c(mu1,b,k,phi), neg2loglikelihood, method = "L-BFGS-B",
               lower=c(rep(-1,n),1e-5,1e-5,1e5)
,upper=c(rep(5,n),1.29,100,1.9),control=list(parscale=c(rep(1,n), 0.01,1,0.01))
               )
         )
>$par
 [1]  0.9684324  0.9618763  0.9632684  0.9667272  0.9596587  0.9661914
 [7]  0.9731076  0.9684477  0.9723313  1.1679275 92.3677202  0.4947495
$value
[1] -5438.992
$counts
function gradient 
     177      177 
$convergence
[1] 52
$message
[1] "ERROR: ABNORMAL_TERMINATION_IN_LNSRCH"
By using small values for the last parameters, for instance parscale=c(rep(1,n),0.001,0.9,0.001), there is no Error message anymore, but then the parameters (n+1) and (n+3) stay at the starting values and are not optimized anymore. 
I have tried several different values and combinations for parscale, but either I get the error message ABNORMAL_TERMINATION_IN_LNSRCH or at least one parameter is not optimized. But I want to have both. What can I do? I haven’t specified a gradient function. I am grateful for any suggestions! Thanks you!
--
    
    
More information about the R-help
mailing list