# Brownian bridge movement model

### Description

Estimate a Brownian bridge model of movement in which the probability of a mobile object being in an area is conditioned on starting and ending locations. The model provides an empirical estimate of a movement path using discrete location data obtained at relatively short time intervals. The Brownian bridge probability density connecting each pair of successive locations is an estimate of the relative time spent in an area during the time interval between those locations.

### Usage

1 2 | ```
brownian.bridge(x, y, time.lag, location.error, area.grid = NULL,
cell.size = NULL, time.step = 10, max.lag = NULL)
``` |

### Arguments

`x` |
Vector of x coordinates (in meters) of locations, ordered in time. |

`y` |
Vector of y coordinates (in meters) of locations, ordered in time. |

`time.lag` |
Vector of time differences (in minutes) between successive locations
where |

`location.error` |
The standard deviation of normally distributed location errors (single value or vector of 1 value for each observation). |

`area.grid` |
(optional) Matrix or data frame of x and y coordinates of cell center ponts on a rectangular grid that defines the area in which to estimate probability of use. If missing, a grid is created by expanding the range of x and y by 1 standard deviation and using cell.size. |

`cell.size` |
(optional) Cell size for |

`time.step` |
(optional) The Brownian bridge probability density function
must be integrated to find the fraction of time spent in each region. While the
probability density function cannot be integrated, it can be approximated by
discretizing time into arbitrarily small intervals according to time.step. The default
is 10 units (same as |

`max.lag` |
(optional) Maximum time lag (same units as |

### Details

This is the main routine for estimating a Brownian bridge. It calls
brownian.motion.variance to estimate the Brownian motion variance via
maximum likelihood and then calculates the probabilities of use across the `area.grid`

. Larger data sets
and larger grids require more computing time, which can be a few of hours on a 32-bit PC or just a
fraction of an hour on a 64-bit PC running R x64.

### Value

An object (list) of class("bbmm") with four components.

Components of the returned object are as follows:

`Brownian motion variance` |
Estimated Brownian motion variance. |

`x` |
Vector of x coordinates for grid cells. |

`y` |
Vector of y coordinates for grid cells. |

`probability` |
Estimated proportion of time spent in each grid cell. |

### Author(s)

Ryan Nielson, Hall Sawyer, and Trent McDonald (WEST, Inc., www.west-inc.com)

Maintainer: Ryan Nielson rnielson@west-inc.com

### References

Horne, J. S., E. O. Garton, S. M. Krone, and J. S. Lewis. 2007. Analyzing animal movements using Brownian bridges. Ecology 88:2354-2363.

Sawyer, H., M. J. Kauffman, R. M. Nielson, and J. S. Horne. 2009. Identifying and prioritizing ungulate migration routes for landscpe-level conservation. Ecological Applications 19:2016-2025.

### See Also

`brownian.motion.variance`

, `bbmm.summary`

,
`bbmm.contour`

### Examples

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ```
data(locations)
BBMM <- brownian.bridge(x=locations$x, y=locations$y,
time.lag=locations$time.lag[-1], location.error=20,
cell.size=50)
# To export an Ascii grid with probabilities (UD).
# First delete any x and y coords that have probability of use < 0.00000001.
# This saves some computing time and reduces the size of the output Ascii file.
# Not run: x <- BBMM$x[BBMM$probability >= 0.00000001]
# Not run: y <- BBMM$y[BBMM$probability >= 0.00000001]
# Not run: z <- BBMM$probability[BBMM$probability >= 0.00000001]
# Not run: tmp <- data.frame(x, y, z)
# Not run: library(maptools)
# Not run: m <- SpatialPixelsDataFrame(points = tmp[c("x", "y")], data=tmp)
# Not run: m <- as(m, "SpatialGridDataFrame")
# Not run: write.asciigrid(m, "BBMM.asc", attr=3)
``` |