Generates high-entropy integer synthetic populations from marginal and (optionally) seed data using quasirandom sampling,
in arbitrary dimensionality (Smith, Lovelace and Birkin (2017)
humanleague is a python and an R package for microsynthesising populations from marginal and (optionally) seed data. The core code is implemented in C++, and the current release is version 2.
The package contains algorithms that use a number of different microsynthesis techniques:
The latter provides a bridge between deterministic reweighting and combinatorial optimisation, offering advantages of both techniques:
[* excluding the legacy functions retained for backward compatibility with version 1.0.1]
The package also contains the following utility functions:
Version 1.0.1 reflects the work described in the Quasirandom Integer Sampling (QIS) paper.
Or, for the previous version
> devtools::install_github("virgesmith/[email protected]")
Requires Python 3, with numpy installed
pip install git+https://github.com/virgesmith/[email protected]
[email protected]:~/dev/humanleague/python$ ./setup.py test
[email protected]:~/dev/humanleague/python$ ./setup.py install
The latter command may require admin rights. On linux,
sudo is unnecessary if you have group (e.g. staff) write access to /usr/local/lib.
Consult the package documentation, e.g.
> library(humanleague) > ?humanleague
in R, or for python:
>>> import humanleague as hl >>> help(hl)