Learn R Programming

ARCensReg (version 3.0.1)

ARtCensReg: Censored autoregressive regression model with Student-t innovations

Description

It fits a univariate left, right, or interval censored linear regression model with autoregressive errors considering Student-t innovations, through the SAEM algorithm. It provides estimates and standard errors of the parameters, supporting missing values on the dependent variable.

Usage

ARtCensReg(cc, lcl = NULL, ucl = NULL, y, x, p = 1, M = 10,
  perc = 0.25, MaxIter = 400, pc = 0.18, nufix = NULL, tol = 1e-04,
  show_se = TRUE, quiet = FALSE)

Value

An object of class "ARtpCRM" representing the AR(p) censored regression Student-t fit. Generic functions such as print and summary have methods to show the results of the fit. The function plot provides convergence graphics for the parameter estimates.

Specifically, the following components are returned:

beta

Estimate of the regression parameters.

sigma2

Estimated scale parameter of the innovation.

phi

Estimate of the autoregressive parameters.

nu

Estimated degrees of freedom.

theta

Vector of parameters estimate (\(\beta, \sigma^2, \phi, \nu\)).

SE

Vector of the standard errors of (\(\beta, \sigma^2, \phi, \nu\)).

yest

Augmented response variable based on the fitted model.

uest

Final estimated weight variables.

x

Matrix of covariates of dimension \(n \times l\).

iter

Number of iterations until convergence.

criteria

Attained criteria value.

call

The ARtCensReg call that produced the object.

tab

Table of estimates.

cens

"left", "right", or "interval" for left, right, or interval censoring, respectively.

nmiss

Number of missing observations.

ncens

Number of censored observations.

converge

Logical indicating convergence of the estimation algorithm.

MaxIter

The maximum number of iterations used for the SAEM algorithm.

M

Size of the Monte Carlo sample generated in each step of the SAEM algorithm.

pc

Percentage of initial iterations of the SAEM algorithm with no memory.

time

Time elapsed in processing.

plot

A list containing convergence information.

Arguments

cc

Vector of censoring indicators of length \(n\), where \(n\) is the total observations. For each observation: 0 if non-censored, 1 if censored/missing.

lcl, ucl

Vectors of length \(n\) that represent the lower and upper bounds of the interval, which contains the observade value of the censored observation. Default=NULL, indicating no-censored data. See details for more information.

y

Vector of responses of length \(n\).

x

Matrix of covariates of dimension \(n \times l\), where \(l\) is the number of fixed effects including the intercept, if considered (in models which include an intercept, x should contain a column of ones).

p

Order of the autoregressive process. It must be a positive integer value.

M

Size of the Monte Carlo sample generated in each step of the SAEM algorithm. Default=10.

perc

Percentage of burn-in on the Monte Carlo sample. Default=0.25.

MaxIter

The maximum number of iterations of the SAEM algorithm. Default=400.

pc

Percentage of initial iterations of the SAEM algorithm with no memory. It is recommended that 50<MaxIter*pc<100. Default=0.18.

nufix

If the degrees of freedom (\(\nu\)) are unknown, nufix should be equal to NULL; otherwise, it must be a number greater than 2.

tol

The convergence maximum error permitted.

show_se

TRUE or FALSE. Indicates if the standard errors should be estimated. Default=TRUE.

quiet

TRUE or FALSE. Indicates if printing information should be suppressed. Default=FALSE.

Warning

This algorithm assumes that the first \(p\) values in the response vector are completely observed.

Author

Katherine L. Valeriano, Fernanda L. Schumacher, and Larissa A. Matos

Details

The linear regression model with autocorrelated errors, defined as a discrete-time autoregressive (AR) process of order \(p\), at time \(t\) is given by

\(Y_t = x_t^T \beta + \xi_t,\)

\(\xi_t = \phi_1 \xi_{t-1} + ... + \phi_p \xi_{t-p} + \eta_t, t=1,..., n,\)

where \(Y_t\) is the response variable, \(\beta = (\beta_1,..., \beta_l)^T\) is a vector of regression parameters of dimension \(l\), \(x_t = (x_{t1},..., x_{tl})^T\) is a vector of non-stochastic regressor variables values, and \(\xi_t\) is the AR error with \(\eta_t\) being a shock of disturbance following the Student-t distribution with \(\nu\) degrees of freedom, \(\phi = (\phi_1,..., \phi_p)^T\) being the vector of AR coefficients, and \(n\) denoting the sample size.

It is assumed that \(Y_t\) is not fully observed for all \(t\). For left censored observations, we have lcl=-Inf and ucl=\(V_t\), such that the true value \(Y_t \leq V_t\). For right censoring, lcl=\(V_t\) and ucl=Inf, such that \(Y_t \geq V_t\). For interval censoring, lcl and ucl must be finite values, such that \(V_{1t} \leq Y_t \leq V_{2t}\). Missing data can be defined by setting lcl=-Inf and ucl=Inf.

The initial values are obtained by ignoring censoring and applying maximum likelihood estimation with the censored data replaced by their censoring limits. Moreover, just set cc as a vector of zeros to fit a regression model with autoregressive errors for non-censored data.

References

delyon1999convergenceARCensReg

valeriano2021censoredARCensReg

See Also

arima, ARCensReg

Examples

Run this code
## Example 1: (p = l = 1)
# Generating a sample
set.seed(1234)
n = 80
x = rep(1, n)
dat = rARCens(n=n, beta=2, phi=.6, sig2=.3, x=x, cens='right', pcens=.05, 
              innov='t', nu=4)

# Fitting the model (quick convergence)
fit0 = ARtCensReg(dat$data$cc, dat$data$lcl, dat$data$ucl, dat$data$y, x,
                 M=5, pc=.12, tol=0.001)
fit0
# \donttest{
## Example 2: (p = l = 2)
# Generating a sample
set.seed(783796)
n = 200
x = cbind(1, runif(n))
dat = rARCens(n=n, beta=c(2,1), phi=c(.48,-.2), sig2=.5, x=x, cens='left',
              pcens=.05, innov='t', nu=5)
  
# Fitting the model with nu known
fit1 = ARtCensReg(dat$data$cc, dat$data$lcl, dat$data$ucl, dat$data$y, x,
                  p=2, M=15, pc=.20, nufix=5)
summary(fit1)
plot(fit1)

# Fitting the model with nu unknown
fit2 = ARtCensReg(dat$data$cc, dat$data$lcl, dat$data$ucl, dat$data$y, x,
                 p=2, M=15, pc=.20)
summary(fit2)
plot(fit2)# }

Run the code above in your browser using DataLab