commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Steitz <>
Subject Re: [math] fitting.leastsquares and stat.regression
Date Wed, 05 Mar 2014 17:05:27 GMT
On 3/4/14, 11:37 AM, Evan Ward wrote:
> Phil suggested we discuss the relationship of the two least squares
> packages in [math]
> Current Status
> Currently both fitting.leastsquares and stat.regression have least
> squares implementations. The fitting.leastsquares package supports
> non-linear least squares with weights, pluggable optimization
> algorithms, and (soon) data editing. The package is written from an
> optimization/engineer's perspective.
> As far as I can tell the stat.regression implementations are for linear
> least squares. Some of the implementations contain neat optimizations,
> for example requiring O(1) space for n data points. This package seems
> to be written more from a statistician/economist's perspective.
> Options
> 1. Keep separate packages.
> 2. delegate the implementation from one package to the other
> 3. merge into a single package. (could lead to some interesting
> algorithms. e.g. non-linear general least squares)
> Phis, please add any important points I've missed.

This is correct.  I don't see a big problem here - it is just worth
asking where the residual analysis / data editing functionality
belongs - in both places?

Also, it is worth considering merging the implementations.  In the
stats classes, these would be the non-updating impls (those that
require the full set of data in memory).  It may well be that the
only material commonality is what is already exploited - the .linear
decompositions.  Residual analysis may be something that can be shared.

> Best Regards,
> Evan
>> Phil Steitz commented on MATH-1105:
>> -----------------------------------
>> Might be better to take this discussion to the ML. We now have two
>> least squares impls - one in fitting/leastsquares and another in
>> stats.regression (actually this has been true for some time). The
>> stats side of it (residual analysis, ANOVA, etc.) belongs more
>> naturally in stats.regression. It might make more sense to add this
>> functionality there. Or maybe we just refactor to have the
>> stats.regression classes use the impl in leastsquares. In any case, we
>> should discuss on the ML.
>>> Least squares statistical data editing
>>> --------------------------------------
>>> Key: MATH-1105
>>> URL:
>>> Project: Commons Math
>>> Issue Type: Improvement
>>> Reporter: Evan Ward
>>> Attachments: 0001-Add-statistical-editing-capability.patch,
>>> 0002-Integrate-data-editing-with-the-LS-framework.patch
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message