Decomposes functional observations using functional principal components
analysis. A mixed model framework is used to estimate scores and obtain
variance estimates. This function is a slightly adapted copy of the
fpca.sc function in package refund
(version 0.1-30).
fpca(
Y = NULL,
ydata = NULL,
Y.pred = NULL,
argvals = NULL,
argvals_obs = FALSE,
argvals_pred = seq(0, 1, by = 0.01),
random.int = FALSE,
nbasis = 10,
nbasis_cov = nbasis,
bs_cov = "symm",
pve = 0.99,
npc = NULL,
useSymm = FALSE,
makePD = FALSE,
center = TRUE,
cov.est.method = 1,
integration = "trapezoidal"
)An object of class fpca containing:
FPC approximation (projection onto leading components)
of Y.pred if specified, or else of Y.
the observed data
\(n \times npc\) matrix of estimated FPC scores.
estimated mean
function (or a vector of zeroes if center==FALSE).
\(d \times npc\) matrix of estimated eigenfunctions of the functional covariance, i.e., the FPC basis functions.
estimated eigenvalues of the covariance operator, i.e., variances of FPC scores.
number of FPCs: either the supplied npc, or the minimum
number of basis functions needed to explain proportion pve of the
variance in the observed curves.
argument values of eigenfunction evaluations
estimated measurement error variance.
diagonal elements of the covariance matrices for each estimated curve.
a list containing the estimated
covariance matrices for each curve in Y.
estimated critical values for constructing simultaneous confidence intervals.
the user must supply either Y, a matrix of functions
observed on a regular grid, or a data frame ydata representing
irregularly observed functions. See Details.
if desired, a matrix of functions to be approximated using the FPC decomposition.
the argument values of the function evaluations in Y,
defaults to a equidistant grid from 0 to 1.
Should the timepoints of the original observations be used to evaluate the FPCs. Defaults to FALSE.
Vector of timepoints on which to evaluate the FPCs. Defaults to a sequence from 0 to 1.
If TRUE, the mean is estimated by
gamm4 with random intercepts. If FALSE (the
default), the mean is estimated by gam treating all the
data as independent.
number of B-spline basis functions used for estimation of the mean function.
number of basis functions used for the bivariate smoothing of the covariance surface.
type of spline for the bivariate smoothing of the covariance surface. Default is symmetric fast covariance smoothing proposed by Cederbaum.
proportion of variance explained: used to choose the number of principal components.
prespecified value for the number of principal components (if
given, this overrides pve).
logical, indicating whether to smooth only the upper
triangular part of the naive covariance (when cov.est.method==2).
This can save computation time for large data sets, and allows for
covariance surfaces that are very peaked on the diagonal.
logical: should positive definiteness be enforced for the covariance surface estimate?
logical: should an estimated mean function be subtracted from
Y? Set to FALSE if you have already demeaned the data using
your favorite mean function estimate.
covariance estimation method. If set to 1
(the default), a one-step method that applies a bivariate smooth to the
\(y(s_1)y(s_2)\) values. This can be very slow. If set to 2, a two-step
method that obtains a naive covariance estimate which is then smoothed.
quadrature method for numerical integration; only
'trapezoidal' is currently supported.
Jeff Goldsmith jeff.goldsmith@columbia.edu, Sonja Greven sonja.greven@stat.uni-muenchen.de, Lan Huo Lan.Huo@nyumc.org, Lei Huang huangracer@gmail.com, and Philip Reiss phil.reiss@nyumc.org, Alexander Volkmann
This function computes a FPC decomposition for a set of observed curves, which may be sparsely observed and/or measured with error. A mixed model framework is used to estimate curve-specific scores and variances.
FPCA via kernel smoothing of the covariance function, with the diagonal
treated separately, was proposed in Staniswalis and Lee (1998) and much
extended by Yao et al. (2005), who introduced the 'PACE' method.
fpca.sc uses penalized splines to smooth the covariance function, as
developed by Di et al. (2009) and Goldsmith et al. (2013). This
implementation uses REML and Cederbaum et al. (2018) for smoothing the
covariance function.
The functional data must be supplied as either
an \(n
\times d\) matrix Y, each row of which is one functional observation,
with missing values allowed; or
a data frame ydata, with
columns '.id' (which curve the point belongs to, say \(i\)),
'.index' (function argument such as time point \(t\)), and
'.value' (observed function value \(Y_i(t)\)).
Cederbaum, J. Scheipl, F. and Greven, S. (2018). Fast symmetric additive covariance smoothing. Computational Statistics & Data Analysis, 120, 25--41.
Di, C., Crainiceanu, C., Caffo, B., and Punjabi, N. (2009). Multilevel functional principal component analysis. Annals of Applied Statistics, 3, 458--488.
Goldsmith, J., Greven, S., and Crainiceanu, C. (2013). Corrected confidence bands for functional data using principal components. Biometrics, 69(1), 41--51.
Staniswalis, J. G., and Lee, J. J. (1998). Nonparametric regression analysis of longitudinal data. Journal of the American Statistical Association, 93, 1403--1418.
Yao, F., Mueller, H.-G., and Wang, J.-L. (2005). Functional data analysis for sparse longitudinal data. Journal of the American Statistical Association, 100, 577--590.