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.

overlap(object,level=0.95,debias=TRUE,...)

## Arguments

object A list of ctmm fit or aligned UD objects to compare. The confidence level desired for the output. Approximate debiasing of the overlap. Not currently used.

## Value

A table of confidence intervals on the overlap estimate. 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.

## References

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) doi: 10.1111/2041-210X.13027 .

## Author

C. H. Fleming and K. Winner

## Note

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).

akde, ctmm.fit, distance, encounter

## Examples

# \donttest{
# Load package and data
library(ctmm)
data(buffalo)

# 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
overlap(FITS)
#> , , low
#>
#>          Cilla     Gabs
#> Cilla 1.000000 0.898462
#> Gabs  0.898462 1.000000
#>
#> , , est
#>
#>           Cilla      Gabs
#> Cilla 1.0000000 0.9987807
#> Gabs  0.9987807 1.0000000
#>
#> , , high
#>
#>       Cilla Gabs
#> Cilla     1    1
#> Gabs      1    1
#>
# AKDE overlap between these two buffalo
# create aligned UDs
UDS <- akde(buffalo[1:2],FITS)
# evaluate overlap
overlap(UDS)
#> , , low
#>
#>           Cilla      Gabs
#> Cilla 1.0000000 0.8957911
#> Gabs  0.8957911 1.0000000
#>
#> , , est
#>
#>           Cilla      Gabs
#> Cilla 1.0000000 0.9958115
#> Gabs  0.9958115 1.0000000
#>
#> , , high
#>
#>       Cilla Gabs
#> Cilla     1    1
#> Gabs      1    1
#> # }