       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