# dnorm_additive_reg: pdf of the Gaussian additive (Markov-switching) model for... In hhsmm: Hidden Hybrid Markov/Semi-Markov Model Fitting

## pdf of the Gaussian additive (Markov-switching) model for hhsmm

### Description

The probability density function of a Gaussian additive (Markov-switching) model for a specified observation vector, a specified state and a specified model's parameters

### Usage

```dnorm_additive_reg(x, j, model, control = list(K = 5, resp.ind = 1))
```

### Arguments

 `x` the observation matrix including responses and covariates `j` a specified state between 1 to nstate `model` a hhsmmspec model `control` the parameters to control the density function. The simillar name is chosen with that of `additive_reg_mstep`, to be used in `...` argument of the `hhsmmfit` function. Here, it contains the following items: `K` the degrees of freedom for the B-spline, default is `K=5` `resp.ind` a vector of the column numbers of `x` which contain response variables. The default is 1, which means that the first column of `x` is the univariate response variable

### Value

the probability density function value

### Author(s)

Morteza Amini, morteza.amini@ut.ac.ir, Reza Salehian, reza.salehian@ut.ac.ir

### References

Langrock, R., Adam, T., Leos-Barajas, V., Mews, S., Miller, D. L., and Papastamatiou, Y. P. (2018). Spline-based nonparametric inference in general state-switching models. Statistica Neerlandica, 72(3), 179-200.

### Examples

```J <- 3
initial <- c(1, 0, 0)
semi <- rep(FALSE, 3)
P <- matrix(c(0.5, 0.2, 0.3, 0.2, 0.5, 0.3, 0.1, 0.4, 0.5), nrow = J,
byrow = TRUE)
par <- list(intercept = list(3, list(-10, -1), 14),
coefficient = list(-1, list(1, 5), -7),
csigma = list(1.2, list(2.3, 3.4), 1.1),
mix.p = list(1, c(0.4, 0.6), 1))
model <- hhsmmspec(init = initial, transition = P, parms.emis = par,
dens.emis = dmixlm, semi = semi)
train <- simulate(model, nsim = c(20, 30, 42, 50), seed = 1234,
remission = rmixlm, covar = list(mean = 0, cov = 1))
clus = initial_cluster(train = train, nstate = 3, nmix = NULL,
ltr = FALSE, final.absorb = FALSE, verbose = TRUE, regress = TRUE)
initmodel = initialize_model(clus = clus ,mstep = additive_reg_mstep,
dens.emission = dnorm_additive_reg, sojourn = NULL, semi = rep(FALSE, 3),
M = max(train\$N),verbose = TRUE)
fit1 = hhsmmfit(x = train, model = initmodel, mstep = additive_reg_mstep,
M = max(train\$N))
plot(train\$x[, 1] ~ train\$x[, 2], col = train\$s, pch = fit1\$yhat,
xlab = "x", ylab = "y")
text(0,30, "colors are real states",col="red")
text(0,28, "characters are predicted states")
pred <- addreg_hhsmm_predict(fit1, train\$x[, 2], 5)
yhat1 <- pred[[1]]
yhat2 <- pred[[2]]
yhat3 <- pred[[3]]

lines(yhat1[order(train\$x[, 2])]~sort(train\$x[, 2]),col = 2)
lines(yhat2[order(train\$x[, 2])]~sort(train\$x[, 2]),col = 1)
lines(yhat3[order(train\$x[, 2])]~sort(train\$x[, 2]),col = 3)

```

hhsmm documentation built on May 30, 2022, 1:05 a.m.