This function computes the log-likelihood value of a (hierarchical) hidden
Markov model for given observations and parameter values.
parUncon |
An object of class parUncon, which is a numeric vector
with identified and unconstrained model parameters in the following order:
non-diagonal transition probabilities gammasUncon
expectations muUncon
standard deviations sigmaUncon (if any)
degrees of freedom dfUncon (if any)
fine-scale parameters for each coarse-scale state, in the same order (if any)
|
observations |
A numeric vector of time-series data.
In the hierarchical case (hierarchy = TRUE), a matrix with
coarse-scale data in the first column and corresponding fine-scale data in
the rows.
|
controls |
Either a list or an object of class fHMM_controls.
The list can contain the following elements, which are described
in more detail below:
-
hierarchy, defines an hierarchical HMM,
-
states, defines the number of states,
-
sdds, defines the state-dependent distributions,
-
horizon, defines the time horizon,
-
period, defines a flexible, periodic fine-scale time horizon,
-
data, a list of controls that define the data,
-
fit, a list of controls that define the model fitting
Either none, all, or selected elements can be specified.
Unspecified parameters are set to their default values.
Important: Specifications in controls always override individual
specifications.
|
hierarchy |
A logical, set to TRUE for an hierarchical HMM.
If hierarchy = TRUE, some of the other controls must be specified for
the coarse-scale and the fine-scale layer.
By default, hierarchy = FALSE.
|
states |
An integer, the number of states of the underlying Markov chain.
If hierarchy = TRUE, states must be a vector of length
2. The first entry corresponds to the coarse-scale layer, while the second
entry corresponds to the fine-scale layer.
By default, states = 2 if hierarchy = FALSE and
states = c(2, 2) if hierarchy = TRUE.
|
sdds |
A character, specifying the state-dependent distribution. One of
-
"normal" (the normal distribution),
-
"lognormal" (the log-normal distribution),
-
"t" (the t-distribution),
-
"gamma" (the gamma distribution),
-
"poisson" (the Poisson distribution).
The distribution parameters, i.e. the
mean mu,
standard deviation sigma (not for the Poisson distribution),
degrees of freedom df (only for the t-distribution),
can be fixed via, e.g., "t(df = 1)" or
"gamma(mu = 0, sigma = 1)".
To fix different values of a parameter for different states, separate by
"|", e.g. "poisson(mu = 1|2|3)".
If hierarchy = TRUE, sdds must be a vector of length 2.
The first entry corresponds to the coarse-scale layer, while the second entry
corresponds to the fine-scale layer.
By default, sdds = "normal" if hierarchy = FALSE and
sdds = c("normal", "normal") if hierarchy = TRUE.
|
negative |
Either TRUE to return the negative log-likelihood value (useful for
optimization) or FALSE (default), else.
|
check_controls |
Either TRUE to check the defined controls or FALSE to not check
them (which saves computation time), else.
|
The (negative) log-likelihood value.