Code connected to the publication Robust Multi-Modal Density Estimation.
In order to run the experiments underlying the publication, run Prob_func_eval.py.
In order to install ROME as a python package, execute
pip install romepy.
For further information on the usage of the package, please refer to romepy on PyPi.
In order to read the results for the multi-modal distributions in a tabular form, run data_extraction_baseline.py for the baselines Manifold Parzen Windows[1] and Vine Copulas[2], and data_extraction.py for the ablation studies.
In order to do the same for the uni-modal distributions, run data_extraction_baseline_uniModal.py for the baselines, and data_extraction_uniModal.py for the ablation studies.
There are 5 plotting codes:
plot_distributions.py: provides a visualisation of the distributions used for fitting the density estimators.
plot_sampled_distributions.py: provides a visualisation of samples generated from the fitted density estimators overlayed on the original samples used for fitting.
plot_transformed_distributions.py: provides a visualisation of the different data transformation steps of ROME.
plot_distribution_functions.py: provides contour plots of the probability density functions.
metric_visualisation.py: provides box_plot visualisation of the obtained metric values.
To obtain the data based on which the results in the main body of the paper were reported, please refer to the online dataset at 4TU.ResearchData.
[1] Pascal Vincent and Yoshua Bengio. Manifold parzen windows. Advances in Neural Information Processing Systems, 15, 2002.
[2] Thomas Nagler and Claudia Czado. Evading the curse of dimensionality in nonparametric density estimation with simplified vine copulas. Journal of Multivariate Analysis, 151:69–89, 2016