PLRModels (version 1.1)

plrm.beta: Semiparametric estimate for the parametric component of the regression function in PLR models

Description

This routine computes estimates for $\beta$ from a sample ${(Y_i, X_{i1}, ..., X_{ip}, t_i): i=1,...,n}$, where: $$\beta = (\beta_1,...,\beta_p)$$ 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. Ordinary least squares estimation, combined with kernel smoothing, is used.

Usage

plrm.beta(data = data, b.seq = NULL, estimator = "NW", kernel = "quadratic")

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"
b.seq
vector of bandwidths for estimating $\beta$. If NULL (the default), only one estimate of $\beta$ is computed, the corresponding bandwidth being selected by means of the cross-validation procedure.
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.

Value

  • A list containing:
  • BETAp x length(b.seq) matrix containing the estimate of $\beta$ for each bandwidth in h.seq.
  • Gn x p x length(b.seq) array containing the nonparametric estimate of E(X_{ij} | t_i) ($i=1,...,n; j=1,...,p$) for each bandwidth in b.seq.

Details

The expression for the estimator of $\beta$ can be seen in page 52 in Aneiros-Perez et al. (2004).

References

Aneiros-Perez, G., Gonzalez-Manteiga, W. and Vieu, P. (2004) Estimation and testing in a partial linear regression model under long memory dependence. Bernoulli 10, 49-78. Hardle, W., Liang, H. and Gao, J. (2000) Partially Linear Models. Physica-Verlag. Speckman, P. (1988) Kernel smoothing in partial linear models. J. R. Statist. Soc. B 50, 413-436.

See Also

Other related functions are: plrm.est, plrm.gcv, plrm.cv.

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
ajuste <- plrm.beta(data=data, b=b.h[1])
ajuste$BETA



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

set.seed(1234)
# We generate the data
n <- 100
t <- ((1:n)-0.5)/n
beta <- c(0.05, 0.01)
m <- function(t) {0.25*t*(1-t)}
f <- m(t)

x <- matrix(rnorm(200,0,1), nrow=n)
sum <- x%*%beta
epsilon <- rnorm(n, 0, 0.01)
y <-  sum + f + epsilon
data_ind <- matrix(c(y,x,t),nrow=100)

# We estimate the parametric component of the PLR model
# (GCV bandwidth)
a <- plrm.beta(data_ind)

a$BETA


## Example 2b: dependent data

set.seed(1234)
# We generate the data
x <- matrix(rnorm(200,0,1), nrow=n)
sum <- x%*%beta
epsilon <- arima.sim(list(order = c(1,0,0), ar=0.7), sd = 0.01, n = n)
y <-  sum + f + epsilon
data_dep <- matrix(c(y,x,t),nrow=100)


# We estimate the parametric component of the PLR model
# (CV bandwidth)
b <- plrm.cv(data_dep, ln.0=2)$bh.opt[2,1]
a <-plrm.beta(data_dep, b=b)

a$BETA

Run the code above in your browser using DataLab