overlap: Calculate the overlap between two stationary distributions

View source: R/overlap.R

overlapR Documentation

Calculate the overlap between two stationary distributions


This function calculates a useful measure of similarity between distributions known as the Bhattacharyya coefficient in statistics and simply the fidelity or overlap in quantum and statistical mechanics. It is roughly speaking the ratio of the intersection area to the average individual area, but it is a direct comparison between the density functions and does not require an arbitrary quantile to be specified. When applied to ctmm objects, this function returns the overlap of the two Gaussian distributions. When applied to aligned UD objects with corresponding movement models, this function returns the overlap of their (autocorrelated) kernel density estimates.





A list of ctmm fit or aligned UD objects to compare.


Can be "Bhattacharyya" or "Encounter" (see Details below).


The confidence level desired for the output.


Approximate debiasing of the overlap.


Not currently used.


The default method="Bhattacharyya" estimates the standard overlap measure \int\int \sqrt{p(x,y) \, q(x,y)} \, dx \, dy between the distributions p(x,y) and q(x,y), while method="encounter" estimates the non-standard measure \frac{\int\int p(x,y) \, q(x,y) \, dx \, dy}{\sqrt{\int\int p(x',y')^2 \, dx' dy' \int\int q(x'',y'')^2 \, dx'' dy''}}, which has a numerator proportional to the uncorrelated encounter probability. Both measures lie between 0 and 1, where 0 indicates no shared support and 1 indicates identical distributions.


An object with slots DOF, containing the effective sample sizes, and CI containing a table of confidence intervals on the overlap estimates. A value of 1 implies that the two distributions are identical, while a value of 0 implies that the two distributions share no area in common.


In ctmm v0.5.2, direct support for telemetry objects was dropped and the CTMM argument was depreciated for UD objects, simplifying usage.

Uncertainties in the model fits are propagated into the overlap estimate under the approximation that the Bhattacharyya distance is a chi-square random variable. Debiasing makes further approximations noted in Winner & Noonan et al (2018).


C. H. Fleming and K. Winner


K. Winner, M. J. Noonan, C. H. Fleming, K. Olson, T. Mueller, D. Sheldon, J. M. Calabrese. “Statistical inference for home range overlap”, Methods in Ecology and Evolution, 9:7, 1679-1691 (2018) \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1111/2041-210X.13027")}.

See Also

akde, ctmm.fit, distance, encounter


# Load package and data

# fit models for first two buffalo
GUESS <- lapply(buffalo[1:2], function(b) ctmm.guess(b,interactive=FALSE) )
# using ctmm.fit here for speed, but you should almost always use ctmm.select
FITS <- lapply(1:2, function(i) ctmm.fit(buffalo[[i]],GUESS[[i]]) )
names(FITS) <- names(buffalo[1:2])

# Gaussian overlap between these two buffalo

# AKDE overlap between these two buffalo
# create aligned UDs
UDS <- akde(buffalo[1:2],FITS)
# evaluate overlap

ctmm documentation built on Sept. 24, 2023, 1:06 a.m.