View source: R/tpm_functions.R
| tpm_g | R Documentation |
In an HMM, we often model the influence of covariates on the state process by linking them to the transition probabiltiy matrix. Most commonly, this is done by specifying a linear predictor
\eta_{ij}^{(t)} = \beta^{(ij)}_0 + \beta^{(ij)}_1 z_{t1} + \dots + \beta^{(ij)}_p z_{tp}
for each off-diagonal element (i \neq j) of the transition probability matrix and then applying the inverse multinomial logistic link (also known as softmax) to each row.
This function efficiently calculates all transition probabilty matrices for a given design matrix Z and parameter matrix beta.
tpm_g(
Z,
beta,
Eta = NULL,
byrow = FALSE,
ref = NULL,
ad = NULL,
report = TRUE,
sparse = FALSE
)
Z |
Covariate design matrix with or without intercept column, i.e. of dimension |
beta |
Matrix of coefficients for the off-diagonal elements of the transition probability matrix
of dimension |
Eta |
optional pre-calculated matrix of linear predictors of dimension |
byrow |
logical indicating if each transition probability matrix should be filled by row.
Defaults to |
ref |
optional integer vector of length |
ad |
logical; whether to use automatic differentiation. Determined automatically — for debugging only. |
report |
logical; if |
sparse |
logical, indicating whether sparsity in the rows of |
array of transition probability matrices of dimension c(nStates, nStates, nObs)
Other transition probability matrix functions:
generator(),
generator_g(),
tpm(),
tpm_ct(),
tpm_emb(),
tpm_emb_g(),
tpm_g2(),
tpm_p()
## inhomogeneous Markov chain
# t.p.m. depends on covariates
z1 <- runif(100); z2 <- runif(100) # 2 covariates
Z <- cbind(1, z1, z2) # design matrix
beta0 <- c(-2, -2); beta1 = c(1, -2); beta2 = c(2, -1) # coefficients for intercept and covariates
beta <- cbind(beta0, beta1, beta2) # coefficient matrix; with intercepts!
#' Gamma <- tpm(beta, Z) # array with 100 slices
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.