6
$\begingroup$

I'm trying to calculate the radius of a circle where there is a certain probability of encountering at least one animal with a known, given density. For simplicity, let's assume that the animals are distributed in a continuous circular uniform distribution.

To start, I know animal density (D) is abundance (N) over area (A), $$ D = \frac{N}{A} $$ I know the equation for the area of a circle as a function of the radius (R), $$ D = \frac{N}{\pi R^2} $$ Rearrange for $R$, $$ R^2 = \frac{N}{\pi D} $$ This is where I get a bit lost. As an example, let's assume $D = 5$ (meaning 5 animals per 100 km$^2$ or 0.05 animals per km$^2$) and I set the probability to 10%. So would the radius be, $$ R = \sqrt{\frac{0.10}{0.05\pi}} $$ So a circle with a radius of ~0.80km would have a 10% probability of encountering at least 1 animal (again assuming continuous circular uniform)?

$\endgroup$
5
  • 3
    $\begingroup$ You probably want to assume that individuals occur according to a spatial Poisson process (see en.wikipedia.org/wiki/Poisson_point_process) in which case the number of individuals inside the circle will follow a Poisson distribution. $\endgroup$ Commented Jul 29 at 15:29
  • 3
    $\begingroup$ There is a wide range of plausible answers, depending on how the animals interact. At one extreme, where the answer is small, the animals are strongly territorial and tend to be found near the centers of their territories. At the other extreme, where the answer is large, the animals form a small number of large compact groups (herds or flocks) that move together. What do you know (or assume) about their interactions? $\endgroup$
    – whuber
    Commented Jul 29 at 15:44
  • $\begingroup$ @JarleTufto I think your suggestion is reasonable, and likely more realistic. But just to simplify things, I wanted to assume the density was uniform across the entire area of the circle. $\endgroup$
    – user13317
    Commented Jul 29 at 17:25
  • $\begingroup$ @whuber You make some good points! To keep things simple, maybe just assume we're dealing with singletons that are moving randomly (maybe with some directional persistence) that don't interact in a way that would alter behavior. A snapshot of animals in an area for a small period of time that would allow the assumptions above to be reasonable. $\endgroup$
    – user13317
    Commented Jul 29 at 17:28
  • 1
    $\begingroup$ @user13317 Letting the random variable $X\in \{0,1,2,\dots,\}$ denote the number of individuals inside a circle with area $A=\pi r^2$, the question you're asking is how big $r$ needs to be for $P(X\ge 1)>0.1$. That question has a straightforward answer under the assumptions in my previous comment. Btw, if this is self-study you should add the self-study tag. $\endgroup$ Commented Jul 29 at 18:13

1 Answer 1

7
$\begingroup$

Because you are concerned about finding small numbers of subjects (one), and you suppose (in a comment) that the subject locations are independent, it is reasonable to model the occurrences of animals as a Poisson process.


If you would like some details, let the study region be $\mathcal R.$ For any measurable subset $\mathcal A\subseteq\mathcal R$ let $N(\mathcal A)$ be the number of animals that can be encountered (at a given time) within $\mathcal A.$ Let $p$ be the density (expected encounters per unit area) so that for all such $\mathcal A,$

$$E[N(\mathcal A)] = \iint_{\mathcal A}p(\mathbb x)\,\mathrm d \mathbb x.\tag{*}$$

Under the Poisson assumption, the chance of encountering at least one animal is

$$\Pr(N(\mathcal A) \ge 1) = 1 - \Pr(N(\mathcal A) = 0) = 1 - \exp\left(-E[N(\mathcal A)]\right).\tag{**}$$

You are contemplating an increasing sequence of regions $\mathcal A_r$ consisting of disks of radius $r$ around a fixed point. Consequently, if there exists at least one animal in $\mathcal R,$ there will be a minimal $r$ for which $(**)$ equals or exceeds your target probability $\alpha = 10/100$ (for instance). Consequently, $r$ is the smallest (nonnegative) radius for which

$$\exp\left(-E[N(\mathcal A_r)]\right) \le \alpha,$$

equivalent to

$$E[N(\mathcal A_r)] \ge -\log(1-\alpha).$$

To illustrate, let's specialize to the case where $p$ is constant (a homogeneous Poisson process) and let "$p$" be that constant, so that

$$E(N(\mathcal A_r)] = p\,\pi r^2$$

is just $p$ times the area of $\mathcal A_r.$ The solution is

$$r_* = \sqrt{\frac{-\log(1-\alpha)}{p\pi}}$$

provided $\mathcal A_{r_*}\subseteq \mathcal R$ -- that is, this disk must lie entirely within the study area. (A solution still exists otherwise, but the areas of $\mathcal A_r$ no longer have such a simple expression.)

Relative to the center of a rectangle with $20$ animals randomly and uniformly located within it, here is a plot of a possible set of locations within a rectangle $\mathcal R$ and the solution for $\alpha = 50/100$ shown as a shaded disk $\mathcal A_{r_*}$:

enter image description here

The blue cross marks the origin. All animals encountered within radius $r_*$ are shown in red (there is one in this example).


A simulation replicating this study 10,000 times found at least one animal was encountered in 4953 cases, differing from the target frequency (of 5000) by a small amount attributable to random variation. The following R code reproduces the simulation and recreates the figure.

N <- 20                  # Expected total abundance
xlim <- c(-1,1)
ylim <- c(-1/2, 1/2)     # Rectangular region
alpha <- 50/100          # Chance to encounter at least one animal
#
# Compute the critical radius.
#
p <- N / (diff(xlim) * diff(ylim)) # Density per unit area
r.star <- sqrt(-log(1 - alpha) / (p * pi))
#
# Run a simulation to check.
#
unit.circle <- (\(a) cbind(cos(a), sin(a))) (seq(0, 2*pi, length.out = 361))
set.seed(17)
plotted <- FALSE
sim <- replicate(1e4, {
  #
  # Create a random collection of animal locations.
  #
  x <- runif(N, xlim[1], xlim[2])
  y <- runif(N, ylim[1], ylim[2])
  i <- x^2 + y^2 <= r.star^2      # Identify encountered locations
  #
  # Plot the points.
  #
  if (!isTRUE(plotted)) {
    plotted <<- TRUE
    plot(xlim, ylim, type = "n", bty = "n",
         asp = 1, xlab = "", ylab = "", xaxt = "n", yaxt = "n")
    rect(xlim[1], ylim[1], xlim[2], ylim[2])
    circle <- r.star * unit.circle
    polygon(circle, col = gray(0.95), lwd = 2)
    points(x, y, pch = 21, bg = ifelse(i, "Red", gray(0.95)))
    points(0, 0, pch = 3, col = "Blue", cex = 1.5) # Origin
  }
  sum(i) >= 1
})
(mean(sim))
$\endgroup$
2
  • 2
    $\begingroup$ Nice solution and well articulated! Thank you. $\endgroup$
    – user13317
    Commented Jul 29 at 19:02
  • 2
    $\begingroup$ Interestingly, if I use my example above I get roughly the same answer. R code sqrt(-log(1 - 0.1) / (pi * 0.05)). Likely b/c the $\ln(1 - x) \approx -x$ for small $x$. $\endgroup$
    – user13317
    Commented Jul 29 at 19:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.