emMHMMR: emMHMMR implemens the EM (Baum-Welch) algorithm to fit a MHMMR model.
Description
emMHMMR implements the maximum-likelihood parameter estimation of the MHMMR
model by the Expectation-Maximization (EM) algorithm, known as Baum-Welch
algorithm in the context of HMMs.
Numeric vector of length m representing the covariates/inputs
\(x_{1},\dots,x_{m}\).
Y
Matrix of size \((m, d)\) representing a \(d\) dimension time
series observed at points \(1,\dots,m\).
K
The number of regimes (MHMMR components).
p
Optional. The order of the polynomial regression. By default, p is
set at 3.
variance_type
Optional character indicating if the model is
"homoskedastic" or "heteroskedastic". By default the model is
"heteroskedastic".
n_tries
Optional. Number of runs of the EM algorithm. The solution
providing the highest log-likelihood will be returned.
If n_tries > 1, then for the first run, parameters are initialized by
uniformly segmenting the data into K segments, and for the next runs,
parameters are initialized by randomly segmenting the data into K
contiguous segments.
max_iter
Optional. The maximum number of iterations for the EM
algorithm.
threshold
Optional. A numeric value specifying the threshold for the
relative difference of log-likelihood between two steps of the EM as
stopping criteria.
verbose
Optional. A logical value indicating whether or not values of
the log-likelihood should be printed during EM iterations.
emMHMMR function implements the EM algorithm. This function starts
with an initialization of the parameters done by the method initParam of
the class ParamMHMMR, then it alternates between the E-Step
(method of the class StatMHMMR) and the M-Step (method of the
class ParamMHMMR) until convergence (until the relative
variation of log-likelihood between two steps of the EM algorithm is less
than the threshold parameter).