       global fit

• To: mathgroup at smc.vnet.net
• Subject: [mg57435] global fit
• From: "Pascal" <Pascal.Plaza at ens.fr>
• Date: Sat, 28 May 2005 05:38:58 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```Hi,

Here is a fascinating problem:

B is a large data matrix, typically 500x60. Each line represents the
variations of a given physical quantity as a function of time. There
are here 60 different times.

The problem is to fit all the lines of B with a linear combination of a
reduced number (say 5) of base functions: f1[t], f2[t]...
If A is the 5x60 matrix A[[i,j]] = fi[tj], I have to find an X matrix
(500x5) such that X.A is as least-squares close to B as possible.
At this point the solution is just X = B.PseudoInverse[A]

It gets more interesting when the base functions depend non-linearly on
a few parameters: a, b, c...
Now the problem is to find X and a, b, c... such that X.A[a,b,c...]is
the best fit to the data matrix B.

I built a function of a, b, c... returning the 2-norm of X.A-B , after
calculating A with parameters a, b, c... and estimating X with
B.PseudoInverse[A]
Then I tried to use FindMinimum on this function. I entered a very good
starting point but the Kernel rapidly uses all the memory available and
shuts down.

Does anyone has a suggestion, maybe with a completely diffrent method?
Thanks.
Pascal.

```

• Follow-Ups:
• Prev by Date: Re: Integration under Mathematica 5.0
• Next by Date: FindRoot: Failed to converge to the requested accuracy - CORRECTION
• Previous by thread: Re: Complex Oddity
• Next by thread: Re: global fit