emHMMR function

emHMMR implemens the EM (Baum-Welch) algorithm to fit a HMMR model.

emHMMR implemens the EM (Baum-Welch) algorithm to fit a HMMR model.

emHMMR implements the maximum-likelihood parameter estimation of the HMMR model by the Expectation-Maximization (EM) algorithm, known as Baum-Welch algorithm in the context of HMMs.

emHMMR(X, Y, K, p = 3, variance_type = c("heteroskedastic", "homoskedastic"), n_tries = 1, max_iter = 1500, threshold = 1e-06, verbose = FALSE)

Arguments

  • X: Numeric vector of length m representing the covariates/inputs x1,,xmx_{1},\dots,x_{m}.

  • Y: Numeric vector of length m representing the observed response/output y1,,ymy_{1},\dots,y_{m}.

  • K: The number of regimes/segments (HMMR 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" (i.e same variance or different variances for each of the K regmies). 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.

Returns

EM returns an object of class ModelHMMR .

Details

emHMMR function implements the EM algorithm for the HMMR model. This function starts with an initialization of the parameters done by the method initParam of the class ParamHMMR , then it alternates between the E-Step (method of the class StatHMMR ) and the M-Step (method of the class ParamHMMR ) until convergence (until the relative variation of log-likelihood between two steps of the EM algorithm is less than the threshold parameter).

Examples

data(univtoydataset) hmmr <- emHMMR(univtoydataset$x, univtoydataset$y, K = 5, p = 1, verbose = TRUE) hmmr$summary() hmmr$plot()

See Also

ModelHMMR , ParamHMMR , StatHMMR