> On Jun 20, 2018, at 8:50 AM, Lorenzo Isella <lorenzo.ise...@gmail.com> wrote: > > Dear All, > I have a problem I haver been struggling with for a while: I need to > carry out a non-linear fit (and this is the > easy part). > I have a set of discrete values {x1,x2...xN} and the corresponding > {y1, y2...yN}. The difficulty is that I would like the linear fit to > preserve the sum of the values y1+y2+...yN. > I give an example below (for which there may even be an analytical > solution, but that is not the point here) > > ############################################################################ > library(minpack.lm) > > > > set.seed(124) > > z <- rexp(3000,3) > > > zf <- z[z<= 0.5 | z>=0.9] > > myhist <- hist(zf, plot=FALSE) > > > df <- data.frame(x=myhist$mids, y=myhist$density) > > > > myfit <- nlsLM(y~(A*exp(-lambda*x)) > ,data=df, start=list(A=1,lambda=1)) > > > >> sum(myhist$density) > [1] 5 >> sum(predict(myfit)) > [1] 4.931496 > > ############################################################################ > I would like sum(predict(myfit)) to be exactly 5 from the start, > without renormalising a posteriori the fit.
Wouldn't that happen if you minimized that absolute deviations from the fit rather than minimizing the sums of squares?? > > Any suggestion is appreciated. > Cheers > > Lorenzo > David Winsemius Alameda, CA, USA 'Any technology distinguishable from magic is insufficiently advanced.' -Gehm's Corollary to Clarke's Third Law ______________________________________________ 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.