Learn R Programming

PLRModels (version 1.1)

plrm.ci: Confidence intervals estimation in partial linear regression models

Description

This routine obtains a confidence interval for the value $a^T * \beta$, by asymptotic distribution and bootstrap, ${(Y_i, X_{i1}, ..., X_{ip}, t_i): i=1,...,n}$, where: $$a = (a_1,...,a_p)^T$$ is an unknown vector, $$\beta = (\beta_1,...,\beta_p)^T$$ is an unknown vector parameter and $$Y_i= X_{i1}*\beta_1 +...+ X_{ip}*\beta_p + m(t_i) + \epsilon_i.$$ The nonparametric component, $m$, is a smooth but unknown function, and the random errors, $\epsilon_i$, are allowed to be time series.

Usage

plrm.ci(data=data, seed=123, CI="AD", B=1000, N=50, a=NULL, 
        b1=NULL, b2=NULL, estimator="NW", 
        kernel="quadratic", p.arima=NULL, q.arima=NULL, 
        p.max=3, q.max=3, alpha=0.05, alpha2=0.05, num.lb=10, 
        ic="BIC", Var.Cov.eps=NULL)

Arguments

data
data[, 1] contains the values of the response variable, $Y$; data[, 2:(p+1)] contains the values of the "linear" explanatory variables, $X_1, ..., X_p$; data[, p+2] contains the values of the "nonparametric" ex
seed
the considered seed.
CI
method to obtain the confidence interval. It allows us to choose between: AD (asymptotic distribution), B (bootstrap) or all (both). The default is AD.
B
number of bootstrap replications. The default is 1000.
N
Truncation parameter used in the finite approximation of the MA(infinite) expression of $\epsilon$.
a
Vector which, multiplied by beta, is used for obtaining the confidence interval of this result.
b1
the considered bandwidth to estimate the confidence interval by asymptotic distribution. If NULL (the default), it is obtained using cross-validation.
b2
the considered bandwidth to estimate the confidence interval by bootstrap. If NULL (the default), it is obtained using cross-validation.
estimator
allows us the choice between NW (Nadaraya-Watson) or LLP (Local Linear Polynomial). The default is NW.
kernel
allows us the choice between gaussian, quadratic (Epanechnikov kernel), triweight or uniform kernel. The default is quadratic.
p.arima
the considered p to fit the model ARMA(p,q).
q.arima
the considered q to fit the model ARMA(p,q).
p.max
if Var.Cov.eps=NULL, the ARMA models are selected between the models ARMA(p,q) with 0<=p<=p.max and 0<=q<=q.max. The default is 3.
q.max
if Var.Cov.eps=NULL, the ARMA models are selected between the models ARMA(p,q) with 0<=p<=p.max and 0<=q<=q.max. The default is 3.
alpha
1 - alpha is the confidence level of the confidence interval. The default is 0.05.
alpha2
significance level used to check (if needed) the ARMA model fitted to the residuals. The default is 0.05.
num.lb
if Var.Cov.eps=NULL, it checks the suitability of the selected ARMA model according to the Ljung-Box test and the t-test. It uses up to num.lb delays in the Ljung-Box test. The default is 10.
ic
if Var.Cov.eps=NULL, ic contains the information criterion used to suggest the ARMA model. It allows us to choose between: "AIC", "AICC" or "BIC" (the default).
Var.Cov.eps
n x n matrix of variances-covariances associated to the random errors of the regression model. If NULL (the default), the function tries to estimate it: it fits an ARMA model (selected according to an information criterium) to the residuals f

Value

  • A list containing:
  • Bootstrapa dataframe containing ci_inf and ci_sup, the confidence intervals using bootstrap; p_opt and q_opt (the orders for the ARMA model fitted to the residuals) and b1 and b2, the considered bandwidths.
  • ADa dataframe containing ci_inf and ci_sup, the confidence intervals using the asymptotic distribution; p_opt and q_opt (the orders for the ARMA model fitted to the residuals) and b1, the considered bandwidth.
  • pv.Box.testp-values of the Ljung-Box test for the model fitted to the residuals.
  • pv.t.testp-values of the t.test for the model fitted to the residuals.

References

Liang, H., Hardle, W., Sommerfeld, V. (2000) Bootstrap approximation in a partially linear regression model. Journal of Statistical Planning and Inference 91, 413-426. You, J., Zhou, X. (2005) Bootstrap of a semiparametric partially linear model with autoregressive errors. Statistica Sinica 15, 117-133.

See Also

A related functions is par.ci.

Examples

Run this code
# EXAMPLE 1: REAL DATA
data(barnacles1)
data <- as.matrix(barnacles1)
data <- diff(data, 12)
data <- cbind(data,1:nrow(data))

b.h <- plrm.gcv(data)$bh.opt
b1 <- b.h[1]

plrm.ci(data, b1=b1, b2=b1, a=c(1,0), CI="all")
plrm.ci(data, b1=b1, b2=b1, a=c(0,1), CI="all")



# EXAMPLE 2: SIMULATED DATA
## Example 2a: dependent data

set.seed(123)
# We generate the data
n <- 100
t <- ((1:n)-0.5)/n
m <- function(t) {t+0.5}
f <- m(t)

beta <- c(0.5, 2)
x <- matrix(rnorm(200,0,3), nrow=n)
sum <- x%*%beta
sum <- as.matrix(sum)
eps <- arima.sim(list(order = c(1,0,0), ar=0.7), sd = 0.1, n = n)
eps <- as.matrix(eps)

y <-  sum + f + eps
data_plrmci <- cbind(y,x,t)

plrm.ci(data, a=c(1,0), CI="all")
plrm.ci(data, a=c(0,1), CI="all")

Run the code above in your browser using DataLab