JuliaCon/proceedings-review#179
The idea of this package is clear: use Manifolds.jl to represent statistical manifolds, in this case exponential families.
There is one fundamental flaw with this package: a manifold is independent of the representation. The choice of coordinates does not matter.
To be perfectly clear, the "natural parameters" (relative to a choice of sufficient statistics) are simply coordinates of a manifold, and should be implemented as such.
For instance, there is just one half line (possibly with different metrics, possibly with different coordinates). Therefore, the implementations of "shifted negative numbers", or "shifted positive numbers" make no sense. It leads to code duplication and wheel reinvention. You should only ever need to use PositiveNumbers from Manifolds.jl (adding different coordinate systems, or custom metrics).
Another (less important) issue that I have is the simplicity of the implemented families: there are no multivariate normal distributions, for instance. Interesting cases could be normal distributions with isotropic variance. Again, that should not be difficult to do using the existing bricks provided in Manifolds.jl.
JuliaCon/proceedings-review#179
The idea of this package is clear: use
Manifolds.jlto represent statistical manifolds, in this case exponential families.There is one fundamental flaw with this package: a manifold is independent of the representation. The choice of coordinates does not matter.
To be perfectly clear, the "natural parameters" (relative to a choice of sufficient statistics) are simply coordinates of a manifold, and should be implemented as such.
For instance, there is just one half line (possibly with different metrics, possibly with different coordinates). Therefore, the implementations of "shifted negative numbers", or "shifted positive numbers" make no sense. It leads to code duplication and wheel reinvention. You should only ever need to use
PositiveNumbersfromManifolds.jl(adding different coordinate systems, or custom metrics).Another (less important) issue that I have is the simplicity of the implemented families: there are no multivariate normal distributions, for instance. Interesting cases could be normal distributions with isotropic variance. Again, that should not be difficult to do using the existing bricks provided in
Manifolds.jl.