| fregre.pc | R Documentation |
Computes functional (ridge or penalized) regression between functional
explanatory variable X(t) and scalar response Y using Principal
Components Analysis.
Y=\big<X,\beta\big>+\epsilon=\int_{T}{X(t)\beta(t)dt+\epsilon}
where \big< \cdot , \cdot \big> denotes the inner product on
L_2 and \epsilon are random errors with mean zero , finite
variance \sigma^2 and E[X(t)\epsilon]=0.
fregre.pc(
fdataobj,
y,
l = NULL,
lambda = 0,
P = c(0, 0, 1),
weights = rep(1, len = n),
...
)
fdataobj |
|
y |
Scalar response with length |
l |
Index of components to include in the model.If is null |
lambda |
Amount of penalization. Default value is 0, i.e. no penalization is used. |
P |
If |
weights |
weights |
... |
Further arguments passed to or from other methods. |
The function computes the \left\{\nu_k\right\}_{k=1}^{\infty} orthonormal
basis of functional principal components to represent the functional data as
X_i(t)=\sum_{k=1}^{\infty}\gamma_{ik}\nu_k and the functional parameter as
\beta(t)=\sum_{k=1}^{\infty}\beta_k\nu_k, where \gamma_{ik}=\Big< X_i(t),\nu_k\Big> and
\beta_{k}=\Big<\beta,\nu_k\Big>.
The response can be fitted by:
\lambda=0, no penalization,
\hat{y}=\nu_k^{\top}(\nu_k^{\top}\nu_k)^{-1}\nu_k^{\top}y
Ridge regression, \lambda>0 and P=1,
\hat{y}=\nu_k^{\top}(\nu_k\top \nu_k+\lambda I)^{-1}\nu_k^{\top}y
Penalized regression, \lambda>0 and P\neq0. For example, P=c(0,0,1) penalizes the second derivative (curvature) by P=P.penalty(fdataobj["argvals"],P),
\hat{y}=\nu_k^{\top}(\nu_k\top \nu_k+\lambda \nu_k^{\top}
\textbf{P}\nu_k)^{-1}\nu_k^{\top}y
Return:
call: The matched call of fregre.pc function.
coefficients: A named vector of coefficients.
residuals: y minus fitted values.
fitted.values: Estimated scalar response.
beta.est: Beta coefficient estimated of class fdata.
df.residual: The residual degrees of freedom. In ridge regression, df(rn) is the effective degrees of freedom.
r2: Coefficient of determination.
sr2: Residual variance.
Vp: Estimated covariance matrix for the parameters.
H: Hat matrix.
l: Index of principal components selected.
lambda: Amount of shrinkage.
P: Penalty matrix.
fdata.comp: Fitted object in fdata2pc function.
lm: lm object.
fdataobj: Functional explanatory data.
y: Scalar response.
Manuel Febrero-Bande, Manuel Oviedo de la Fuente manuel.oviedo@udc.es
Cai TT, Hall P. 2006. Prediction in functional linear regression. Annals of Statistics 34: 2159-2179.
Cardot H, Ferraty F, Sarda P. 1999. Functional linear model. Statistics and Probability Letters 45: 11-22.
Hall P, Hosseini-Nasab M. 2006. On properties of functional principal components analysis. Journal of the Royal Statistical Society B 68: 109-126.
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/
N. Kraemer, A.-L. Boulsteix, and G. Tutz (2008). Penalized Partial Least Squares with Applications to B-Spline Transformations and Functional Data. Chemometrics and Intelligent Laboratory Systems, 94, 60 - 69. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.chemolab.2008.06.009")}
See Also as: fregre.pc.cv,
summary.fregre.fd and predict.fregre.fd.
Alternative method: fregre.basis and fregre.np.
## Not run:
data(tecator)
absorp <- tecator$absorp.fdata
ind <- 1:129
x <- absorp[ind,]
y <- tecator$y$Fat[ind]
res <- fregre.pc(x,y)
summary(res)
res2 <- fregre.pc(x,y,l=c(1,3,4))
summary(res2)
# Functional Ridge Regression
res3 <- fregre.pc(x,y,l=c(1,3,4),lambda=1,P=1)
summary(res3)
# Functional Regression with 2nd derivative penalization
res4 <- fregre.pc(x,y,l=c(1,3,4),lambda=1,P=c(0,0,1))
summary(res4)
betas <- c(res$beta.est,res2$beta.est,
res3$beta.est,res4$beta.est)
plot(betas)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.