The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
BivKLD estimates directed Kullback-Leibler (KL)
divergence between bivariate distributions. Its kernel estimator follows
Chackochan, Sankaran, and Unnikrishnan Nair (2026) and uses bivariate
Gaussian kernel densities from the ks package.
Install the submitted source archive with:
install.packages("BivKLD_0.1.0.tar.gz", repos = NULL, type = "source")library(BivKLD)
set.seed(2026)
x <- cbind(rnorm(100), rnorm(100))
y <- cbind(rnorm(100, 0.5), rnorm(100, -0.25))
biv_kld(x, y, bandwidth = "normal")
biv_kld(y, x, bandwidth = "normal")KL divergence is directed, so the two results need not be equal. The
default bandwidth selector is unconstrained smoothed cross-validation
("scv"), as in the reference paper. The normal-scale
selector above is useful for quick exploration.
measurements <- iris[, c("Sepal.Length", "Sepal.Width")]
biv_kld_matrix(measurements, iris$Species, bandwidth = "normal")Rows are source distributions and columns are comparison
distributions, so entry [i, j] estimates
D(group_i || group_j).
biv_kld_discrete(c(0.2, 0.3, 0.1, 0.4),
c(0.1, 0.4, 0.2, 0.3))
biv_kld_normal(c(-2, 2), matrix(c(1, 1, 1, 2), 2),
c(-2, 2), matrix(c(3, 3, 3, 6), 2))Chackochan, R., Sankaran, P. G., & Unnikrishnan Nair, N. (2026). Bivariate Kullback-Leibler divergence. Communications in Statistics - Theory and Methods, 55(1), 292-312. doi:10.1080/03610926.2025.2496687
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.