Generate Transition and Initial Probabilities
Source:R/generate_probabilities.R
generate_probabilities.RdGenerate random transition probabilities and initial state probabilities for a Markov chain using the seqHMM package.
Usage
generate_probabilities(
n_states = 8,
states = NULL,
alpha = 1,
diag_c = 0,
seed = NULL,
possible_state_names = NULL
)Arguments
- n_states
Integer. Number of states in the Markov chain. Default: 5.
- states
Character vector. Names for the states. Must have at least
n_stateselements. If NULL, uses letters A, B, C, ... Default: NULL.- alpha
Numeric. Dirichlet concentration parameter passed to
seqHMM::simulate_initial_probs()andseqHMM::simulate_transition_probs(). Small values (e.g., 0.1) produce sparse matrices with a few dominant transitions; large values (e.g., 10) produce near-uniform matrices. Default: 1.- diag_c
Numeric. Diagonal boost added before row normalisation, passed to
seqHMM::simulate_transition_probs(). Higher values create "sticky" states with strong self-transitions. Default: 0.- seed
Integer or NULL. Random seed for reproducibility. Default: NULL.
- possible_state_names
Deprecated. Use
statesinstead.
Value
A list containing:
- initial_probs
Named numeric vector of initial state probabilities.
- transition_probs
Square matrix of transition probabilities with row and column names set to state names.
- state_names
Character vector of state names used.
Details
The transition probabilities are generated using
seqHMM::simulate_transition_probs() and initial probabilities using
seqHMM::simulate_initial_probs().
Examples
if (FALSE) { # \dontrun{
# Generate probabilities for 4 states with default names
probs <- generate_probabilities(n_states = 4, seed = 42)
# Generate probabilities with custom state names
probs <- generate_probabilities(
n_states = 4,
states = c("A", "B", "C", "D", "E"),
seed = 123
)
# View initial probabilities
probs$initial_probs
# View transition matrix
probs$transition_probs
# Old parameter name still works
probs <- generate_probabilities(
n_states = 3,
possible_state_names = c("X", "Y", "Z")
)
} # }