Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Approximating scattered data

Reply
Thread Tools

Approximating scattered data

 
 
Grant Edwards
Guest
Posts: n/a
 
      01-01-2005
I've been looking for some way to approximate scattered 3D data
points in Python. The data doesn't seem to be amenable to
fitting functions like polymials, so I may have to use
something more like a spline surface.

However, I can't find anything usable from Python, and my
Fortram skills are pretty rusty. I tried SciPy, but it's spline
fitting module doesn't work at all for my data. I've found
mentions of a Python port NURBS toolbox, but all the links I
can find are broken.

I've also found references to Fortran programs from
netlib/toms, but I was hoping there might be something that was
already usable from Python.

Can anybody point me toward a Python module for approximating
scattered data using something like a Renka algorithm?

--
Grant Edwards grante Yow! How do I get HOME?
at
visi.com
 
Reply With Quote
 
 
 
 
beliavsky@aol.com
Guest
Posts: n/a
 
      01-02-2005
Grant Edwards wrote:
>I've been looking for some way to approximate scattered 3D data
>points in Python. The data doesn't seem to be amenable to
>fitting functions like polymials, so I may have to use
>something more like a spline surface.


>However, I can't find anything usable from Python, and my
>Fortram skills are pretty rusty. I tried SciPy, but it's spline
>fitting module doesn't work at all for my data. I've found
>mentions of a Python port NURBS toolbox, but all the links I
>can find are broken.


NURBS is available in Matlab and Scilab at
http://www.aria.uklinux.net/nurbs.php3 , and translating to Python with
Numeric/Numarray should not be too hard.

If you are trying to fit z = f(x,y) without having a particular
functional form in mind, you can apply a nonparametric regression
technique. One of the easiest approaches to code is Nadaraya-Watson
kernel regression -- see for example
http://www.quantlet.com/mdstat/scrip...tmlnode24.html ,
equation 4.68, where a Gaussian kernel can be used for K. PyML at
http://pyml.sourceforge.net/doc/tutorial/tutorial.html may implement
this (I have not tried it). LIBSVM at
http://www.csie.ntu.edu.tw/~cjlin/libsvm/ has a Python interface for
Support Vector Machines, a fairly popular and recent flexible
regression method.

 
Reply With Quote
 
 
 
 
Grant Edwards
Guest
Posts: n/a
 
      01-02-2005
On 2005-01-02, http://www.velocityreviews.com/forums/(E-Mail Removed) <(E-Mail Removed)> wrote:

>>However, I can't find anything usable from Python, and my
>>Fortram skills are pretty rusty. I tried SciPy, but it's spline
>>fitting module doesn't work at all for my data. I've found
>>mentions of a Python port NURBS toolbox, but all the links I
>>can find are broken.

>
> NURBS is available in Matlab and Scilab at
> http://www.aria.uklinux.net/nurbs.php3 , and translating to
> Python with Numeric/Numarray should not be too hard.


Right. It says there's a Python module for the NURBS toolkit,
but there's nothing about NURBS on the page to which the link
points. Googling for Python and NURBS toolkit doesn't find
anything else.

> If you are trying to fit z = f(x,y) without having a particular
> functional form in mind, you can apply a nonparametric regression
> technique. One of the easiest approaches to code is Nadaraya-Watson
> kernel regression -- see for example
> http://www.quantlet.com/mdstat/scrip...tmlnode24.html ,
> equation 4.68,


Well, I can see it, but that's about it...

> where a Gaussian kernel can be used for K. PyML at
> http://pyml.sourceforge.net/doc/tutorial/tutorial.html may
> implement this (I have not tried it).


Thanks, I'll take a look.

> LIBSVM at http://www.csie.ntu.edu.tw/~cjlin/libsvm/ has a
> Python interface for Support Vector Machines, a fairly popular
> and recent flexible regression method.


I'll give that a look also.

One of the important considerations is the efficiency of
evaluating the approximating function (calculating z given x
and y). That code is going to be running on a rather slow
processor w/o floating point HW, and if the evaluation takes
more than about 40ms, I'm going to have problems. The
evaluating the spline surface produced by scipy's FITPACK
wrapper was fast enough, but I had to force the scattered data
onto a grid (which introduced errors), and then the spline
surfaces generated were wildly unstable between the grid
points.

--
Grant Edwards grante Yow! The Korean War must
at have been fun.
visi.com
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Scattered I/O (on MS Windows) Daniel Berger Ruby 3 10-24-2007 02:47 PM
Tracking changes in some central database by multiple objects scattered around the program jb Java 1 06-03-2006 11:11 AM
approximating pi bryo1001 C++ 7 02-25-2005 09:44 AM
simple programs to deal with data format, data synchronisation Ram VHDL 1 02-24-2005 05:34 PM
Data Recovery Book and Online Business Promotion, Products Sales Promotion, Search Engine Optimization and Online Data Recovery Training services Author Tarun Tyagi Cisco 0 12-15-2004 01:52 AM



Advertisments