# Model and experiment fitting.

Sebastian Żurek sebzur at pin.if.uz.zgora.pl
Fri Oct 20 16:33:47 CDT 2006

Hi!

This is probably a silly question but I'm getting confused with a
certain problem: a comparison between experimental data points (2D
points set) and a model (2D points set - no analytical form).

The physical model produces (by a sophisticated simulations done by an
external program) some 2D points data and  one of my task is to compare
those calculated data with an experimental one.

The experimental and modeled data have form of 2D curves, build of n
2D-points, i.e.:

expDat=[[x1,x2,x3,..xn],[y1,y2,y3,...,yn]]
simDat=[[X1,X2,X3,...,Xn],[Y1,Y2,Y3,...,Yn]]

The task of determining, let's say, a root mean squarred error (RMSe)
is trivial if x1==X1, x2==X2, etc.

In general, which is a common situation xk differs from Xk (k=0..n) and
one may not simply compare succeeding Yk and yk (k=0..n) to determine
the goodness-of-fit. The distance h=Xk-X(k-1) is constant, but similar
distance m(k)=xk-x(k-1) depends on k-th point and is not a constant
value, although the data array lengths for simulation and experiment are
the same.

My first idea was to do some interpolations to obtain the missing
points, but I held it 'by a hand' (which, BTW gave quite rewarding
results)  and I suppose, there's some i.g. numpy method to do it for me,
isn't it?

I suppose to do something like:

gfit(expDat,simDat,'measure_type')

which I hope will return the number determining the goodness-of-fit
(mean squarred error, root mean squarred error,...) of two sets of
discrete 2D data points.

Is there something like that in any numerical python modules (numpy,
pylab) I could use?

I can imagine, I can fit the data with some polynomial or whatever,
and than compare the fitted data, but my goal is to operate on
as raw data as it's possible.

Sebastian

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier