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 linear predictors
$$ \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_g2(Z, beta, byrow = FALSE, ad = NULL, report = TRUE, ref = NULL)
array of transition probability matrices of dimension c(N,N,n)
covariate design matrix with or without intercept column, i.e. of dimension c(n, p) or c(n, p+1)
If Z
has only p columns, an intercept column of ones will be added automatically.
Can also be a list of N*(N-1) design matrices with different number of columns but the same number of rows. In that case, no intercept column will be added.
matrix of coefficients for the off-diagonal elements of the transition probability matrix
Needs to be of dimension c(N*(N-1), p+1), where the first column contains the intercepts.
If Z
is a list, beta
can also be a list of length N*(N-1) with each entry being a vector or a (long) matrix of coefficients, each matching the dimension of the corresponding entry in Z
.
logical indicating if each transition probability matrix should be filled by row
Defaults to FALSE
, but should be set to TRUE
if one wants to work with a matrix of beta parameters returned by popular HMM packages like moveHMM
, momentuHMM
, or hmmTMB
.
optional logical, indicating whether automatic differentiation with RTMB
should be used. By default, the function determines this itself.
logical, indicating whether the coefficient matrix beta
should be reported from the fitted model. Defaults to TRUE
, but only works if ad = TRUE
.
optional vector of length N with the reference state indices for each column of the transition probability matrix. Each row in the transition matrix corresponds to a multinomial regression, hence one state needs to be the reference category. Defaults to off-diagonal elements (ref = 1:N
).
Other transition probability matrix functions:
generator()
,
tpm()
,
tpm_cont()
,
tpm_emb()
,
tpm_emb_g()
,
tpm_g()
,
tpm_p()
Z = matrix(runif(200), ncol = 2)
beta = matrix(c(-1, 1, 2, -2, 1, -2), nrow = 2, byrow = TRUE)
Gamma = tpm_g(Z, beta)
Run the code above in your browser using DataLab