

 
Math::GSL::Multifit(3) 
User Contributed Perl Documentation 
Math::GSL::Multifit(3) 
Math::GSL::Multifit  Leastsquares functions for a general linear model with
multiple parameters
use Math::GSL::Multifit qw /:all/;
The functions in this module perform leastsquares fits to a general linear
model, y = X c where y is a vector of n observations, X is an n by p matrix of
predictor variables, and the elements of the vector c are the p unknown
bestfit parameters which are to be estimated.
Here is a list of all the functions in this module :
 "gsl_multifit_linear_alloc($n, $p)"  This function allocates a
workspace for fitting a model to $n observations using $p parameters.
 "gsl_multifit_linear_free($work)"  This function frees the
memory associated with the workspace w.
 "gsl_multifit_linear($X, $y, $c, $cov, $work)"  This function
computes the bestfit parameters vector $c of the model y = X c for the
observations vector $y and the matrix of predictor variables $X. The
variancecovariance matrix of the model parameters vector $cov is estimated
from the scatter of the observations about the bestfit. The sum of squares
of the residuals from the bestfit, \chi^2, is returned after 0 if the
operation succeeded, 1 otherwise. If the coefficient of determination is
desired, it can be computed from the expression R^2 = 1  \chi^2 / TSS,
where the total sum of squares (TSS) of the observations y may be computed
from gsl_stats_tss. The bestfit is found by singular value decomposition of
the matrix $X using the preallocated workspace provided in $work. The
modified GolubReinsch SVD algorithm is used, with column scaling to improve
the accuracy of the singular values. Any components which have zero singular
value (to machine precision) are discarded from the fit.
 "gsl_multifit_linear_svd($X, $y, $tol, $c, $cov, $work)"  This
function computes the bestfit parameters c of the model y = X c for the
observations vector $y and the matrix of predictor variables $X. The
variancecovariance matrix of the model parameters vector $cov is estimated
from the scatter of the observations about the bestfit. The sum of squares
of the residuals from the bestfit, \chi^2, is returned after 0 if the
operation succeeded, 1 otherwise. If the coefficient of determination is
desired, it can be computed from the expression R^2 = 1  \chi^2 / TSS,
where the total sum of squares (TSS) of the observations y may be computed
from gsl_stats_tss. In this second form of the function the components are
discarded if the ratio of singular values s_i/s_0 falls below the
userspecified tolerance $tol, and the effective rank is returned after the
sum of squares of the residuals from the bestfit.
 "gsl_multifit_wlinear($X, $w, $y, $c, $cov, $work"  This
function computes the bestfit parameters vector $c of the weighted model y
= X c for the observations y with weights $w and the matrix of predictor
variables $X. The covariance matrix of the model parameters $cov is computed
with the given weights. The weighted sum of squares of the residuals from
the bestfit, \chi^2, is returned after 0 if the operation succeeded, 1
otherwise. If the coefficient of determination is desired, it can be
computed from the expression R^2 = 1  \chi^2 / WTSS, where the weighted
total sum of squares (WTSS) of the observations y may be computed from
gsl_stats_wtss. The bestfit is found by singular value decomposition of the
matrix $X using the preallocated workspace provided in $work. Any components
which have zero singular value (to machine precision) are discarded from the
fit.
 "gsl_multifit_wlinear_svd($X, $w, $y, $tol, $rank, $c, $cov, $work)
" This function computes the bestfit parameters vector $c of the
weighted model y = X c for the observations y with weights $w and the matrix
of predictor variables $X. The covariance matrix of the model parameters
$cov is computed with the given weights. The weighted sum of squares of the
residuals from the bestfit, \chi^2, is returned after 0 if the operation
succeeded, 1 otherwise. If the coefficient of determination is desired, it
can be computed from the expression R^2 = 1  \chi^2 / WTSS, where the
weighted total sum of squares (WTSS) of the observations y may be computed
from gsl_stats_wtss. The bestfit is found by singular value decomposition
of the matrix $X using the preallocated workspace provided in $work. In this
second form of the function the components are discarded if the ratio of
singular values s_i/s_0 falls below the userspecified tolerance $tol, and
the effective rank is returned after the sum of squares of the residuals
from the bestfit..
 "gsl_multifit_linear_est($x, $c, $cov)"  This function uses the
bestfit multilinear regression coefficients vector $c and their covariance
matrix $cov to compute the fitted function value $y and its standard
deviation $y_err for the model y = x.c at the point $x, in the form of a
vector. The functions returns 3 values in this order : 0 if the operation
succeeded, 1 otherwise, the fittes function value and its standard
deviation.
 "gsl_multifit_linear_residuals($X, $y, $c, $r)"  This function
computes the vector of residuals r = y  X c for the observations vector $y,
coefficients vector $c and matrix of predictor variables $X. $r is also a
vector.
 "gsl_multifit_gradient($J, $f, $g)"  This function computes the
gradient $g of \Phi(x) = (1/2) F(x)^2 from the Jacobian matrix $J and
the function values $f, using the formula $g = $J^T $f. $g and $f are
vectors.
 "gsl_multifit_test_gradient($g, $epsabas)"  This function tests
the residual gradient vector $g against the absolute error bound $epsabs.
Mathematically, the gradient should be exactly zero at the minimum. The test
returns $GSL_SUCCESS if the following condition is achieved, \sum_i g_i
< $epsabs and returns $GSL_CONTINUE otherwise. This criterion is suitable
for situations where the precise location of the minimum, x, is unimportant
provided a value can be found where the gradient is small enough.
 "gsl_multifit_test_delta($dx, $x, $epsabs, $epsrel)"  This
function tests for the convergence of the sequence by comparing the last
step vector $dx with the absolute error $epsabs and relative error $epsrel
to the current position x. The test returns $GSL_SUCCESS if the following
condition is achieved, dx_i < epsabs + epsrel x_i for each component
of x and returns $GSL_CONTINUE otherwise.
The following functions are not yet implemented. Patches Welcome!
 "gsl_multifit_covar "
 "gsl_multifit_fsolver_alloc($T, $n, $p)"
 "gsl_multifit_fsolver_free "
 "gsl_multifit_fsolver_set "
 "gsl_multifit_fsolver_iterate "
 "gsl_multifit_fsolver_name "
 "gsl_multifit_fsolver_position "
 "gsl_multifit_fdfsolver_alloc "
 "gsl_multifit_fdfsolver_set "
 "gsl_multifit_fdfsolver_iterate "
 "gsl_multifit_fdfsolver_free "
 "gsl_multifit_fdfsolver_name "
 "gsl_multifit_fdfsolver_position "
For more informations on the functions, we refer you to the GSL offcial
documentation: <http://www.gnu.org/software/gsl/manual/html_node/>
Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan
<thierry.moisan@gmail.com>
Copyright (C) 20082011 Jonathan "Duke" Leto and Thierry Moisan
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. 