[SciPy-User] scipy.interpolate.rbf sensitive to input noise ?
Robert Kern
robert.kern at gmail.com
Thu Feb 18 10:48:51 EST 2010
On Thu, Feb 18, 2010 at 09:19, denis <denis-bz-gg at t-online.de> wrote:
> A followup to the 15feb thread "creating a 3D surface plot from
> collected data":
> the doc for scipy.interpolate.rbf says that 3 of the 7 radial
> functions
> use a scale paramater `epsilon`, 4 do not.
> Odd -- how can some be scale-free ?
> Running rbf on 100 1d random.uniform input points
> (after changing the linalg.solve in rbf.py to lstsq)
Why would you do this? This does not magically turn Rbf interpolation
into a smoothing approximation. Use the "smooth" keyword to specify a
smoothing parameter.
> shows that all but linear and gaussian are noisy,
> giving interpolants way outside the input range:
>
> N: 100 ngrid: 50 sigma: 0.1
> # min max max |delta| Rbf
> -1.0 1.0 0.5 gaussian
> -1.0 1.2 0.3 linear
> -1.4 2.1 2.5 thin-plate
> -1.0 2.2 3.0 inverse multiquadric
> -1.0 2.4 3.2 multiquadric
> -2.1 12.8 7.4 quintic
> -10.6 7.0 11.7 cubic
>
> Should Rbf be moved off to noisymethods/... until experts can look it
> over,
> or have I done something stupid ?
I'm not sure what else you would expect from interpolating uniform
random noise. Many interpolation methods tend to give such
oscillations on such data.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
More information about the SciPy-User
mailing list