You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Mark R. Diggory" <md...@latte.harvard.edu> on 2004/05/28 20:04:29 UTC

[math] AbstractDescriptive Statistics

I'm curious about AbstractDescriptiveStatistics, currently our Type 
Hierarchy looks like this:

Object
     --> DescriptiveStatistics (implements Statistical Summary)
               --> AbstractDescriptiveStatistics
                            --> DescriptiveStatisticsImpl

                            --> ListUnivariateImpl
                                         --> BeanListUnivariateImpl


Why don't we consolidate AbstractDescriptiveStatistics into 
DescriptiveStatistics? Then we will have

Object
     --> DescriptiveStatistics (implements StatisticalSummary)
               --> DescriptiveStatisticsImpl

               --> ListUnivariateImpl
                            --> BeanListUnivaraiteImpl

Which is much more similar to the SummaryStatistics Hierarchy

Object
     --> SummaryStatistics (implements StatisticalSummary)
               --> SummaryStatisticsImpl

Likewise, for consistency, we should probibly rename ListUnivariateImpl 
and BeanListUnivariateImpl to ListDescriptiveStatisticsImpl and 
BeanDescriptiveStatisticsImpl

If no one has objections, I can make the changes.

-Mark


Re: [math] AbstractDescriptive Statistics

Posted by Phil Steitz <ph...@steitz.com>.
Mark R. Diggory wrote:
> 
> 
> Phil Steitz wrote:
> 
>> Mark R. Diggory wrote:
>>
>>> I'm curious about AbstractDescriptiveStatistics, currently our Type 
>>> Hierarchy looks like this:
>>>
>>> Object
>>>     --> DescriptiveStatistics (implements Statistical Summary)
>>>               --> AbstractDescriptiveStatistics
>>>                            --> DescriptiveStatisticsImpl
>>>
>>>                            --> ListUnivariateImpl
>>>                                         --> BeanListUnivariateImpl
>>>
>>>
>>> Why don't we consolidate AbstractDescriptiveStatistics into 
>>> DescriptiveStatistics? Then we will have
>>>
>>> Object
>>>     --> DescriptiveStatistics (implements StatisticalSummary)
>>>               --> DescriptiveStatisticsImpl
>>
>>
>>
>> I agree that this would be better.  The only loss is that the 
>> algorithm specification part (now in AbstractDescriptiveStatistics) 
>> would be recombined with the storage management part (now in 
>> DescriptiveStatisticsImpl).  I see no real loss in this.
>>
> 
> Now I actually understand the reason why we broke it up into two 
> classes, The Abstract class maintains the Statistics parts so they can 
> be reused in the ListUnivariateImpl etc.  Your maintaining the 
> SummaryStatistics as an abstract interface and all the Implementation is 
> in SummaryStatisticsImpl.
> 
> The modifications I'm suggesting place the methods for creating the 
> UnivariateStatistics up in DescriptiveStatistics and only the storage in 
> the Implementation. My edits basically combine DescriptiveStatistics and 
> AbstractDescriptiveStatistics (not AbstractDescriptiveStatistics and 
> DescriptiveStatisticsImpl).
> 

Viewed this way, there is no reason for SummaryStatistics to be a factory 
-- i.e., we can also collapse SummaryStatisticsImpl into 
SummaryStatistics.  I had previously been viewing the stats 
implementations as pluggable in these classes; but I am OK with this 
simplification.

Phil



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


Re: [math] AbstractDescriptive Statistics

Posted by "Mark R. Diggory" <md...@latte.harvard.edu>.

Phil Steitz wrote:
> Mark R. Diggory wrote:
> 
>> I'm curious about AbstractDescriptiveStatistics, currently our Type 
>> Hierarchy looks like this:
>>
>> Object
>>     --> DescriptiveStatistics (implements Statistical Summary)
>>               --> AbstractDescriptiveStatistics
>>                            --> DescriptiveStatisticsImpl
>>
>>                            --> ListUnivariateImpl
>>                                         --> BeanListUnivariateImpl
>>
>>
>> Why don't we consolidate AbstractDescriptiveStatistics into 
>> DescriptiveStatistics? Then we will have
>>
>> Object
>>     --> DescriptiveStatistics (implements StatisticalSummary)
>>               --> DescriptiveStatisticsImpl
> 
> 
> I agree that this would be better.  The only loss is that the algorithm 
> specification part (now in AbstractDescriptiveStatistics) would be 
> recombined with the storage management part (now in 
> DescriptiveStatisticsImpl).  I see no real loss in this.
> 

Now I actually understand the reason why we broke it up into two 
classes, The Abstract class maintains the Statistics parts so they can 
be reused in the ListUnivariateImpl etc.  Your maintaining the 
SummaryStatistics as an abstract interface and all the Implementation is 
in SummaryStatisticsImpl.

The modifications I'm suggesting place the methods for creating the 
UnivariateStatistics up in DescriptiveStatistics and only the storage in 
the Implementation. My edits basically combine DescriptiveStatistics and 
AbstractDescriptiveStatistics (not AbstractDescriptiveStatistics and 
DescriptiveStatisticsImpl).

> I agree with Stephen, however, that DescriptiveStatistics should be 
> renamed DescriptiveStatisticsFactory.
> 

Problem is that DescriptiveStatistics both the factory and the interface 
for the objects the factory creates. As such its ambiguous as both. 
Factory tends to just lengthen the name in this case.

>>
>>               --> ListUnivariateImpl
>>                            --> BeanListUnivaraiteImpl
>>
> 
>>
>> Likewise, for consistency, we should probibly rename 
>> ListUnivariateImpl and BeanListUnivariateImpl to 
>> ListDescriptiveStatisticsImpl and BeanDescriptiveStatisticsImpl
> 
> 
> I agree here as well, but I thought that we had agreed to push these 
> into /experimental, so we could release 1.0 without the BeanUtils (and 
> associated chain of) dependencies.
> 

I remember something like that.

-- 
Mark Diggory
Software Developer
Harvard MIT Data Center
http://www.hmdc.harvard.edu

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


Re: [math] AbstractDescriptive Statistics

Posted by Phil Steitz <ph...@steitz.com>.
Mark R. Diggory wrote:
> I'm curious about AbstractDescriptiveStatistics, currently our Type 
> Hierarchy looks like this:
> 
> Object
>     --> DescriptiveStatistics (implements Statistical Summary)
>               --> AbstractDescriptiveStatistics
>                            --> DescriptiveStatisticsImpl
> 
>                            --> ListUnivariateImpl
>                                         --> BeanListUnivariateImpl
> 
> 
> Why don't we consolidate AbstractDescriptiveStatistics into 
> DescriptiveStatistics? Then we will have
> 
> Object
>     --> DescriptiveStatistics (implements StatisticalSummary)
>               --> DescriptiveStatisticsImpl

I agree that this would be better.  The only loss is that the algorithm 
specification part (now in AbstractDescriptiveStatistics) would be 
recombined with the storage management part (now in 
DescriptiveStatisticsImpl).  I see no real loss in this.

I agree with Stephen, however, that DescriptiveStatistics should be 
renamed DescriptiveStatisticsFactory.
> 
>               --> ListUnivariateImpl
>                            --> BeanListUnivaraiteImpl
> 

> 
> Likewise, for consistency, we should probibly rename ListUnivariateImpl 
> and BeanListUnivariateImpl to ListDescriptiveStatisticsImpl and 
> BeanDescriptiveStatisticsImpl

I agree here as well, but I thought that we had agreed to push these into 
/experimental, so we could release 1.0 without the BeanUtils (and 
associated chain of) dependencies.

Phil
> 
> If no one has objections, I can make the changes.
> 
> -Mark
> 
> 
> ------------------------------------------------------------------------
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org



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


Re: [math] AbstractDescriptive Statistics

Posted by Al Chou <ho...@yahoo.com>.
--- "Mark R. Diggory" <md...@latte.harvard.edu> wrote:
> I'm curious about AbstractDescriptiveStatistics, currently our Type 
> Hierarchy looks like this:
> 
> Object
>      --> DescriptiveStatistics (implements Statistical Summary)
>                --> AbstractDescriptiveStatistics
>                             --> DescriptiveStatisticsImpl
> 
>                             --> ListUnivariateImpl
>                                          --> BeanListUnivariateImpl
> 
> 
> Why don't we consolidate AbstractDescriptiveStatistics into 
> DescriptiveStatistics? Then we will have

On the basis of the above diagram (I haven't looked at the code), it does seem
strange that AbstractDescriptiveStatistics is a descendant of
DescriptiveStatistics (unless the latter is an interface?).


> Object
>      --> DescriptiveStatistics (implements StatisticalSummary)
>                --> DescriptiveStatisticsImpl
> 
>                --> ListUnivariateImpl
>                             --> BeanListUnivaraiteImpl
> 
> Which is much more similar to the SummaryStatistics Hierarchy
> 
> Object
>      --> SummaryStatistics (implements StatisticalSummary)
>                --> SummaryStatisticsImpl
> 
> Likewise, for consistency, we should probibly rename ListUnivariateImpl 
> and BeanListUnivariateImpl to ListDescriptiveStatisticsImpl and 
> BeanDescriptiveStatisticsImpl
> 
> If no one has objections, I can make the changes.

+0, depending on whether multivariates are in our near future (on which I
currently have no opinion).



Al

=====
Albert Davidson Chou

    Get answers to Mac questions at http://www.Mac-Mgrs.org/ .


	
		
__________________________________
Do you Yahoo!?
Friends.  Fun.  Try the all-new Yahoo! Messenger.
http://messenger.yahoo.com/ 

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