Learn R Programming

surveillance (version 1.20.3)

hhh4_predict: Predictions from a hhh4 Model

Description

Get fitted (component) means from a hhh4 model.

Usage

# S3 method for hhh4
predict(object, newSubset=object$control$subset,
        type="response", ...)

Value

matrix of fitted means for each time point (of newSubset) and region.

Arguments

object

fitted hhh4 model (class "hhh4").

newSubset

subset of time points for which to return the predictions. Defaults to the subset used for fitting the model, and must be a subset of 1:nrow(object$stsObj).

type

the type of prediction required. The default ("response" or, equivalently, "mean") is on the scale of the response variable (mean = endemic plus epidemic components). The alternatives are: "endemic", "epidemic", "epi.own" (i.e. the autoregressive part), and "epi.neighbours" (i.e. the spatio-temporal part).

...

unused (argument of the generic).

Author

Michaela Paul and Sebastian Meyer

Examples

Run this code
## simulate simple seasonal noise with reduced baseline for t >= 60
t <- 0:100
y <- rpois(length(t), exp(3 + sin(2*pi*t/52) - 2*(t >= 60)))
obj <- sts(y)
plot(obj)

## fit true model
fit <- hhh4(obj, list(end = list(f = addSeason2formula(~lock)),
                      data = list(lock = as.integer(t >= 60)),
                      family = "Poisson"))
coef(fit, amplitudeShift = TRUE, se = TRUE)

## compute predictions for a subset of the time points
stopifnot(identical(predict(fit), fitted(fit)))
plot(obj)
lines(40:80, predict(fit, newSubset = 40:80), lwd = 2)


## advanced: compute predictions for "newdata" (here, a modified covariate)
mod <- fit
mod$terms <- NULL  # to be sure
mod$control$data$lock[t >= 60] <- 0.5
pred <- meanHHH(mod$coefficients, terms(mod))$mean
plot(fit, xaxis = NA)
lines(mod$control$subset, pred, lty = 2)

Run the code above in your browser using DataLab