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