rob.ff.reg {robflreg} | R Documentation |
Robust function-on-function regression
Description
This function is used to perform both classical and robust function-on-function regression model
Y(t) = \sum_{m=1}^M \int X_m(s) \beta_m(s,t) ds + \epsilon(t),
where Y(t)
denotes the functional response, X_m(s)
denotes the m
-th functional predictor, \beta_m(s,t)
denotes the m
-th bivariate regression coefficient function, and \epsilon(t)
is the error function.
Usage
rob.ff.reg(Y, X, model = c("full", "selected"), emodel = c("classical", "robust"),
fmodel = c("MCD", "MLTS", "MM", "S", "tau"), nbasisY = NULL, nbasisX = NULL,
gpY = NULL, gpX = NULL, ncompY = NULL, ncompX = NULL)
Arguments
Y |
An |
X |
A list consisting of |
model |
Model to be fitted. Possibilities are "full" and "selected". |
emodel |
Method to be used for functional principal component decomposition. Possibilities are "classical"" and "robust". |
fmodel |
Fitting model used to estimate the function-on-function regression model. Possibilities are "MCD", "MLTS", "MM", "S", and "tau". |
nbasisY |
An integer value specifying the number of B-spline basis expansion functions to be used to approximate the functional principal components for the response variable |
nbasisX |
A vector with length |
gpY |
A vector containing the grid points of the functional response |
gpX |
A list with length |
ncompY |
An integer specifying the number of functional principal components to be computed for the functional response |
ncompX |
A vector with length |
Details
When performing a function-on-function regression model based on the functional principal component analysis, first, both the functional response Y(t)
and functional predictors X_m(s), 1\le m\le M
are decomposed by the functional principal component analysis method:
Y(t) = \bar{Y}(t) + \sum_{k=1}^K \nu_k \phi_k(t),
X_m(s) = \bar{X}_m(s) + \sum_{l=1}^{K_m} \xi_{ml} \psi_{ml}(s),
where \bar{Y}(t)
and \bar{X}_m(s)
are the mean functions, \phi_k(t)
and \psi_{ml}(s)
are the weight functions, and \nu_k = \int (Y(t) - \bar{Y}(t)) \phi_k(t)
and \xi_{ml} = \int (X_m(s) - \bar{X}_m(s)) \psi_{ml}(s)
are the principal component scores for the functional response and m
-th functional predictor, respectively. Assume that the m
-th bivariate regression coefficient function admits the expansion
\beta_m(s,t) = \sum_{k=1}^K \sum_{l=1}^{K_m} b_{mkl} \phi_k(t) \psi_{ml}(s),
where b_{mkl} = \int \int \beta_m(s,t) \phi_k(t) \psi_{ml}(s) dt ds
. Then, the following multiple regression model is obtained for the functional response:
\hat{Y}(t) = \bar{Y}(s) + \sum_{k=1}^K ( \sum_{m=1}^M \sum_{l=1}^{K_m} b_{mkl} \xi_{ml} ) \phi_k(t).
If model = "full"
, then, all the functional predictor variables are used in the model.
If model = "selected"
, then, only the significant functional predictor variables determined by the forward variable selection procedure of Beyaztas and Shang (2021) are used in the model.
If emodel = "classical"
, then, the least-squares method is used to estimate the function-on-function regression model.
If emodel = "robust"
, then, the robust functional principal component analysis of Bali et al. (2011) along with the method specified in fmodel
is used to estimate the function-on-function regression model.
If fmodel = "MCD"
, then, the minimum covariance determinant estimator of Rousseeuw et al. (2004) is used to estimate the function-on-function regression model.
If fmodel = "MLTS"
, then, the multivariate least trimmed squares estimator Agullo et al. (2008) is used to estimate the function-on-function regression model.
If fmodel = "MM"
, then, the MM estimator of Kudraszow and Maronna (2011) is used to estimate the function-on-function regression model.
If fmodel = "S"
, then, the S estimator of Bilodeau and Duchesne (2000) is used to estimate the function-on-function regression model.
If fmodel = "tau"
, then, the tau estimator of Ben et al. (2006) is used to estimate the function-on-function regression model.
Value
A list object with the following components:
data |
A list of matrices including the original functional response and functional predictors. |
fitted.values |
An |
residuals |
An |
fpca.results |
A list object containing the functional principal component analysis results of the functional predictor and functional predictors variables. |
model.details |
A list object containing model details, such as number of basis functions, number of principal components, and grid points used for each functional variable. |
Author(s)
Ufuk Beyaztas and Han Lin Shang
References
J. Agullo and C. Croux and S. V. Aelst (2008), "The multivariate least-trimmed squares estimator", Journal of Multivariate Analysis, 99(3), 311-338.
M. G. Ben and E. Martinez and V. J. Yohai (2006), "Robust estimation for the multivariate linear model based on a \tau
scale", Journal of Multivariate Analysis, 97(7), 1600-1622.
U. Beyaztas and H. L. Shang (2021), "A partial least squares approach for function-on-function interaction regression", Computational Statistics, 36(2), 911-939.
J. L. Bali and G. Boente and D. E. Tyler and J. -L.Wang (2011), "Robust functional principal components: A projection-pursuit approach", The Annals of Statistics, 39(6), 2852-2882.
M. Bilodeau and P. Duchesne (2000), "Robust estimation of the SUR model", The Canadian Journal of Statistics, 28(2), 277-288.
N. L. Kudraszow and R. A. Moronna (2011), "Estimates of MM type for the multivariate linear model", Journal of Multivariate Analysis, 102(9), 1280-1292.
P. J. Rousseeuw and K. V. Driessen and S. V. Aelst and J. Agullo (2004), "Robust multivariate regression", Technometrics, 46(3), 293-305.
Examples
sim.data <- generate.ff.data(n.pred = 5, n.curve = 200, n.gp = 101)
Y <- sim.data$Y
X <- sim.data$X
gpY <- seq(0, 1, length.out = 101) # grid points of Y
gpX <- rep(list(seq(0, 1, length.out = 101)), 5) # grid points of Xs
model.MM <- rob.ff.reg(Y = Y, X = X, model = "full", emodel = "robust",
fmodel = "MM", gpY = gpY, gpX = gpX)