Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2006
*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 2006

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

Search the Archive

Re: simultaneous nonlinear regression of a lot of data

  • To: mathgroup at smc.vnet.net
  • Subject: [mg65453] Re: [mg65427] simultaneous nonlinear regression of a lot of data
  • From: "Carl K. Woll" <carlw at wolfram.com>
  • Date: Sun, 2 Apr 2006 05:00:13 -0400 (EDT)
  • References: <200603311109.GAA15091@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

dantimatter wrote:
> Hello all,
> 
> I have a question about using the nonlinear regression function on a
> large data set.  Perhaps some of you have suggestions, and can point me
> in another direction if this is not the best way to solve this problem.
> 
> 
> Basically I have ~100 data sets of ~200 points each, and I'd like to
> fit each set to the following function:
> 
> G(t) = 1/N * [ y / (1+t/m1) + (1-y) / (1+t/m2) ]
> 
> For each data set, the numbers N and y are different, but the numbers
> m1 and m2 are the same for all data sets.  The problem is that I only
> know m1, and not m2.  I am hoping to simultaneously solve all these
> data sets to come up with a value for m2, but I'm not entirely sure how
> to code it.  I can come up with a reasonable m2 to start any
> regression. 
> 
> Any thoughts?
> 
> Thanks!

Why don't you just augment your data sets with the n and y information, 
so that it looks like:

data = {
   {n1, y1, t1, G[t1]}, (* data set 1 *)
   {n1, y1, t2, G[t2]},
   ...
   {n10, y10, t1, G[t1]}, (* data set 10 *)
   {n10, y10, t2, G[t2]},
   ...
}

Then, use FindFit in the usual way

FindFit[data, 1/n * (y/(1+t/m1) + (1-y)/(1+t/m2)), {m2}, {n, y, t}]

where of course you substitute the known value of m1. With this approach 
you can even use NonlinearRegress, and obtain regression statistics for 
the fit. I tested this with a sample of 100 sets of 200 data points for 
a total of 20000 data points, and FindFit found the fit in .2 seconds.

Carl Woll
Wolfram Research


  • Prev by Date: Re: Typing special symbols in text mode?
  • Next by Date: Re: Convex Hull 3D
  • Previous by thread: Re: simultaneous nonlinear regression of a lot of data
  • Next by thread: Re: simultaneous nonlinear regression of a lot of data