| nLL | R Documentation |
Return the negative log likelihood of observed detection distances given a likelihood and the estimated parameters.
nLL(a, ml, verbosity = 0)
a |
A vector of likelihood parameter values. Length and
meaning depend on |
ml |
Either a Rdistance 'model frame' or an Rdistance
'fitted object'. Both are of class "dfunc".
Rdistance 'model frames' are lists containing components
necessary to estimate a distance function, but no estimates.
Rdistance 'model frames' are typically
produced by calls to |
verbosity |
The level of output produced during estimation.
|
Expansion Terms: If ml$expansions = k (k > 0),
the expansion function specified by ml$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 for the expansion terms,
the likelihood contribution for the i^{th}
distance is,
f(x|a,b,c_1,c_2,\dots,c_k) =
f(x|a,b)(1 + \sum_{j=1}^{k} c_j h_{ij}(x)).
A scalar, the negative of the log likelihood evaluated at
parameters a.
See halfnorm.like and links there;
dfuncEstim
# A halfnorm distance function
fit <- dfuncEstim(sparrowDf, dist~1, likelihood = "halfnorm")
nLL(fit$par, fit, 3)
fit$loglik
ESW(fit)[1]
# Another way, b/c we have pnorm()
d <- distances(fit)
ones <- matrix(1, nrow = length(d), ncol = 1)
l <- halfnorm.like(fit$par, d, ones)
esw <-(pnorm(units::drop_units(fit$w.hi)
, units::drop_units(fit$w.lo)
, sd = exp(l$params)) - 0.5) * sqrt(2*pi) * exp(l$params)
-sum(log(l$L.unscaled/esw))
# A third way, b/c we have pnorm() and dnorm().
l2 <- dnorm(units::drop_units(d), mean = 0, sd = exp(fit$par))
scaler <- pnorm(units::drop_units(fit$w.hi), mean = 0, sd = exp(fit$par)) - 0.5
-sum(log(l2/scaler))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.