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)=m=1MXm(s)βm(s,t)ds+ϵ(t), Y(t) = \sum_{m=1}^M \int X_m(s) \beta_m(s,t) ds + \epsilon(t),

where Y(t)Y(t) denotes the functional response, Xm(s)X_m(s) denotes the mm-th functional predictor, βm(s,t)\beta_m(s,t) denotes the mm-th bivariate regression coefficient function, and ϵ(t)\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 n×pn \times p-dimensional matrix containing the observations of functional response Y(t)Y(t), where nn is the sample size and pp denotes the number of grid points for Y(t)Y(t).

X

A list consisting of MM functional predictors Xm(s),1mMX_m(s), 1\le m\le M. Each element of X is an n×pmn \times p_m-dimensional matrix containing the observations of mm-th functional predictor Xm(s)X_m(s), where nn is the sample size and pmp_m denotes the number of grid points for Xm(s)X_m(s).

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 Y(t)Y(t). If NULL, then, min(20,p/4)min(20, p/4) number of B-spline basis expansion functions are used.

nbasisX

A vector with length MM. Its mm-th value denotes the number of B-spline basis expansion functions to be used to approximate the functional principal components for the mm-th functional predictor Xm(s)X_m(s). If NULL, then, min(20,pm/4)min(20, p_m/4) number of B-spline basis expansion functions are used for each functional predictor, where pmp_m denotes the number of grid points for Xm(s)X_m(s).

gpY

A vector containing the grid points of the functional response Y(t)Y(t). If NULL, then pp equally spaced time points in te interval [0, 1] are used.

gpX

A list with length MM. The mm-th element of gpX is a vector containing the grid points of the mm-th functional predictor Xm(s)X_m(s). If NULL, then, pmp_m equally spaced time points in te interval [0, 1] are used for the mm-th functional predictor.

ncompY

An integer specifying the number of functional principal components to be computed for the functional response Y(t)Y(t). If NULL, then, the number whose usage results in at least 95% explained variation is used as the number of principal components.

ncompX

A vector with length MM. Its mm-th value denotes the number of functional principal components to be computed for the mm-th functional predictor Xm(s)X_m(s). If NULL, then, for each functional predictor, the number whose usage results in at least 95% explained variation is used as the number of principal components.

Details

When performing a function-on-function regression model based on the functional principal component analysis, first, both the functional response Y(t)Y(t) and functional predictors Xm(s),1mMX_m(s), 1\le m\le M are decomposed by the functional principal component analysis method:

Y(t)=Yˉ(t)+k=1Kνkϕk(t),Y(t) = \bar{Y}(t) + \sum_{k=1}^K \nu_k \phi_k(t),

Xm(s)=Xˉm(s)+l=1Kmξmlψml(s),X_m(s) = \bar{X}_m(s) + \sum_{l=1}^{K_m} \xi_{ml} \psi_{ml}(s),

where Yˉ(t)\bar{Y}(t) and Xˉm(s)\bar{X}_m(s) are the mean functions, ϕk(t)\phi_k(t) and ψml(s)\psi_{ml}(s) are the weight functions, and νk=(Y(t)Yˉ(t))ϕk(t)\nu_k = \int (Y(t) - \bar{Y}(t)) \phi_k(t) and ξml=(Xm(s)Xˉm(s))ψml(s)\xi_{ml} = \int (X_m(s) - \bar{X}_m(s)) \psi_{ml}(s) are the principal component scores for the functional response and mm-th functional predictor, respectively. Assume that the mm-th bivariate regression coefficient function admits the expansion

βm(s,t)=k=1Kl=1Kmbmklϕk(t)ψml(s),\beta_m(s,t) = \sum_{k=1}^K \sum_{l=1}^{K_m} b_{mkl} \phi_k(t) \psi_{ml}(s),

where bmkl=βm(s,t)ϕk(t)ψml(s)dtdsb_{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:

Y^(t)=Yˉ(s)+k=1K(m=1Ml=1Kmbmklξml)ϕk(t).\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 n×pn \times p-dimensional matrix containing the fitted values of the functional response.

residuals

An n×pn \times p-dimensional matrix containing the residual functions.

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)

[Package robflreg version 1.2 Index]