Dear Rene
As I said, I do not know Minuit well enough although I have made
a copy of the manual. As far as I understand, Minuit is a robust
but already old package written originally in Fortran for the
special purposes of the HEP community, but I might be wrong?
Meanwhile the field of statistics has made much progress in
developing novel algorithms, among them also novel algorithms
for robust fitting, as e.g. described in:
P. J. Rousseeuw and A. M. Leroy (1987)
Robust Regression and Outlier Detection. Wiley.
One of these algorithms is called Least Trimmed Squares (LTS),
and it is implemented in every serious commercial statistics
package such as S-Plus, SPSS and SAS. For the SAS implementation
see: support.sas.com/rnd/app/da/iml/robustreg.html
SAS is the world leading professional statistics package, and
probably nobody can say that SAS does not have much experience.
The statistics packages give you a choice of algorithms to
choose from, and it is up to the user to select the suitable
algorithm for his/her dataset.
You may be right that in the special case the user assumption
was wrong, so let me give you a different example, namely your
tutorial macro quantiles.C:
The figure “final quantiles” is a quantile-quantile plot (qq-plot),
and you HAVE to fit a line because the qq-plot compares two
gaussian distributions.
When I use the LTS algorithm then the line is fitted correctly,
however, the following code example does not fit it correctly,
when using the range [0,1]:
f1 = new TF1(“f1”, “pol1”, 0, 1);
gr = new TGraph(n, x, y);
gr->Fit(“f1”, “RQ”);
par0 = f1->GetParameter(0);
par1 = f1->GetParameter(1);
Only limiting the range to e.g. [0.3,0.7] results in a
correct fit, i.e. f1 = new TF1(“f1”, “pol1”, 0.3, 0.7);
Maybe, I did something wrong, and then I would be interested
how to fit this case correctly.
I did not use the methods of TMinuit directly, because I find
them pretty hard to understand.
Best regards
Christian
[/code]