Giter Club home page Giter Club logo

cmi-adaptive-hist's Introduction

The code provided in this package supports the research paper below.

@inproceedings{marx:21:myl,
    title={{Estimating Conditional Mutual Information for Discrete-Continuous Mixtures using Multidimensional Adaptive Histograms}},
    author={Marx, Alexander and Yang, Lincen and van Leeuwen, Matthijs},
    year={2021},
    booktitle = {SDM, Virtual Conference},
    publisher = {SIAM},
}

The code for the algorithm is in ./algorithm. The file ./algorithm/main.R contains some simple examples for learning adaptive histogram from data and estimate CMI from mixture data.
- CMI_estimates.R contains the functions, which compute a CMI estimate based on adaptive histogram models using different correction criteria
- CMI_pvals.R contains wrapper functions, which compute pseudo p-values form estimated CMI_values

The experiments folder contains:
- evaluations of CMI estimates on ground-truth data ("CMI_estimation", Figure 1 & Figure 2);
- causal graph structure learning ("causal_graph_learning", Figure 4)
- evaluations of our estimator as conditional independence test ("conditionalIndep_testing", Figure 6);
To run the experiments, stay in this folder SDM2021/code/ with your console and run, e.g.,
Rscript experiments/CMI_estimation/test_distrib.R
The results will be stored into the 'results' folder. Currently, each test related to independence testing uses the chi-squared correction. This can be changed manually in the corresponding folder.

It is required to have R version >= 3.6.0. You may also need to install additional R packages (see requirements in 'source.R'). If some of the packages are not available through "install.packages", try installing via bioconductor: e.g. https://www.bioconductor.org/packages/release/bioc/html/graph.html



cmi-adaptive-hist's People

Contributors

ylincen avatar

Stargazers

Lei avatar Zhao avatar

Watchers

 avatar

Forkers

leizan cdchushig

cmi-adaptive-hist's Issues

Asking for experimental data

Hello, your paper is really promising, bravo! And could you share the result of other methods(e.g. MS, FP, RAVK) in experiments I-V?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.