Re: problem with NonlinearFit
- To: mathgroup at smc.vnet.net
- Subject: [mg4788] Re: problem with NonlinearFit
- From: rubin at msu.edu (Paul A. Rubin)
- Date: Mon, 16 Sep 1996 23:51:17 -0400
- Organization: Michigan State University
- Sender: owner-wri-mathgroup at wolfram.com
In article <508n6c$com at dragonfly.wolfram.com>, "Brian O'NEILL" <oneill at iiasa.ac.at> wrote: -> ->I am having the following problem with the NonlinearFit function, and would ->appreciate any tips you might have. (I have appended sample Mathematica code ->below.) -> ->My goal is to fit a non-monotically decreasing time series with a ->monotonically decreasing function (specifically, a sum of decaying ->exponenitials plus a constant). I am approaching the problem by using ->NonlinearFit and specifying a general functional form, then attempting to ->constrain the search to non-negative coefficients and non-positive ->exponents. However, in general I have run into the following problems: -> ->(1) NonlinearFit will accept parameter specifications of the form {x,xo}, or ->of the form {x,minx,maxx}, but not of the form {x,xo,xmin,xmax}. This means ->I can constrain the variables, but I can't start from different points to ->test robustness. -> ->(2)The routine stops when it tries to search outside the constraints instead ->of continuing the search in a different direction, so that it is important ->to be able to specify different initial values to look elsewhere. -> [remainder edited out] a. I think you've hit on a bug in NonlinearFit, or more precisely a discrepancy between the documentation in the "Guide to Standard Mma Packages" and the actual function (at least according to what ??NonlinearFit returns). b. This is tacky, but it might function as a workaround: replace a1, a2, a3, tau1, tau2, tau3 with a1^2, a2^2, ... and then don't constrain a1, ..., tau3. Presumably you can fiddle with starting values, then. c. WAY BACK WHEN I was a grad student (in math), I worked for a prof once who was interested in a technique called "exponential peeling" for fitting precisely this kind of function (sum of decaying exponentials) to data. I've forgotten the details, but I think it was a successive approximation scheme, which started by assuming that for large values of t the term with the smallest decay rate would dominate; so you estimated that term out in the tail, subtracted it from the data, recursed at it until you'd estimated all the terms, then started over (or something like that - it has been a while). If that method hasn't been discredited in the last century or so, you might want to look it up. -- Paul ************************************************************************** * Paul A. Rubin Phone: (517) 432-3509 * * Department of Management Fax: (517) 432-1111 * * Eli Broad Graduate School of Management Net: RUBIN at MSU.EDU * * Michigan State University * * East Lansing, MI 48824-1122 (USA) * ************************************************************************** Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. J. W. v. GOETHE ==== [MESSAGE SEPARATOR] ====