[SciPy-User] ODR fitting several equations to the same parameters
Thu Nov 12 08:44:12 CST 2009
On Wed, Nov 11, 2009 at 11:26 AM, ms <email@example.com> wrote:
> Probably it is a noobish question, but statistics is still not my cup of
> tea as I'd like it to be. :)
> Let's start with a simple example. Imagine I have several linear data
> sets y=ax+b which have different b (all of them are known) but that
> should fit to the same (unknown) a. To have my best estimate of a, I
> would want to fit them all together. In this case it is trivial, you
> just subtract the known b from the data set and fit them all at the same
> In my case it is a bit different, in the sense that I have to do
> conceptually the same thing but for a highly non-linear equation where
> the equivalent of "b" above is not so simple to separate. I wonder
> therefore if there is a way to do a simultaneous fit of different
> equations differing only in the known parameters and having a single
> output, possibly with the help of ODR. Is this possible? And/or what
> should be the best thing to do, in general, for this kind of problems?
I don't know enough about ODR, but for least squares, optimize.leastsq
or curve_fit, it seems you can just substitute any known parameters
into your equation.
y_i = f(x_i, a, b_i) for each group i
plug in values for all b_i, gives reduced f(x_i, a) independent of
stack equations [y_i for all i] and [f(..) for all i]
If you fit this in curve_fit you could also choose the weights, in
case the error variance differs by groups.
Does this work or am I missing the point?
> Many thanks,
> SciPy-User mailing list
More information about the SciPy-User