[ROOT] Re: Need help with multidimfit

From: Christian Holm Christensen (cholm@hehi03.nbi.dk)
Date: Wed Jun 20 2001 - 12:55:08 MEST


Hi Christian, 

(Kinda odd to write your own name in a mail like that :-) 

Sorry for the late answer - been kinda busy. 

On Sat, 16 Jun 2001 14:48:07 +0200
cstrato@EUnet.at wrote
concerning ": Need help with multidimfit":
> Dear Name-Brother, dear Rooters
> 
> I am trying to fit some data and are severly stuck. Maybe,
> you and/or others can help me.
> 
> I have N data (rows) of the form (x[i],y[i],z[i]) where I am trying
> to use TMultiDimFit. For AddRow() I used the mean as dependent
> quantitiy and StdDev as error. Following the example multidimfit.C
> in the tutorial I got a function MDF(). When I apply MDF() to
> the N data I get N parameters. Sorrowly, it is not quite clear to
> me how to use these parameters.

The MDF function/method is a mapping from your input space (R^N) into
R (R being the set of real numbers) which best parameterises your
dependent quantaty.  So suppose you had 3 seperate meassurements x, y,
z, from which you can deduce 1 quantaty, d, optionally with the error
e, then your i'th sample input will be tuple like 

  (x_i, y_i, z_i, d_i, e_i) 

after having made the fit, the function/method in MDF will give you
the best parameterisation in terms of polynomials (Chebyshev,
Legendre, or Monomials) that maps your input space (R^3) into quantaty
(R).  That is, if you give a tuple of like 

  (x_j, y_j, z_j) 

from your sample input, the MDF will give you approximently the
corresponding d_j.  The idea is ofcourse to apply the function/method
in MDF to new data from the same space as your sample input, to get
values of the quantaty of intrest.  

> What I need is the following:
> All data have to be transformed in a way that they scatter around
> the diagonal x=y=z.

Well, as far as I can remember, with out thinking to much about it
mind you, you need to have a one-to-one (onto?) mapping of R^3 onto it 
self.  

> How do I have to use the parameters to achieve this?
> Is TMultidimfit the rigth way to do this?

It seems to me that you really don't want a parameterisation (or
interpolation) of the data, but rather a transformation.  For that you
should use PCA (TPrincipal) to make a linear transformation from R^3
onto it self.  

Further, you get for free using PCA a way of classifying data, since a
very large fluctuation away from the mean suggests that the event at
hand is not well simulated by the input (training) sample.  So PCA
is sort of a primitive classification neural net, but without the
unfortunate non-linearity of neural nets. 

In that feature space (the target space of the transformation), you
can then add what ever transformation to make the data scatter around
the diagonal.   

If you also want to make a parameterisation of the data, say you want
to determind (p_x, p_y) from (x, y, z) meassurements, do as outlined
in 
  
  http://root.cern.ch/root/html/TMultiDimFit.html#sec:considerations

For more on all of this, I refer you to 

  H. Wind. "Function parameterization." In Proceedings of the 1972
    CERN Computing and Data Processing School, volume 72-21 of Yellow 
    report. CERN, 1972. 

  H. Wind. "1. principal component analysis, 2. pattern recognition
    for track finding, 3. interpolation and functional
    representation." Yellow report EP/81-12, CERN, 1981.

and ofcourse the class documentation of TPrincipal and TMultiDimFit. 

> Thank you in advance for your help.

Oh, your welcome.  If I didn't really answer your question, please
provide me with more information - your see I wasn't, like Rene,
enterily certain what you were asking. 
 
Yours, 

Christian  -----------------------------------------------------------
Holm Christensen                             Phone:  (+45) 35 35 96 91 
  Sankt Hansgade 23, 1. th.                  Office: (+45) 353  25 305 
  DK-2200 Copenhagen N                       Web:    www.nbi.dk/~cholm    
  Denmark                                    Email:       cholm@nbi.dk



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:49 MET