Functional regression with scalar response using non-parametric kernel estimation
Source:R/fregre.np.r
fregre.np.Rd
Computes functional regression between functional explanatory variables and scalar response using kernel estimation.
Usage
fregre.np(
fdataobj,
y,
h = NULL,
Ker = AKer.norm,
metric = metric.lp,
type.S = S.NW,
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 5%–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.S
Type of smothing matrix
S
. By defaultS
is calculated by Nadaraya-Watson kernel estimator (S.NW
).- 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.fitted.values
: Estimated scalar response.H
: Hat matrix.residuals
:y
minusfitted values
.df.residual
: The residual degrees of freedom.r2
: Coefficient of determination.sr2
: Residual variance.y
: Response.fdataobj
: Functional explanatory data.mdist
: Distance matrix betweenx
andnewx
.Ker
: Asymmetric kernel used.h.opt
: Smoothing parameter or bandwidth.
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 distance between curves is calculated using the metric.lp
although any other semimetric could be used (see
semimetric.basis
or semimetric.NPFDA
functions).
The kernel is applied to a metric or semi-metrics that provides non-negative
values, so it is common to use asymmetric kernels. 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.
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/
Hardle, W. Applied Nonparametric Regression. Cambridge University Press, 1994.
See also
See Also as: fregre.np.cv
,
summary.fregre.fd
and predict.fregre.fd
.
Alternative method: fregre.basis
,cand fregre.pc
.
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]
res.np=fregre.np(x,y,Ker=AKer.epa)
summary(res.np)
res.np2=fregre.np(x,y,Ker=AKer.tri)
summary(res.np2)
# with other semimetrics.
res.pca1=fregre.np(x,y,Ker=AKer.tri,metri=semimetric.pca,q=1)
summary(res.pca1)
res.deriv=fregre.np(x,y,metri=semimetric.deriv)
summary(res.deriv)
x.d2=fdata.deriv(x,nderiv=1,method="fmm",class.out='fdata')
res.deriv2=fregre.np(x.d2,y)
summary(res.deriv2)
x.d3=fdata.deriv(x,nderiv=1,method="bspline",class.out='fdata')
res.deriv3=fregre.np(x.d3,y)
summary(res.deriv3)
} # }