Demo page for the kde_diffusion package

Introduction

Examples

The following examples were taken from the paper of Botev et al. from 2010 (TODO: add link). In all the examples, the rust implementation is compared to the Python implementation. The Python implementation resulted from the translation of the original Matlab code by Botev et al. into Python. The Python repository contains a single test case where the Python and Matlab inputs are compared.

1. Claw

Target density \(f(x)\):

$$ \frac{1}{2}N(0,1) + \sum_{k=0}^{4} \frac{1}{10} N\left(\frac{k}{2} - 1, \left(\frac{1}{10}\right)^2\right) $$

2. Strongly skewed

Target density \(f(x)\):

$$ \sum_{k=0}^{7} \frac{1}{8} N\left(3\left(\left(\frac{2}{3}\right)^k - 1\right), \left(\frac{2}{3}\right)^{2k}\right) $$

3. Kurtotic unimodal

Target density \(f(x)\):

$$ \frac{2}{3} N(0, 1) + \frac{1}{3} N\left(0, \left(\frac{1}{10}\right)^2\right) $$

4. Double claw

Target density \(f(x)\):

$$ \frac{49}{100} N\left(-1, \left(\frac{2}{3}\right)^2\right) + \frac{49}{100} N\left(1, \left(\frac{2}{3}\right)^2\right) + \frac{1}{350} \sum_{k=0}^6 N\left(\frac{k-3}{2}, \left(\frac{1}{100}\right)^2\right) $$

5. Discrete comb

Target density \(f(x)\):

$$ \frac{2}{7} \sum_{k=0}^{2} N\left(\frac{12k-15}{7}, \left(\frac{2}{7}\right)^2\right) + \frac{1}{21} \sum_{k=8}^{10} N\left(\frac{2k}{7}, \left(\frac{1}{21}\right)^2\right) $$

6. Asymmetric double claw

Target density \(f(x)\):

$$ \frac{46}{100} \sum_{k=0}^{1} N\left(2k-1, \left(\frac{2}{3}\right)^2\right) + \sum_{k=1}^{3} \frac{1}{300} N\left(-\frac{k}{2}, \left(\frac{1}{100}\right)^2\right) $$

7. Outlier

Target density \(f(x)\):

$$ \frac{1}{10} N(0, 1) + \frac{9}{10} N\left(0, \left(\frac{1}{10}\right)^2\right) $$

8. Separated bimodal

Target density \(f(x)\):

$$ \frac{1}{2}N\left(-12, \frac{1}{4}\right) + \frac{1}{2}N\left(12, \frac{1}{4}\right) $$

9. Skewed bimodal

Target density \(f(x)\):

$$ \frac{3}{4}N(0,1) + \frac{1}{4}N\left(\frac{3}{2}, \left(\frac{1}{3}\right)^2\right) $$

10. Bimodal

Target density \(f(x)\):

$$ \frac{1}{2} N\left(0, \left(\frac{1}{10}\right)^2\right) + \frac{1}{2} N(5, 1) $$