[SciPy-User] scipy.interpolate.rbf: how is "smooth" defined?

Mischa Schirmer mischa@astro.uni-bonn...
Mon Aug 30 06:10:48 CDT 2010


I'm doing a 2D fit using scipy.interpolate.rbf.
I have no problem with the fit itself, it works fine.

Data points are randomly scattered in a x-y plane,
and have a z-value each. The data is fairly well 
behaved, in the sense that variations across-x-y 
plane are slow. The data is somewhat noisy, and
thus I want to smooth it.

rbf has a 'smooth' parameter which is working well, 
but it is exteremly poorly documented. Basically,
for smooth=0 no smoothing takes place, and for 
smooth>0 some smoothing takes place.

Does anybody know how large the smoothing length 
is? Is it internally modified depending on the
number of nodes entering the fit?

I'm asking because the number of nodes in my data 
can vary from a few 10s to more than 10000.
Clearly, in the latter case I can do with a much
smaller smoothing scale, but I'd like to determine
it in some automatic fashion.

It appears that the smoothing length is 
somehow normalised. At the moment I set 'smooth'
to 10% of the average distance between nodes
(in data units), resulting in a (numerically) 
much larger effective smoothing scale.

Any insight is much appreciated!

Mischa Schirmer

More information about the SciPy-User mailing list