You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Gilles <gi...@harfang.homelinux.org> on 2018/01/13 12:38:26 UTC

[Statistics] Distributions

Hello.

I propose to migrate codes currently in
   org.apache.commons.math4.distribution
to a module "commons-statistics-distribution" in the
new component.

At first, I'll consider only the "one-dimensional"
distributions to avoid a dependency on the
   org.apache.commons.math4.linear
package.
"EmpiricalDistribution" and "EnumeratedDistribution"
are also excluded from the move.

Adaptation:
  * Create sub-packages for "discrete" and "continuous"
    distributions.
  * Make custom exception (similar to pending work is
    "Commons Numbers"[1]).

Issue:
  * Method
      double inverseCumulativeProbability(double p)
    depends on a "solver" defined in
       org.apache.commons.math4.analysis.solvers
    package.
  A solution would be to copy the necessary functionality
  ("BrentSolver") as an "internal" utility.
  Another would be to provide an API for "externalizing"
  the functionality. E.g.
      double inverseCumulativeProbability(double p,
                                          RootSolver p)
  were "RootSolver" would an interface defined in
  "Commons Statistics".


Regards,
Gilles

[1] https://issues.apache.org/jira/browse/NUMBERS-40


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


Re: [Statistics] Distributions

Posted by Bill Igoe <bi...@gmail.com>.
Just read the Maven description.... bingo!!!

On Tue, Jan 16, 2018 at 8:02 AM, Eric Barnhill <er...@gmail.com>
wrote:

> On Tue, Jan 16, 2018 at 3:29 PM, Bill Igoe <bi...@gmail.com> wrote:
>
> >
> > Thinking aloud.  'Math' is of course a broad subject and your goal of a
> > solid all encompassing package is admirable.
> >
>
> I am not sure that is the goal of the projects here actually. Commons is
> more about small re-usable components that emerge in a wide range of
> applications. I think our goal is not to rival SciPy, or be a full service
> scientific library like ImgLib2.
>
>
> > Managing a lot of jars or packages is a pain for the none java expert. In
> > thinking on the way python, R and other packages
> > solves the 'issue' is by automatically  downloading dependencies.
> >
>
> Do you have much familiarity with Maven? Commons is built with maven and I
> use it in all my projects as well. If you ask me maven is a very slick
> package manager, easily to rival anything in Python or R, and one reason I
> enjoy continuing to work in Java.
>
> Eric
>

Re: [Statistics] Distributions

Posted by Eric Barnhill <er...@gmail.com>.
On Tue, Jan 16, 2018 at 3:29 PM, Bill Igoe <bi...@gmail.com> wrote:

>
> Thinking aloud.  'Math' is of course a broad subject and your goal of a
> solid all encompassing package is admirable.
>

I am not sure that is the goal of the projects here actually. Commons is
more about small re-usable components that emerge in a wide range of
applications. I think our goal is not to rival SciPy, or be a full service
scientific library like ImgLib2.


> Managing a lot of jars or packages is a pain for the none java expert. In
> thinking on the way python, R and other packages
> solves the 'issue' is by automatically  downloading dependencies.
>

Do you have much familiarity with Maven? Commons is built with maven and I
use it in all my projects as well. If you ask me maven is a very slick
package manager, easily to rival anything in Python or R, and one reason I
enjoy continuing to work in Java.

Eric

Re: [Statistics] Distributions

Posted by Bill Igoe <bi...@gmail.com>.
Giles,

Seems reasonable.

Thinking aloud.  'Math' is of course a broad subject and your goal of a
solid all encompassing package is admirable.
Managing a lot of jars or packages is a pain for the none java expert. In
thinking on the way python, R and other packages
solves the 'issue' is by automatically  downloading dependencies.

So might we create a MathManager.java class concept to aid in development.
Again thinking aloud.  Say we begin with a simple MathManager class. Our
code query's MathManger ,which is a wrapper for a sophisticated java
classloader
<https://docs.oracle.com/javase/7/docs/api/java/lang/ClassLoader.html> that
automatically querys a users disk for the required jars, if not found the
MathManager querys a repository server for the the required jar and then
downloads, saves  and loads the required  byte code.  Thus the concept of
'Math' may include many developers from different fields. MathManager would
check for updates upon any class request and keep a central repository on
the users disk in synch with all future development.  The reduction in
speed would be negligible as the classloader is in use in everyday byte
code generation.

Sound busy and complicated at first but you might get the exponential
explosion of some very interesting code across the entire math discipline.
Python is highly successful in using this concept.

Bill




On Mon, Jan 15, 2018 at 5:10 AM, Gilles <gi...@harfang.homelinux.org>
wrote:

> Hi.
>
> Please have a look at the issue created on JIRA:
>   https://issues.apache.org/jira/projects/STATISTICS/issues/STATISTICS-2
> and give your opinion.
>
> Thanks,
> Gilles
>
> On Sat, 13 Jan 2018 13:38:26 +0100, Gilles wrote:
>
>> [...]
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: [Statistics] Distributions

Posted by Gilles <gi...@harfang.homelinux.org>.
Hi.

Please have a look at the issue created on JIRA:
   
https://issues.apache.org/jira/projects/STATISTICS/issues/STATISTICS-2
and give your opinion.

Thanks,
Gilles

On Sat, 13 Jan 2018 13:38:26 +0100, Gilles wrote:
> [...]


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