postHocGradHess {eglhmm} | R Documentation |
Obtain gradient and Hessian, post hoc.
Description
Calculates the gradient and Hessian of the log likelihood of
an extended generalised hidden Markov model, from the components
of a "eglhmm"
object, or in certain circumstances, simply
extracts these quantities from that object.
Usage
postHocGradHess(object,inclTau=TRUE)
Arguments
object |
An object of class |
inclTau |
Logical scalar; should the vector of “ |
Details
If object
is the result of fitting a bivariate model (i.e.
if it inherits from "eglhmm.bivariate"
then an error
is thrown. (No gradient or Hessian is available in this case.)
If object$method
is "lm"
and if inclTau
matches the value used in fitting method
, then the
appropriate gradient and Hessian have already been calculated
and are simply extracted from object
. If inclTau
does not match the value used in fitting method
, then
the gradient and Hessian are recalculated (by the undocumented
function getHgl()
) with the value of inclTau
being
that specified by the function argument.
If object$method
is "em"
or "bf"
, then the
gradient and Hessian are calculated (by the undocumented function
getHgl()
) with the value of inclTau
being that
specified by the function argument.
If object$method
is "bf"
then the gradient has
been calculated numerically and the Hessian may have
been calculated numerically (f the argument hessian
of eglhmm()
was set equal to TRUE
). The
corresponding value of the gradient will comprise a component,
named "numGrad"
, of the list returned by this function.
The corresponding value of the Hessian, if this was indeed
calculated, will comprise a component, named "numHess"
,
of the list returned by this function.
Value
A list with components
-
gradient
: The gradient of the log likelihood. -
Hessian
: The Hessian of the log likelihood. -
numGrad
: The numerically calculated gradient of the log likelihood. Present only ifobject$method
is"bf"
. -
numHess
: The numerically calculated Hessian of the log likelihood. Present only ifobject$method
is"bf"
and if argumenthessian
was set equal toTRUE
in the call toeglhmm()
that producedobject
.
Author(s)
Rolf Turner rolfturner@posteo.net
References
R. Nazim Khan, (2002). Statistical modelling and analysis of ion channel data based on hidden Markov models and the EM algorithm. Ph.D. thesis, the University of Western Australia, Crawley, WA 6009.
David Oakes, Direct calculation of the information matrix via the EM algorithm (1999). Journal of the Royal Statistical Society, series B, 61, pp. 479 – 482.
Theodore C. Lystig and James P. Hughes (2002). Exact computation of the observed information matrix for hidden Markov models. Journal of Computational and Graphical Statistics, 11 (3), pp. 678 – 689.
Olivier Cappé and Eric Moulines (July 2005). Recursive computation of the score and observed information matrix in hidden Markov models, IEEE Workshop on Statistical Signal Processing, Bordeaux.
See Also
eglhmm()
Examples
fit.em <- eglhmm(y~locn+depth,data=SydColCount,distr="P",
cells=c("locn","depth"),K=2,method="em",verb=TRUE)
gh.em <- postHocGradHess(fit.em) # Calculates using inclTau=TRUE.
## Not run:
gh.em.noTau <- postHocGradHess(fit.em,inclTau=FALSE)
fit.lm <- eglhmm(y~locn+depth,data=SydColCount,distr="P",
cells=c("locn","depth"),K=2,verb=TRUE)
gh.lm <- postHocGradHess(fit.lm) # Just extracts the relevant components.
gh.lm.noTau <- postHocGradHess(fit.lm,inclTau=FALSE)
fit.bf <- eglhmm(y~locn+depth,data=SydColCount,distr="P",
cells=c("locn","depth"),K=2,method="bf",verb=TRUE,
hessian=TRUE)
gh.bf <- postHocGradHess(fit.bf) # Calculates using inclTau=TRUE; also
# extracts numerically computed quantities.
gh.bf.noTau <- postHocGradHess(fit.bf,inclTau=FALSE) # Calculates; also
# extracts numerically
# computed quantities.
## End(Not run)