# tsglm

0th

Percentile

##### Count Time Series Following Generalised Linear Models

The function tsglm fits a generalised linear model (GLM) for time series of counts. The specification of the linear predictor allows for regressing on past observations, past values of the linear predictor and covariates as defined in the Details section. There is the so-called INGARCH model with the identity link (see for example Ferland et al., 2006, Fokianos et al., 2009) and another model with the logarithmic link (see for example Fokianos and Tjostheim, 2011), which also differ in the specification of the linear predictor. The conditional distribution can be chosen to be either Poisson or negative binomial.

Estimation is done by conditional maximum likelihood for the Poisson distribution or by a conditional quasi-likelihood approach based on the Poisson likelihood function for the negative binomial distribution.

There is a vignette available which introduces the functionality of tsglm and related functions of this package and its underlying statistical methods (vignette("tsglm", package="tscount")).

The function mean.fit is a lower level function to fit the mean specification of such a model assuming a Poisson distribution. It is called by tsglm. It has additional arguments allowing for a finer control of the fitting procedure, which can be handed over from the function tsglm by its ... argument. Note that it is usually not necessary for a user to call this lower level functions nor to worry about the additional arguments provided by this function. The defaults of these arguments have been chosen wisely by the authors of this package and should perform well in most applications.

##### Usage
tsglm(ts, model = list(past_obs = NULL, past_mean = NULL, external = NULL), xreg = NULL, link = c("identity", "log"), distr = c("poisson", "nbinom"), ...)
mean.fit(ts, model, xreg, link, score = TRUE, info = c("score", "none", "hessian", "sandwich"), init.method=c("marginal", "iid", "firstobs", "zero"), init.drop = FALSE, epsilon = 1e-06, slackvar = 1e-06, start.control = list(), final.control = list(), inter.control = NULL)
##### Arguments
ts
a univariate time series.
model
a named list specifying the model for the linear predictor, which can be of the following elements:
past_obs
integer vector giving the previous observations to be regressed on (autoregression). This is a vector with the elements $i[1],\ldots,i[p]$ (see Details). If omitted, or of length zero, there will be no regression on previous observations.
past_mean
integer vector giving the previous conditional means to be regressed on. This is a vector with the elements $j[1],\ldots,j[q]$ (see Details). If omitted, or of length zero, there will be no regression on previous conditional means.
external
logical vector of length ncol(xreg) specifying for each covariate wether its effect should be external or not (see Details). If this is a scalar this choice will be used for all covariates. If omitted, all covariates will have an internal effect (i.e. external=FALSE).

xreg
matrix with covariates in the columns, i.e. its number of rows must be length(ts). This is the matrix $X$ (see Details). If omitted no covariates will be included. For the identity link the covariates have to be non-negative.
character giving the link function. Default is "identity", fitting an INGARCH model. Another possible choice is "log", fitting a log-linear model.
distr
character giving the conditional distribution. Default is "poisson", i.e. a Poisson distribution.
...
additional arguments to be passed to the lower level fitting function mean.fit. See below.
score
logical value indicating whether the score vector should be computed.
info
character that determines if and how to compute the information matrix. Can be set to "score" (the default) for calculation via the outer product of the score vector, or to "hessian" for calculation via the Hessian matrix of second derivatives. For info="sandwich" the information matrix is estimated by a sandwich formula using both the outer score product and the Hessian matrix. If set to "none", no information matrix is computed. For distr="nbinom" one can only use info="score".
init.method
character that determines how the recursion of the conditional mean (and possibly of its derivatives) is initialised. If set to "marginal" (the default), the marginal mean of a model without covariates and its derivatives are used. If set to "iid", all values are initialised by the marginal mean under the assumption of i.i.d. data, which depends on the intercept only. If set to "firstobs" the first obersvation is used. If set to "zero", the recursions are initialised by the value zero.
init.drop

##### Value

An object of class "tsglm", which is a list with at least the following elements:
coefficients
a named vector of the maximum likelihood estimated coefficients, which can be extracted by the coef method.
start
a named vector of the start estimation for the coefficients.
residuals
a vector of residuals, which can be extracted by the residuals method.
fitted.values
the fitted values, which can be extracted by the fitted method.
linear.predictors
the linear fit on link scale.
response
a vector of the response values (this is usually the original time series but possibly without the first few observations used for initialization if argument init.drop=TRUE).
logLik
the log-likelihood of the fitted model, which can be extracted by the logLik method. This is the complete log-likelihood including all constant terms. It is based on n_eff observations (see below).
score
the score vector at the maximum likelihood estimation.
info.matrix
the information matrix at the maximum likelihood estimation assuming a Poisson distribution.
info.matrix_corrected
the information matrix at the maximum likelihood estimation assuming the distribution specified in distr.
call
the matched call.
n_obs
the number of observations.
n_eff
the effective number of observations used for maximum likelihood estimation (might be lower than n_obs if argument init.drop=TRUE).
ts
the original time series.
model
the model specification.
xreg
the given covariates.
distr
a character giving the fitted conditional distribution.
distrcoefs
a named vector of the estimated additional coefficients specifying the conditional distribution. Is NULL in case of a Poisson distribution.
sigmasq
the estimated overdispersion coefficient. Is zero in case of a Poisson distribution.
The functions ingarch.fit and loglin.fit have the same output except the elements distr, distrcoefs and sigmasq. In addition, they return the following list elements:
inter
some details on the intermediate estimation of the coefficients as returned by constrOptim or optim.
final
some details on the final estimation of the coefficients as returned by constrOptim or optim.
durations
named vector of the durations of the model fit (in seconds).
outerscoreprod
array of outer products of score vectors at each time point.

##### References

Christou, V. and Fokianos, K. (2014) Quasi-likelihood inference for negative binomial time series models. Journal of Time Series Analysis 35(1), 55--78, http://dx.doi.org/10.1002/jtsa.12050.

Christou, V. and Fokianos, K. (2015) Estimation and testing linearity for non-linear mixed poisson autoregressions. Electronic Journal of Statistics 9, 1357--1377, http://dx.doi.org/10.1214/15-EJS1044.

Ferland, R., Latour, A. and Oraichi, D. (2006) Integer-valued GARCH process. Journal of Time Series Analysis 27(6), 923--942, http://dx.doi.org/10.1111/j.1467-9892.2006.00496.x.

Fokianos, K. and Fried, R. (2010) Interventions in INGARCH processes. Journal of Time Series Analysis 31(3), 210--225, http://dx.doi.org/10.1111/j.1467-9892.2010.00657.x.

Fokianos, K., and Fried, R. (2012) Interventions in log-linear Poisson autoregression. Statistical Modelling 12(4), 299--322. http://dx.doi.org/10.1177/1471082X1201200401.

Fokianos, K., Rahbek, A. and Tjostheim, D. (2009) Poisson autoregression. Journal of the American Statistical Association 104(488), 1430--1439, http://dx.doi.org/10.1198/jasa.2009.tm08270.

Fokianos, K. and Tjostheim, D. (2011) Log-linear Poisson autoregression. Journal of Multivariate Analysis 102(3), 563--578, http://dx.doi.org/10.1016/j.jmva.2010.11.002.

Liboschik, T., Kerschke, P., Fokianos, K. and Fried, R. (2014) Modelling interventions in INGARCH processes. International Journal of Computer Mathematics (published online), http://dx.doi.org/10.1080/00207160.2014.949250.

S3 methods print, summary, residuals, plot, fitted, coef, predict, logLik, vcov, AIC, BIC and QIC for the class "tsglm". The S3 method se computes the standard errors of the parameter estimates. Additionally, there are the S3 methods pit, marcal and scoring for predictive model assessment.

S3 methods interv_test, interv_detect and interv_multiple for tests and detection procedures for intervention effects. tsglm.sim for simulation from GLM-type model for time series of counts. ingarch.mean, ingarch.var and ingarch.acf for calculation of analytical mean, variance and autocorrelation function of an INGARCH model (i.e. with identity link) without covariates.

Example time series of counts are campy, ecoli, ehec, influenza, measles in this package, polio in package gamlss.data.

• tsglm
• print.tsglm
• logLik.tsglm
• mean.fit
• vcov.tsglm
##### Examples
###Campylobacter infections in Canada (see help("campy"))
interventions <- interv_covariate(n=length(campy), tau=c(84, 100),
delta=c(1, 0)) #detected by Fokianos and Fried (2010, 2012)
#Linear link function with Negative Binomial distribution:
campyfit <- tsglm(campy, model=list(past_obs=1, past_mean=13),
xreg=interventions, distr="nbinom")
campyfit
plot(campyfit)

###Road casualties in Great Britain (see help("Seatbelts"))
timeseries <- Seatbelts[, "VanKilled"]
regressors <- cbind(PetrolPrice=Seatbelts[, c("PetrolPrice")],
linearTrend=seq(along=timeseries)/12)
#Logarithmic link function with Poisson distribution: