View source: R/information.measure.R
PMI.measure | R Documentation |
The PMI.measure function is used to calculate the non-linearly direct dependencies between two variables conditioned on the third one form the joint count table.
PMI.measure(
XYZ,
method = c("ML", "Jeffreys", "Laplace", "SG", "minimax", "shrink"),
lambda.probs,
unit = c("log", "log2", "log10"),
verbose = TRUE
)
XYZ |
a joint count distribution table of three 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.
PMI.measure returns the part 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.
Zhao, J., Zhou, Y., Zhang, X., & Chen, L. (2016). Part mutual information for quantifying direct associations in networks. Proceedings of the National Academy of Sciences of the United States of America, 113(18), 5130-5135.
# three numeric vectors corresponding to three 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)
z <- c(3.0, 7.0, 2.0, 11, 10, 10, 14, 2.0, 11)
# corresponding joint count table estimated by "uniform width" algorithm
XYZ <- discretize3D(x, y, z, "uniform_width")
# corresponding part mutual information
PMI.measure(XYZ)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.