Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Re: Module/Algorithm to reduce data points?

by kvale (Monsignor)
on Apr 24, 2006 at 18:29 UTC ( #545345=note: print w/ replies, xml ) Need Help??


in reply to Module/Algorithm to reduce data points?

If you simply want to reduce the number of points, use a decimation procedure. For example if you want to eliminate half the points, sort the points on the x or y axis and throw out the odd numbered points, keeping the even points.

If your goal is to somehow approximate the curve that these points lie upon, you want to do some sort of regression, that is, create a statistical model of the process generating the points and fit the parameters of the model. An example module that would do this in the linear case is Statistics::Regression. From the synopsis:

use Statistics::Regression; # Create regression object my $reg = Statistics::Regression->new( 3, "sample regression", [ "const", "someX", "someY" ] ); # Add data points $reg->include( 2.0, [ 1.0, 3.0, -1.0 ] ); $reg->include( 1.0, [ 1.0, 5.0, 2.0 ] ); $reg->include( 20.0, [ 1.0, 31.0, 0.0 ] ); $reg->include( 15.0, [ 1.0, 11.0, 2.0 ] ); # Print the result $reg->print(); # Prints the following: # **************************************************************** # Regression 'sample regression' # **************************************************************** # Theta[0='const']= 0.2950 # Theta[1='someX']= 0.6723 # Theta[2='someY']= 1.0688 # R^2= 0.808, N= 4 # **************************************************************** # Or, to get the values of the coefficients and R^2 my @theta = $reg->theta; my $rsq = $reg->rsq;

-Mark


Comment on Re: Module/Algorithm to reduce data points?
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://545345]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (5)
As of 2014-07-10 03:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (198 votes), past polls