plsim.est {PLSiMCpp}R Documentation

Profile Least Squares Estimator

Description

PLS was proposed by Liang et al. (2010) to estimate parameters in PLSiM

Y = \eta(Z^T\alpha) + X^T\beta + \epsilon.

Usage

plsim.est(...)

## S3 method for class 'formula'
plsim.est(formula, data, ...)

## Default S3 method:
plsim.est(xdat=NULL, zdat, ydat, h=NULL, zetaini=NULL, MaxStep = 200L,
ParmaSelMethod="SimpleValidation", TestRatio=0.1, K = 3, seed=0, verbose=TRUE, ...)

Arguments

...

additional arguments.

formula

a symbolic description of the model to be fitted.

data

an optional data frame, list or environment containing the variables in the model.

xdat

input matrix (linear covariates). The model reduces to a single index model when x is NULL.

zdat

input matrix (nonlinear covariates). z should not be NULL.

ydat

input vector (response variable).

h

a value or a vector for bandwidth. If h is NULL, a default vector c(0.01,0.02,0.05,0.1,0.5) will be set for it. plsim.bw is employed to select the optimal bandwidth when h is a vector or NULL.

zetaini

initial coefficients, optional (default: NULL). It could be obtained by the function plsim.ini. zetaini[1:ncol(z)] is the initial coefficient vector \alpha_0, and zetaini[(ncol(z)+1):(ncol(z)+ncol(x))] is the initial coefficient vector \beta_0.

MaxStep

the maximum iterations, optional (default=200).

ParmaSelMethod

the parameter for the function plsim.bw.

TestRatio

the parameter for the function plsim.bw.

K

the parameter for the function plsim.bw.

seed

int, default: 0.

verbose

bool, default: TRUE. Enable verbose output.

Value

eta

estimated non-parametric part \hat{\eta}(Z^T{\hat{\alpha} }).

zeta

estimated coefficients. zeta[1:ncol(z)] is \hat{\alpha}, and zeta[(ncol(z)+1):(ncol(z)+ncol(x))] is \hat{\beta}.

y_hat

y's estimates.

mse

mean squared errors between y and y_hat.

data

data information including x, z, y, bandwidth h, initial coefficients zetaini, iteration step MaxStep and flag SiMflag. SiMflag is TRUE when x is NULL, otherwise SiMflag is FALSE.

Z_alpha

Z^T{\hat{\alpha}}.

r_square

multiple correlation coefficient.

variance

variance of y_hat.

stdzeta

standard error of zeta.

References

H. Liang, X. Liu, R. Li, C. L. Tsai. Estimation and testing for partially linear single-index models. Annals of statistics, 2010, 38(6): 3811.

Examples


# EXAMPLE 1 (INTERFACE=FORMULA)
# To estimate parameters of partially linear single-index model (PLSiM). 

n = 50
sigma = 0.1

alpha = matrix(1,2,1)
alpha = alpha/norm(alpha,"2")

beta = matrix(4,1,1)

# Case 1: Matrix Input
x = matrix(1,n,1)
z = matrix(runif(n*2),n,2)
y = 4*((z%*%alpha-1/sqrt(2))^2) + x%*%beta + sigma*matrix(rnorm(n),n,1)

fit = plsim.est(y~x|z)
summary(fit)

# Case 2: Vector Input
x = rep(1,n)
z1 = runif(n)
z2 = runif(n) 
y = 4*((z%*%alpha-1/sqrt(2))^2) + x%*%beta + sigma*matrix(rnorm(n),n,1)

fit = plsim.est(y~x|z1+z2)
summary(fit)
print(fit)

# EXAMPLE 2 (INTERFACE=DATA FRAME) 
# To estimate parameters of partially linear single-index model (PLSiM).  

n = 50
sigma = 0.1

alpha = matrix(1,2,1)
alpha = alpha/norm(alpha,"2")

beta = matrix(4,1,1)

x = rep(1,n)
z1 = runif(n)
z2 = runif(n) 
X = data.frame(x)
Z = data.frame(z1,z2)

x = data.matrix(X)
z = data.matrix(Z)
y = 4*((z%*%alpha-1/sqrt(2))^2) + x%*%beta + sigma*matrix(rnorm(n),n,1)

fit = plsim.est(xdat=X,zdat=Z,ydat=y)
summary(fit)
print(fit)


[Package PLSiMCpp version 1.0.4 Index]