# score: the score of new observations In hhsmm: Hidden Hybrid Markov/Semi-Markov Model Fitting

 score R Documentation

## the score of new observations

### Description

computes the score (log-likelihood) of new observations using a trained model

### Usage

``````score(xnew, fit, ...)
``````

### Arguments

 `xnew` a new single observation, observation matrix or a list of the class `hhsmmdata` containing \$x and \$N elements `fit` a fitted model using the `hhsmmfit` function `...` additional parameters for the dens.emission and mstep functions

### Value

the vector of scores (log-likelihood) of `xnew`

### Author(s)

Morteza Amini, morteza.amini@ut.ac.ir

### Examples

``````### first example
J <- 3
initial <- c(1, 0, 0)
semi <- c(FALSE, TRUE, FALSE)
P <- matrix(c(0.8, 0.1, 0.1, 0.5, 0, 0.5, 0.1, 0.2, 0.7), nrow = J,
byrow = TRUE)
par <- list(mu = list(list(7, 8), list(10, 9, 11), list(12, 14)),
sigma = list(list(3.8, 4.9), list(4.3, 4.2, 5.4), list(4.5, 6.1)),
mix.p = list(c(0.3, 0.7), c(0.2, 0.3, 0.5), c(0.5, 0.5)))
sojourn <- list(shape = c(0, 3, 0), scale = c(0, 10, 0), type = "gamma")
model <- hhsmmspec(init = initial, transition = P, parms.emis = par,
dens.emis = dmixmvnorm, sojourn = sojourn, semi = semi)
train <- simulate(model, nsim = c(10, 8, 8, 18), seed = 1234,
remission = rmixmvnorm)
test <- simulate(model, nsim = c(5, 4, 6, 7), seed = 1234,
remission = rmixmvnorm)
clus = initial_cluster(train, nstate = 3, nmix = c(2, 2, 2), ltr = FALSE,
final.absorb = FALSE, verbose = TRUE)
semi <- c(FALSE, TRUE, FALSE)
initmodel1 = initialize_model(clus = clus, sojourn = "gamma",
M = max(train\$N), semi = semi)
fit1 = hhsmmfit(x = train, model = initmodel1, M = max(train\$N))
score(test, fit1)

### second example
num_states <- 3
semi <- rep(TRUE, num_states)
init_probs <- rep(1/num_states, num_states)
transition_matrix <- matrix(1/(num_states-1), nrow = num_states, ncol = num_states)
for (i in seq_along(semi)) {
if (semi[i]) {
transition_matrix[i, i] <- 0
}
}
parms_emission <- list(prob = list(c(0.6, 0.2, 0.1, 0.1),
c(0.2, 0.6, 0.1, 0.1), c(0.5, 0.3, 0.1, 0.1)))
sojourn <- list(shape = c(1, 3, 1), scale = c(3, 10, 4), type = "gamma")
dens_emission <- dmultinomial.hhsmm
initmodel <- hhsmmspec(
init = init_probs,
transition = transition_matrix,
parms.emission = parms_emission,
sojourn = sojourn,
dens.emission = dens_emission,
remission = rmultinomial.hhsmm,
mstep = mstep.multinomial,
semi = semi
)
prepared_data <- hhsmmdata(as.matrix(sample(1:4,100,replace=TRUE)))
fit1 <- hhsmmfit(x = prepared_data, model=initmodel, n=4,
M=max(prepared_data\$N))
score(xnew = prepared_data, fit = fit1, n=4)
``````

hhsmm documentation built on May 29, 2024, 6:08 a.m.