[AniMov] burst function in liker and kernelbb
Clément Calenge
clement.calenge at oncfs.gouv.fr
Thu Feb 5 13:20:51 CET 2009
Dear Andrea,
> I have looked at the structure of the kernelbb output when using the byburst
> function, and have realized that it was not providing the output I had
> expected. ie. kernelbb with byburst=T creates individual UDs for each
> burst, whereas I am hoping to create a single BB UD using multiple bursts.
> For my data, the purpose of using a burst is to eliminate the estimation of
> a probability distribution between 2 points (at the end and start of
> consecutive bursts), between which a series of locations was removed (ex.
> Creating a UD for ‘day’ by removing all ‘night’ locations, and not
> calculating a Brownian bridge between each day).
>
> Is it possible to compute this through the adehabitat package?
>
> Another useful possibility could be to set an upper limit on the possible
> time lapse between fixes (ie. a brownian bridge won't be computed between
> any two locations that are greater than, say, 6 hours apart).
>
There is no possibility presently to indicate the presence of "breaks"
in the trajectory when computing the UD with kernelbb (except if you
want to modify the C code on which this function relies).
However, why do you want to set byburst=TRUE? setting byburst to FALSE
will allow you to compute one UD per animal (per ID in fact). If the
time lag between the end location of one burst and the beginning
location of the next is long enough, this will not affect the estimate,
because the Brownian bridge connecting these two relocations will be
more "diffuse".
To illustrate this point consider the following function. This function
computes a Brownian bridge between two fixed relocations (coordinates
0,0 and 1,1) separated by "diffdate" seconds (to be specified), with
fixed smoothing parameters (sig1=0.4, sig2=0.1):
testdiffdate <- function(diffdate, title)
{
xx <- c(0,1)
yy <- c(0,1)
date <- c(0, diffdate)
class(date) <- c("POSIXt", "POSIXct")
tr <- as.ltraj(data.frame(x = xx,y = yy), date, id="a")
## Use of two ad hoc smoothing parameters
sig1 <- c(0.4)
sig2 <- c(0.1)
y<-kernelbb(tr, sig1, sig2)[[1]]$UD
image(y, main=title, axes=FALSE)
points(xx, yy, pch=16, col="red")
box()
}
When the time lag "diffdate" gets larger, the brownian bridge between
the two fixed relocations gets less noticeable. In the limit, the
estimator is similar to a classical kernel smoother:
opar <- par(mar = c(0,0,2,0), mfrow = c(5,5))
lapply(1:25, function(i) {
testdiffdate(i, title=paste(i, "seconds"))
})
par(opar)
Hope this helps,
Clément.
--
Clément CALENGE
Office national de la chasse et de la faune sauvage
Saint Benoist - 78610 Auffargis
tel. (33) 01.30.46.54.14
More information about the AniMov
mailing list