> On 14 Nov 2015, at 17:02, Berend Hasselman <b...@xs4all.nl> wrote: > >> >> On 14 Nov 2015, at 16:15, Lorenzo Isella <lorenzo.ise...@gmail.com> wrote: >> >> Dear All, >> I am using optim() for a relatively simple task: a linear model where >> instead of minimizing the sum of the squared errors, I minimize the sum >> of the squared relative errors. >> However, I notice that the default algorithm is very sensitive to the >> choice of the initial fit parameters, whereas I get much more stable >> (and therefore better?) results with the BFGS algorithm. >> I would like to have some feedback on this (perhaps I made a mistake >> somewhere). >> I provide a small self-contained example. >> You can download a tiny data set from the link >> >> https://www.dropbox.com/s/tmbj3os4ev3d4y8/data-instability.csv?dl=0 >> >> whereas I paste the script I am using at the end of the email. >> Any feedback is really appreciated. >> Many thanks >> > > The initial parameter values for the percentage error variant are not very > good. > If you print min.perc_error(data,par_ini2) you can see that. > > Try > > par_ini2 <- c(1e-4,1e-4,1e-4) > > and you'll get results that are closer to each other. > The rest is up to you.
Try this at the end of your script: # Original min.perc_error(data,par_ini2) # Much better par_ini3 <- c(1e-4,1e-4,1e-4) min.perc_error(data,par_ini3) mm_def3 <-optim(par = par_ini3 , min.perc_error, data = data) mm_bfgs3 <-optim(par = par_ini3 , min.perc_error, data = data, method="BFGS") print("fit parameters with the default algorithms and the second seed ") print(mm_def3$par) min.perc_error(data,mm_def3$par) print("fit parameters with the BFGS algorithms and the second seed ") print(mm_bfgs3$par) min.perc_error(data,mm_bfgs3$par) and rejoice! Berend ______________________________________________ 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.