Distance to the nearest neighbour when individuals are randomly distributed over an area or space | Vose Software

# Distance to the nearest neighbour when individuals are randomly distributed over an area or space

We want to model the distance to the nearest neighbour when many entities (fires, in this example) are randomly spread over the area. In this problem, it is known that the average density of fires in the region is l/km2, but no information is available about the distribution of distance between these fires.

To solve the problem, we have to make a couple of assumptions. First, let's assume that the fires are randomly distributed over the area. That would mean that the herds are not concentrated around any specific points. [If it does not hold we can look at sub-models for different areas.] Then, we can say that for an area A, the actual number of fires is VosePoisson(l*A).

The second assumption is that each fire is essentially concentrated at a single point, i.e. its diameter is insignificant compared to the distances between fires. For situations where this is not the case the model could be extended by associating a radius with each random herd.

A simplified version of our solution is provided in model DistanceToNearestFire.

The model creates a large square area (large meaning that there will be a large number of fires expected to exist within such an area, say 150 or so), and randomly places fires within that area. Assuming that the random fire is located in the centre of the area, the distance to its nearest neighbour is calculated using the formula:

Distance =

Where {x,y} is the centre of the area (position of a fire), and {x0,y0) is the position of the randomly selected fire. The formula can be extended to space rather than area very easily:

Distance =

A paper by Cliff and Ord. notes several results under the same assumptions we made. We convert them here into ModelRisk formulae, where l is the average concentration of fires/km2:

Distance to nearest neighbour (km) = VoseRayleigh(SQRT(1/(2*PI()*l)))

Distance to nearest neighbour (km) = SQRT(VoseExpon(1/(PI()*l)))

Distance to rth nearest neighbour (km) = SQRT(VoseGamma(r,1/(PI()*l)))

The model includes the first two results and shows that they match exactly..