View source: R/logistic.like.R
logistic.like  R Documentation 
Computes a two parameter logistic distance function.
logistic.like(
a,
dist,
covars = NULL,
w.lo = units::set_units(0, "m"),
w.hi = max(dist),
series = "cosine",
expansions = 0,
scale = TRUE,
pointSurvey = FALSE
)
a 
A vector of likelihood parameter values. Length and meaning
depend on whether covariates and

dist 
A numeric vector containing observed distances with measurement units. 
covars 
Data frame containing values of covariates at
each observation in 
w.lo 
Scalar value of the lowest observable distance, with measurement
units.
This is the left truncation sighting distance. Values less than

w.hi 
Scalar value of the largest observable distance, with measurement
units.
This is the right truncation sighting distance.
Values greater than 
series 
A string specifying the type of expansion to
use. Currently, valid values are 'simple', 'hermite', and
'cosine'; but, see 
expansions 
A scalar specifying the number of terms
in 
scale 
Logical scalar indicating whether or not to scale
the likelihood into a density function, i.e., so that it integrates
to 1. This parameter is used
to stop recursion in other functions.
If 
pointSurvey 
Boolean. TRUE if 
The 'logistic' likelihood contains two
parameters. Parameter a
determines the scale and is
labeled 'threshold' in Rdistance. Parameter b
determines
sharpness (slope) of the likelihood's decrease at a
and is labeled
'knee' in Rdistance.
This function is sometimes called the
heavy side function (e.g., engineering). The technical form
of the function is,
f(xa,b) = 1  \frac{1}{1 + \exp(b(xa))} =
\frac{\exp( b(xa) )}{1 + exp( b(xa) )},
Parameter a
is the location (distance) of
0.5. That is, the inverse likelihood of 0.5
is a
before scaling
(i.e., logistic.like( c(a,b), a, scale=FALSE)
equals
0.5
).
Parameter b
is slope of function
at a
.
Prior to scaling,
slope of the likelihood at a
is b/4
.
If b
is large, the "knee" is sharp and the likelihood can look
uniform with support from
w.lo
to a/f(0)
. If b
is small, the
"knee" is shallow and the density of observations declines
in an elongated "S" shape pivoting at a/f(0)
.
As b
grows large and assuming f(0) = 1, the effective
strip width approaches a
.
See plots in Examples.
A numeric vector the same length and order as dist
containing the likelihood contribution for corresponding distances
in dist
.
Assuming L
is the returned vector,
the log likelihood of all data is sum(log(L), na.rm=T)
.
Note that the returned likelihood value for distances less than
w.lo
or greater than w.hi
is NA
, and thus it is
essential to use na.rm=TRUE
in the sum. If scale
= TRUE,
the integral of the likelihood from w.lo
to w.hi
is 1.0.
If scale
= FALSE, the integral of the likelihood is
arbitrary.
If expansions
= k (k > 0), the
expansion function specified by series
is called (see for example
cosine.expansion
). Assuming
h_{ij}(x)
is the j^{th}
expansion term
for the i^{th}
distance and that
c_1, c_2, \dots, c_k
are (estimated)
coefficients, the likelihood contribution
for the i^{th}
distance is,
f(xa,b,c_1,c_2,\dots,c_k) = f(xa,b)(1 +
\sum_{j=1}^{k} c_j h_{ij}(x)).
dfuncEstim
,
halfnorm.like
,
hazrate.like
,
negexp.like
,
Gamma.like
x < units::set_units(seq(0, 100, length=100), "m")
# Plots showing effects of changes in Threshold
plot(x, logistic.like(c(20, 20), x), type="l", col="red")
lines(x, logistic.like(c(40, 20), x), type="l", col="blue")
# Plots showing effects of changes in Knee
plot(x, logistic.like(c(50, 100), x), type="l", col="red")
lines(x, logistic.like(c(50, 1), x), type="l", col="blue")
lines(x, logistic.like(c(50, .1), x), type="l", col="orange")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.