Learn R Programming

refund (version 0.1-1)

mfpca.sc: Multilevel functional principal components analysis by smoothed covariance

Description

Decomposes functional observations using functional principal components analysis. A mixed model framework is used to estimate scores and obtain variance estimates.

Usage

mfpca.sc(Y = NULL, id = NULL, visit = NULL, twoway = FALSE,
  argvals = NULL, nbasis = 10, pve = 0.99, npc = NULL, makePD = FALSE,
  center = TRUE, cov.est.method = 2, integration = "trapezoidal")

Arguments

Y,
The user must supply a matrix of functions on a regular grid
id
Must be supplied, a vector containing the id information used to identify clusters
visit
A vector containing information used to identify visits. Defaults to NULL.
twoway
logical, indicating whether to carry out twoway ANOVA and calculate visit-specific means. Defaults to FALSE.
argvals
function argument.
nbasis
number of B-spline basis functions used for estimation of the mean function and bivariate smoothing of the covariance surface.
pve
proportion of variance explained: used to choose the number of principal components.
npc
prespecified value for the number of principal components (if given, this overrides pve).
makePD
logical: should positive definiteness be enforced for the covariance surface estimate? Defaults to FALSE Only FALSE is currently supported.
center
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.
cov.est.method
covariance estimation method. If set to 1, 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 (the default), a two-step method that obtains a naive covariance est
integration
quadrature method for numerical integration; only "trapezoidal" is currently supported.

Value

  • An object of class mfpca containing:
  • YhatFPC approximation (projection onto leading components) of Y, estimated curves for all subjects and visits
  • Yhat.subjectestimated subject specific curves for all subjects
  • Ythe observed data
  • scores$n \times npc$ matrix of estimated FPC scores for level1 and level2.
  • muestimated mean function (or a vector of zeroes if center==FALSE).
  • efunctions$d \times npc$ matrix of estimated eigenfunctions of the functional covariance, i.e., the FPC basis functions for levels 1 and 2.
  • evaluesestimated eigenvalues of the covariance operator, i.e., variances of FPC scores for levels 1 and 2.
  • npcnumber 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 for levels 1 and 2.
  • sigma2estimated measurement error variance.
  • etathe estimated visit specific shifts from overall mean.

Details

This function computes a multilevel 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 level 1 and level 2 scores. MFPCA was proposed in Di et al. (2009), with variations for MFPCA with sparse data in Di et al. (2014). mfpca.sc uses penalized splines to smooth the covariance functions, as Described in Di et al. (2009) and Goldsmith et al. (2013).

References

Di, C., Crainiceanu, C., Caffo, B., and Punjabi, N. (2009). Multilevel functional principal component analysis. Annals of Applied Statistics, 3, 458--488. Di, C., Crainiceanu, C., Caffo, B., and Punjabi, N. (2014). Multilevel sparse functional principal component analysis. Stat, 3, 126--143. Goldsmith, J., Greven, S., and Crainiceanu, C. (2013). Corrected confidence bands for functional data using principal components. Biometrics, 69(1), 41--51.

Examples

Run this code
data(DTI)
 DTI = subset(DTI, Nscans < 6)  ## example where all subjects have 6 or fewer visits
 id  = DTI$ID
 Y = DTI$cca
 mfpca.DTI =  mfpca.sc(Y=Y, id = id, twoway = TRUE)

Run the code above in your browser using DataLab