# fregre.np.cv: Cross-validation functional regression with scalar response... In fda.usc: Functional Data Analysis and Utilities for Statistical Computing

 fregre.np.cv R Documentation

## Cross-validation functional regression with scalar response using kernel estimation.

### Description

Computes functional regression between functional explanatory variables and scalar response using asymmetric kernel estimation by cross-validation method.

### Usage

fregre.np.cv(
fdataobj,
y,
h = NULL,
Ker = AKer.norm,
metric = metric.lp,
type.CV = GCV.S,
type.S = S.NW,
par.CV = list(trim = 0),
par.S = list(w = 1),
...
)


### 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 between fdataobj curves, see h.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 default S is calculated by Nadaraya-Watson kernel estimator (S.NW). par.CV List of parameters for type.CV: trim, the alpha of the trimming and draw=TRUE. par.S List of parameters for type.S: w, the weights. ... Arguments to be passed for metric.lp o other metric function.

### Details

The non-parametric functional regression model can be written as follows

y_i =r(X_i) + ε_i

where the unknown smooth real function r is estimated using kernel estimation by means of

\hat{r}(X)=\frac{∑_{i=1}^{n}{K(h^{-1}d(X,X_{i}))y_{i}}}{∑_{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.

### Value

Return:

• call The matched call.

• residuals y minus fitted 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 between x and newx.

• 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.

### Author(s)

Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es

### 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 as: fregre.np, summary.fregre.fd and predict.fregre.fd .
Alternative method: fregre.basis.cv and fregre.np.cv.

### Examples

## Not run:
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)

## End(Not run)



fda.usc documentation built on Oct. 17, 2022, 9:06 a.m.