View source: R/ddchisqsympar.R
ddchisqsympar | R Documentation |
Symmetrized chi-squared distance between two discrete probability distributions on the same support (which can be a Cartesian product of q
sets) , given the probabilities of the states (which are q
-tuples) of the support.
ddchisqsympar(p1, p2)
p1 |
array (or table) the dimension of which is |
p2 |
array (or table) the dimension of which is |
The chi-squared distance between two discrete distributions p_1
and p_2
is given by:
\sum_x{(p_1(x) - p_2(x))^2}/p_2(x)
Then the symmetrized chi-squared distance is given by the formula:
||p_1 - p_2|| = \sum_x{(p_1(x) - p_2(x))^2}/(p_1(x) + p_2(x))
Rachid Boumaza, Pierre Santagostini, Smail Yousfi, Sabine Demotes-Mainard
Deza, M.M. and Deza E. (2013). Encyclopedia of distances. Springer.
ddchisqsym
: chi-squared distance between two estimated discrete distributions, given samples.
Other distances: ddhellingerpar
, ddjeffreyspar
, ddjensenpar
, ddlppar
.
# Example 1
p1 <- array(c(1/2, 1/2), dimnames = list(c("a", "b")))
p2 <- array(c(1/4, 3/4), dimnames = list(c("a", "b")))
ddchisqsympar(p1, p2)
# Example 2
x1 <- data.frame(x = factor(c("A", "A", "A", "B", "B", "B")),
y = factor(c("a", "a", "a", "b", "b", "b")))
x2 <- data.frame(x = factor(c("A", "A", "A", "B", "B")),
y = factor(c("a", "a", "b", "a", "b")))
p1 <- table(x1)/nrow(x1)
p2 <- table(x2)/nrow(x2)
ddchisqsympar(p1, p2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.