| entropy {entropy} | R Documentation |
Estimating Entropy From Observed Counts
Description
entropy estimates the Shannon entropy H of the random variable Y
from the corresponding observed counts y.
freqs estimates bin frequencies from the counts y.
Usage
entropy(y, lambda.freqs, method=c("ML", "MM", "Jeffreys", "Laplace", "SG",
"minimax", "CS", "NSB", "shrink"), unit=c("log", "log2", "log10"), verbose=TRUE, ...)
freqs(y, lambda.freqs, method=c("ML", "MM", "Jeffreys", "Laplace", "SG",
"minimax", "CS", "NSB", "shrink"), verbose=TRUE)
Arguments
y |
vector of counts. |
method |
the method employed to estimate entropy (see Details). |
unit |
the unit in which entropy is measured.
The default is "nats" (natural units). For
computing entropy in "bits" set |
lambda.freqs |
shrinkage intensity (for "shrink" option). |
verbose |
verbose option (for "shrink" option). |
... |
option passed on to |
Details
The entropy function allows to estimate entropy from observed counts by a variety
of methods:
method="ML":maximum likelihood, seeentropy.empiricalmethod="MM":bias-corrected maximum likelihood, seeentropy.MillerMadowmethod="Jeffreys":entropy.Dirichletwitha=1/2method="Laplace":entropy.Dirichletwitha=1method="SG":entropy.Dirichletwitha=a=1/length(y)method="minimax":entropy.Dirichletwitha=sqrt(sum(y))/length(ymethod="CS":seeentropy.ChaoShenmethod="NSB":seeentropy.NSBmethod="shrink":seeentropy.shrink
The freqs function estimates the underlying bin frequencies. Note that
estimated frequencies are not
available for method="MM", method="CS" and method="NSB". In these
instances a vector containing NAs is returned.
Value
entropy returns an estimate of the Shannon entropy.
freqs returns a vector with estimated bin frequencies (if available).
Author(s)
Korbinian Strimmer (https://strimmerlab.github.io).
See Also
Examples
# load entropy library
library("entropy")
# observed counts for each bin
y = c(4, 2, 3, 0, 2, 4, 0, 0, 2, 1, 1)
entropy(y, method="ML")
entropy(y, method="MM")
entropy(y, method="Jeffreys")
entropy(y, method="Laplace")
entropy(y, method="SG")
entropy(y, method="minimax")
entropy(y, method="CS")
#entropy(y, method="NSB")
entropy(y, method="shrink")