plsim.MAVE {PLSiMCpp} | R Documentation |
Minimum Average Variance Estimation
Description
MAVE (Minimum Average Variance Estimation), proposed by Xia et al. (2006) to estimate parameters in PLSiM
Y=\eta(Z^T\alpha)+X^T\beta+\epsilon.
Usage
plsim.MAVE(...)
## S3 method for class 'formula'
plsim.MAVE(formula, data, ...)
## Default S3 method:
plsim.MAVE(xdat=NULL, zdat, ydat, h=NULL, zeta_i=NULL, maxStep=100,
tol=1e-8, iniMethods="MAVE_ini", 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 |
zdat |
input matrix (nonlinear covariates). |
ydat |
input vector (response variable). |
h |
a numerical value or a vector for bandwidth. If |
zeta_i |
initial coefficients, optional (default: NULL). It could be obtained by the function |
maxStep |
the maximum iterations, default: 100. |
tol |
convergence tolerance, default: 1e-8. |
iniMethods |
string, optional (default: "SimpleValidation"). |
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 |
zeta |
estimated coefficients. |
data |
data information including |
y_hat |
|
mse |
mean squares erros between |
variance |
variance of |
r_square |
multiple correlation coefficient. |
Z_alpha |
|
References
Y. Xia, W. Härdle. Semi-parametric estimation of partially linear single-index models. Journal of Multivariate Analysis, 2006, 97(5): 1162-1184.
Examples
# EXAMPLE 1 (INTERFACE=FORMULA)
# To estimate parameters in partially linear single-index model using MAVE.
n = 30
sigma = 0.1
alpha = matrix(1,2,1)
alpha = alpha/norm(alpha,"2")
beta = matrix(4,1,1)
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.MAVE(y~x|z, h=0.1)
# EXAMPLE 2 (INTERFACE=DATA FRAME)
# To estimate parameters in partially linear single-index model using MAVE.
n = 30
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.MAVE(xdat=X, zdat=Z, ydat=y, h=0.1)