Description Usage Arguments Details Value References Examples
View source: R/information.measure.R
The MI.measure function is used to calculate the mutual information between two random variables from the joint count table.
1 2 3 4 5 6 7 | MI.measure(
XY,
method = c("ML", "Jeffreys", "Laplace", "SG", "minimax", "shrink"),
lambda.probs,
unit = c("log", "log2", "log10"),
verbose = TRUE
)
|
XY |
a joint count distribution table of two random variables. |
method |
six probability estimation algorithms are available, "ML" is the default. |
lambda.probs |
the shrinkage intensity, only called when the probability estimator is "shrink". |
unit |
the base of the logarithm. The default is natural logarithm, which is "log". For evaluating entropy in bits, it is suggested to set the unit to "log2". |
verbose |
a logic variable. if verbose is true, report the shrinkage intensity. |
Six probability estimation methods are available to evaluate the underlying bin probability from observed counts:
method = "ML": maximum likelihood estimator, also referred to empirical probability,
method = "Jeffreys": Dirichlet distribution estimator with prior a = 0.5,
method = "Laplace": Dirichlet distribution estimator with prior a = 1,
method = "SG": Dirichlet distribution estimator with prior a = 1/length(XY),
method = "minimax": Dirichlet distribution estimator with prior a = sqrt(sum(XY))/length(XY),
method = "shrink": shrinkage estimator.
MI.measure returns the mutual information.
Hausser, J., & Strimmer, K. (2009). Entropy Inference and the James-Stein Estimator, with Application to Nonlinear Gene Association Networks. Journal of Machine Learning Research, 1469-1484.
Wyner, A. D. (1978). A definition of conditional mutual information for arbitrary ensembles. Information & Computation, 38(1), 51-59.
1 2 3 4 5 6 7 8 9 | # two numeric vectors corresponding to two continuous random variables
x <- c(0.0, 0.2, 0.2, 0.7, 0.9, 0.9, 0.9, 0.9, 1.0)
y <- c(1.0, 2.0, 12, 8.0, 1.0, 9.0, 0.0, 3.0, 9.0)
# corresponding joint count table estimated by "uniform width" algorithm
XY <- discretize2D(x, y, "uniform_width")
# corresponding mutual information
MI.measure(XY)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.