halfnorm.like {Rdistance} | R Documentation |
halfnorm.like - Half-normal distance function
Description
Evaluate the half-normal distance function, for sighting distances, potentially including covariates and expansion terms
Usage
halfnorm.like(a, dist, covars)
Arguments
a |
A vector or matrix of covariate
and expansion term
coefficients. Dimension is $k$ X $p$, where
$k$ (i.e., |
dist |
A numeric vector of length $n$ or a single-column matrix (dimension $n$X1) containing detection distances at which to evaluate the likelihood. |
covars |
A numeric vector of length $q$ or
matrix of dimension $n$X$q$ containing covariate values
associated with distances in argument |
Details
The half-normal distance function is
f(d|s) = \exp(-d^2 / (2*s^2))
where s = exp(x'a)
, x
is a vector of
covariate values associated with distance d
(i.e., a row of covars
), and
a
is a vector of the first $q$ (=ncol(covars)
)
values in argument a
.
Some authors parameterize the halfnorm without
the "2" in the denominator of the exponent.
Rdistance
includes
"2" in this denominator to make
quantiles of the half normal agree with
the standard normal. This means that half-normal
coefficients in
Rdistance (i.e., $s = exp(x'a)$) can be
interpreted as normal standard errors. For example,
approximately 95% of distances should
occur between 0 and 2$s$.
Value
A list containing the following two components:
-
L.unscaled: A matrix of size $n$X$k$X$b$ containing likelihood values evaluated at distances in
dist
. Each row is associated with a single distance, and each column is associated with a single case (row ofa
). This matrix is "unscaled" because the underlying likelihood does not integrate to one. Values inL.unscaled
are always greater than or equal to zero. -
params: A $n$X$k$X$b$ array of the likelihood's (canonical) parameters, First page contains parameter values related to covariates (i.e., $s = exp(x'a)$), while subsequent pages contain other parameters. $b$ = 1 for halfnorm, negexp; $b$ = 2 for hazrate and others. Rows correspond to distances in
dist
. Columns correspond to rows from argumenta
.
See Also
dfuncEstim
,
hazrate.like
,
negexp.like
Examples
d <- seq(0, 100, length=100)
covs <- matrix(1,length(d),1)
halfnorm.like(log(20), d, covs)
plot(d, halfnorm.like(log(20), d, covs)$L.unscaled, type="l", col="red")
lines(d, halfnorm.like(log(40), d, covs)$L.unscaled, col="blue")
# Matrix inputs:
d <- matrix(c(0,10,20), ncol = 1) # 3X1
covs <- matrix(c(rep(1,nrow(d)), rep(.5,nrow(d))), nrow = nrow(d)) # 3X2
coefs <- matrix(log(c(15,5,10,10)), nrow=2) # 2X2
L <- halfnorm.like( coefs, d, covs )
L$L.unscaled # 3X2
L$params # 3X2; exp(log(15)+0.5log(10)) and exp(log(5)+0.5log(10))