- 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
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
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
Does anyone has a suggestion, maybe with a completely diffrent method?
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