Cross-validation functional regression with scalar response using kernel estimation.
Source:R/fregre.np.cv.r
fregre.np.cv.Rd
Computes functional regression between functional explanatory variables and scalar response using asymmetric kernel estimation by cross-validation method.
Arguments
- fdataobj
fdata
class object.- y
Scalar response with length
n
.- h
Bandwidth,
h>0
. Default argument values are provided as the sequence of length 25 from 2.5%–quantile to 25%–quantile of the distance betweenfdataobj
curves, seeh.default
.- Ker
Type of asymmetric kernel used, by default asymmetric normal kernel.
- metric
Metric function, by default
metric.lp
.- type.CV
Type of cross-validation. By default generalized cross-validation
GCV.S
method.- type.S
Type of smothing matrix
S
. By defaultS
is calculated by Nadaraya-Watson kernel estimator (S.NW
).- par.CV
List of parameters for
type.CV
:trim
, the alpha of the trimming
anddraw=TRUE
.- par.S
List of parameters for
type.S
:w
, the weights.- ...
Arguments to be passed for
metric.lp
o other metric function.
Value
Return:
call
: The matched call.residuals
:y
minusfitted values
.fitted.values
: Estimated scalar response.df.residual
: The residual degrees of freedom.r2
: Coefficient of determination.sr2
: Residual variance.H
: Hat matrix.y
: Response.fdataobj
: Functional explanatory data.mdist
: Distance matrix betweenx
andnewx
.Ker
: Asymmetric kernel used.gcv
: CV or GCV values.h.opt
: Smoothing parameter or bandwidth that minimizes CV or GCV method.h
: Vector of smoothing parameter or bandwidth.cv
: List with the fitted values and residuals estimated by CV, without the same curve.
Details
The non-parametric functional regression model can be written as follows
$$ y_i =r(X_i) + \epsilon_i $$ where the unknown smooth real function
\(r\) is estimated using kernel estimation by means of
$$\hat{r}(X)=\frac{\sum_{i=1}^{n}{K(h^{-1}d(X,X_{i}))y_{i}}}{\sum_{i=1}^{n}{K(h^{-1}d(X,X_{i}))}}$$
where \(K\) is an kernel function (see Ker
argument), h
is
the smoothing parameter and \(d\) is a metric or a semi-metric (see
metric
argument).
The function estimates the value of smoothing parameter (also called
bandwidth) h
through Generalized Cross-validation GCV
criteria, see GCV.S
or CV.S
.
The function estimates the value of smoothing parameter or the bandwidth
through the cross validation methods: GCV.S
or
CV.S
. It computes the distance between curves using the
metric.lp
, although any other semimetric could be used (see
semimetric.basis
or semimetric.NPFDA
functions).
Different asymmetric kernels can be used, see
Kernel.asymmetric
.
References
Ferraty, F. and Vieu, P. (2006). Nonparametric functional data analysis. Springer Series in Statistics, New York.
Hardle, W. Applied Nonparametric Regression. Cambridge University Press, 1994.
Febrero-Bande, M., Oviedo de la Fuente, M. (2012). Statistical Computing in Functional Data Analysis: The R Package fda.usc. Journal of Statistical Software, 51(4), 1-28. https://www.jstatsoft.org/v51/i04/
See also
See Also as: fregre.np
,
summary.fregre.fd
and predict.fregre.fd
.
Alternative method: fregre.basis.cv
and
fregre.np.cv
.
Author
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es
Examples
if (FALSE) { # \dontrun{
data(tecator)
absorp=tecator$absorp.fdata
ind=1:129
x=absorp[ind,]
y=tecator$y$Fat[ind]
Ker=AKer.tri
res.np=fregre.np.cv(x,y,Ker=Ker)
summary(res.np)
res.np2=fregre.np.cv(x,y,type.CV=GCV.S,criteria="Shibata")
summary(res.np2)
## Example with other semimetrics (not run)
res.pca1=fregre.np.cv(x,y,Ker=Ker,metric=semimetric.pca,q=1)
summary(res.pca1)
res.deriv=fregre.np.cv(x,y,Ker=Ker,metric=semimetric.deriv)
summary(res.deriv)
x.d2=fdata.deriv(x,nderiv=1,method="fmm",class.out='fdata')
res.deriv2=fregre.np.cv(x.d2,y,Ker=Ker)
summary(res.deriv2)
x.d3=fdata.deriv(x,nderiv=1,method="bspline",class.out='fdata')
res.deriv3=fregre.np.cv(x.d3,y,Ker=Ker)
summary(res.deriv3)
} # }