InformationGeometry.jl

A Julia package for differential-geometric analyses of statistical problems.

DocumentationBuild Status

Upon closer inspection, one finds that the parameter space of a model (i.e. the set of all admissible parameter configurations) typically does not constitute a vector space as one might naively assume. Instead, the parameter space must be considered more generally as a (smooth) manifold.

Given a dataset and a prescription of a model function, which is assumed to accurately reflect the relationship present in the data, this package offers a set of basic tools to compute quantities of interest in applied information geometry and study the parameter space in detail. Said quantities of interest include

  • likelihoods,
  • confidence regions,
  • Kullback-Leibler divergences,
  • the Fisher metric,
  • geodesics,
  • Riemann and Ricci curvature tensors

and so on.

Most importantly, this package provides methods for efficient computations of the exact boundaries of confidence regions for statistical models. Given that it is common practice in experimental sciences to rely on linear approximations of the uncertainty / covariance associated with the best fit parameters of a model, the methods provided by InformationGeometry.jl constitute a significant improvement, particularly when working with models which depend non-linearly on their parameters.

Resources detailing how to use this package can be found in the documentation.

A discussion of the mathematical ideas underlying the methods employed by InformationGeometry.jl can be found in my Master's Thesis.

Future Plans for this package

InformationGeometry.jl is a loose collection of code which I wrote especially to perform calculations in the context of my Master's Thesis. As such, it was not originally written with its publication as a module in mind but instead mostly optimized to fit my personal needs. Now that my thesis is finished, I plan on revising the internals of this package to improve performance and significantly extend its functionality. In addition, I will do my best to provide detailed documentation and examples of how to use this package over the coming weeks.