Releases: pglpm/inferno
v0.2.1
Updates to GitHub:
Added GitHub Actions workflow for automatic testing of the software.
Updates to code:
-
New logical argument "verbose" (def. TRUE) in buildmetadata(). When TRUE, messages are given for each variate, explaining the internal heuristics and guessing to determine the various metadata values.
-
Modified handling of rounded continuous variates, now more consistent according to discussion in issue #50.
-
Elimination of type-"L" variates in Monte Carlo sampling. The type "D" handles both rounded continuous variates and ordinal variates having domain with more than 10 values. samplesFdistribution() and other functions have been updated accordingly.
-
Rewritten plotFsamples(). Now it goes through every variate type in turn, and should be easier to understand.
-
Modified the information contained in the internal "auxmetadata" object, and accordingly modified all functions that use this object.
Performed tests:
- Performed a battery of tests against many datasets available in base-R. This lead to the unveiling and fixing of several small bugs.
The tests were performed to check the working of buildmetadata(), buildauxmetadata(), samplesFdistribution(), plotFsamples().
-
With the mentioned datasets, samplesFdistribution() has been checked against a clearer (but much slower), for-loop-based script -- written from scratch -- to calculate the various probabilities. This script also uses mathematical formulae that are theoretically identical but numerically different when it comes to finite-precision arithmetic. Some bugs have been fixed
-
The latter test also shows that errors coming from finite-precision arithmetic are all below 10^-15.
v0.2.0
Major changes:
– New initialization procedure for Monte Carlo sampling (this led to great improvements)
– New stopping rule for the Monte Carlo sampling (partly based on the ideas in doi.org/10.1080/10618600.2015.1044092)
– New handling of rounded and ordinal variates
– New argument 'auxdata' in inferpopulation(): the user can here give a much larger dataset (of which 'data' argument is presumably a subset), which is used to calculate some general statistics to improve the inference. The idea is that 'auxdata' cannot be used for the Monte Carlo proper, owing to memory or time limitations, but at least we can squeeze some other useful information out of it.
– New argument 'relerror' in inferpopulation(): an (approximate) upper bound to the desired numerical error. It's the numerical error relative to the width of the probability distribution.
– New argument 'ncheckpoints' in inferpopulation(): number of datapoints to be used to check Monte Carlo convergence. NULL value (default) is equal to the number of variates + 1.
Minor changes:
– Elimination of fields "centralvalue", "lowvalue", "highvalue" in metadata – they aren't required anymore
– Elimination of not-used diagnostics in log files
– Elimination of dependence on LaplacesDemon
– Corrections and improvements of plots and log information
– Correction in how parallel cores were closed (was leading to errors)
– Various bug fixes
v0.1.0 - First package release
The code is now available as an R package.
It can be installed with:
devtools::install_github('pglpm/bayes_nonparametric_inference')
This release includes many changes to the code.
- Changes in file and folder structures
- Documentation has been added
- mutualinfo() has been added. This function calculates mutual information between groups of joint variates.