NAME
Math::LOESS - Perl wrapper of the Locally-Weighted Regression package originally written by Cleveland, et al.
VERSION
version 0.001000
SYNOPSIS
use
Math::LOESS;
my
$loess
= Math::LOESS->new(
x
=>
$x
,
y
=>
$y
);
$loess
->fit();
my
$fitted_values
=
$loess
->outputs->fitted_values;
$loess
->summary();
my
$prediction
=
$loess
->predict(
$new_data
, 1);
my
$confidence_intervals
=
$prediction
->confidence(0.05);
$confidence_internals
->{fit};
$confidence_internals
->{upper};
$confidence_internals
->{lower};
CONSTRUCTION
new((Piddle1D|Piddle2D) :
$x
, Piddle1D :
$y
, Piddle1D :
$weights
=
undef
,
Num :
$span
=0.75, Str :
$family
=
'gaussian'
)
Arguments:
$x
A
($n, $p)
piddle for x data, where$p
is number of predictors. It's possible to have at most 8 predictors.$y
A
($n, 1)
piddle for y data.$weights
Optional
($n, 1)
piddle for weights to be given to individual observations. By default, an unweighted fit is carried out (all the weights are one).$span
The parameter controls the degree of smoothing. Default is 0.75.
For
span
< 1, the neighbourhood used for the fit includes proportionspan
of the points, and these have tricubic weighting (proportional to(1 - (dist/maxdist)^3)^3)
. Forspan
> 1, all points are used, with the "maximum distance" assumed to bespan^(1/p)
times the actual maximum distance for p explanatory variables.When provided as a construction parameter, it is like a shortcut for,
$loess
->model->span(
$span
);
$family
If
"gaussian"
fitting is by least-squares, and if"symmetric"
a re-descending M estimator is used with Tukey's biweight function.When provided as a construction parameter, it is like a shortcut for,
$loess
->model->family(
$family
);
Bad values in $x
, $y
, $weights
are removed.
ATTRIBUTES
model
Get an Math::LOESS::Model object.
outputs
Get an Math::LOESS::Outputs object.
x
Get input x data as a piddle.
y
Get input y data as a piddle.
weights
Get input weights data as a piddle.
activated
Returns a true value if the object's fit()
method has been called.
METHODS
fit
fit()
predict
predict((Piddle1D|Piddle2D)
$newdata
, Bool
$stderr
=false)
Returns a Math::LOESS::Prediction object.
Bad values in $newdata
are removed.
summary
summary()
Returns a summary string. For example,
$loess
->summary();
SEE ALSO
https://en.wikipedia.org/wiki/Local_regression
AUTHOR
Stephan Loyd <sloyd@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2019-2023 by Stephan Loyd.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.