commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phil Steitz <phil.ste...@gmail.com>
Subject Re: [math] Refactoring multiple regression classes
Date Wed, 13 Jul 2011 19:51:39 GMT
On 7/13/11 12:45 PM, Ted Dunning wrote:
> +1 to the overall thrust here.  This is a good thing.
>
> One item that I would like to add is that we should agree on the general
> direction before getting bogged down in debates on the details.
>  Establishing some momentum in the direction of agreement might help shorten
> the ensuing spelling discussions.

Thanks, yeah that's why I laid out the straw man below.  I agree
with your comment on interfaces as well, so my personal opinion is
that LinearRegression below should be an abstract class.

Phil
>
> On Wed, Jul 13, 2011 at 12:35 PM, Phil Steitz <phil.steitz@gmail.com> wrote:
>
>> To effectively integrate Greg's contributions on updating
>> regression, we really should refactor the multiple regression
>> hierarchy so that we have consistency in results reporting and data
>> definition.  Here are some initial ideas.  Better ideas and/or
>> patches welcome.
>>
>> 0. Deprecate MultipleLinearRegression (basically being replaced).
>>
>> 1. Create a LinearRegression interface with what is now in
>> UpdatingMultipleLinearRegression, minus the addObservation methods.
>>
>> 2. Define UpdatingLinearRegression extending LinearRegression
>> (adding back addObs*).
>>
>> 3. Define FixedLinearRegression extending LinearRegression, adding
>> the new*Data data definition methods now in
>> AbstractMultipleLinearRegression.
>>
>> 4. Deprecate AbstractMultipleLinearRegression.
>>
>> 5. Add AbstractFixedLinearRegression implementing
>> FixedLinearRegression and providing default impls for the new*Data
>> methods (taken from AbstractMultipleLinearRegression)
>>
>> 6. Modify OLSMultipleLinearRegression and
>> GLSMultipleLinearRegression to extend AbstractFixedLinearRegression,
>> possibly preserving MultipleLinearRegression implementation until 4.0.
>>
>> 7. If there is value to an abstract parent for the updating impls,
>> add this implementing UpdatingLinearRegression; otherwise just
>> implement directly.
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message