View source: R/sequence-multichannel-hmm.R
| fit_multichannel_sequence_hmm | R Documentation |
Fits a finite-state, time-homogeneous HMM to two or more categorical channels under conditional independence of channels given the latent state. Latent states are statistical model states only.
fit_multichannel_sequence_hmm(
data,
n_states,
channel_cols,
sequence_id_col = "sequence_id",
order_col = "sequence_order",
symbol_levels = NULL,
state_names = NULL,
initial_probs = NULL,
transition_probs = NULL,
emission_probs = NULL,
max_iter = 200L,
tolerance = 1e-06,
pseudocount = 1e-06,
seed = 1L,
keep_posteriors = FALSE
)
data |
Long-format multichannel sequence data. |
n_states |
Number of latent states. |
channel_cols |
Names of categorical observation channels. |
sequence_id_col, order_col |
Core sequence columns. |
symbol_levels |
Optional named list of symbol orders by channel. |
state_names |
Optional latent-state names. |
initial_probs, transition_probs, emission_probs |
Optional starting values. |
max_iter |
Maximum EM iterations. |
tolerance |
Relative log-likelihood tolerance. |
pseudocount |
Non-negative smoothing count. |
seed |
Reproducibility seed. |
keep_posteriors |
Retain final forward-backward results. |
An object of class gp3_multichannel_sequence_hmm.
multichannel <- data.frame(
sequence_id = rep(paste0("s", 1:4), each = 5L),
sequence_order = rep(1:5, times = 4L),
action = c("A", "B", "C", "C", "D", "A", "B", "B", "C", "D",
"D", "C", "B", "A", "A", "D", "C", "C", "B", "A"),
context = rep(c("x", "x", "y", "y", "z"), times = 4L)
)
fit_multichannel_sequence_hmm(multichannel, 2L,
channel_cols = c("action", "context"),
max_iter = 5L, seed = 1L)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.