Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1998
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

non-linear regression

  • To: mathgroup at smc.vnet.net
  • Subject: [mg14885] non-linear regression
  • From: Tibor Janosi <janosi at CS.Cornell.EDU>
  • Date: Mon, 23 Nov 1998 10:12:03 -0500
  • Organization: Cornell Univ. CS Dept, Ithaca NY 14853
  • Sender: owner-wri-mathgroup at wolfram.com

I am trying to run a non-linear regression on a function that can only
be represented as an algorithm. I am trying to get the result using a
command having the following structure:


NonlinearRegress(
  dataForRegression,
  functionName[list of argument names separated by commas, 
               list of parameter names separatd by commas],
  { list of argument names separated by commas },
  { 
    { parameter1, start value for parameter1 },
    ...
    { parameterN, start value for parameterN }
  },
  Method->FindMinimum
}

Now, if my understanding of the documentation is correct, I can not use
the default Levenberg Marquardt method, I have to use pure the steepest
gradient descent method ('FindMinimum'). I also have to provide either
a special form for the parameter values (see below), or to provide the
list of gradient functions.
  
The documentation states that if I provide parameters in the form 

{parameterI, {start0I, start1I}}

then there is no need for gradient functions. Unfortunately, my
documentation does not provide any explanation as to what do the two
start values mean. What is their interpretation? (Note: these values
are not the allowed minimum and maximum of the search range along the
respective dimension.)

I tried to put in some random values in the place of 'start0I' and
'start1I' just to see what is going on, but I was not successful.
Apparently, when I run the regression, the function is always evaluated
to 0, independent of the values of its arguments (the function is
correctly defined and evaluates correctly outside the regression
function).

Finally, what is the correct way of providing the gradient functions? I
have tried some obvious solutions, but all calls to the function
apparently also evalute to 0.

I am using Mathematica 3.0.

Thank you in advance for all your help.

Tibor



  • Prev by Date: RE: Re: Making a large matrix
  • Next by Date: Re : Simplify
  • Previous by thread: Announcement: QR Streams and MathDirect
  • Next by thread: Re : Simplify