Re: Singular matrix in Invert_RtR
- From: "Dr Engelbert Buxbaum" <engelbert_buxbaum@xxxxxxxxxxx>
- Date: Thu, 09 Aug 2007 14:37:37 -0400
Am 07.08.2007, 10:28 Uhr, schrieb Dan Hatton <vi5u0-gnuplot@xxxxxxxxxxx>:
Dear All,
With a particulalrly tricky fitting problem, I keep getting the error
message
Singular matrix in Invert_RtR
just after the fit converges.
The problem is that Gnuplot's fit uses a procedure known as Marquard-Levenberg algorithm, which is sometimes very ill-behaved. There is an alternative fitting algorithm, Simplex by Nelson & Mead, which is much more stable and can also minimise Chi^2 or the median of residuals in those cases where minimising the sum of squares is statistically inappropriate. Unfortunately, Simplex can not directly calculate the standard deviations for the parameters, that is probably the reason why many scientific fitting programs (like Gnuplot) do not use it.
Byte Magazine in 1985 had a nice paper on Simplex by Caceci & Cacheris together with an implementation of that algorithm.
Sometimes it is possible to use Marquard with the parameters estimated by Simplex in order to get the standard deviations of the params, but frequently one runs into either of two problems:
- the fit aborts with a singular matrix
- the sum of squares for the parameters calculated by Marquard is several times larger than that calculated by Simplex
The alternative is to bite the bullet and calculate standard deviations by bootstrapping, that is computationally expensive but after all we no longer use 8088 processors.
.
- References:
- Singular matrix in Invert_RtR
- From: Dan Hatton
- Singular matrix in Invert_RtR
- Prev by Date: increasing linewidth
- Next by Date: Re: increasing linewidth
- Previous by thread: Re: Singular matrix in Invert_RtR
- Next by thread: combined graphs on output
- Index(es):
Relevant Pages
|