PACE package site

Getting Started with PACE

Setup notes and usage guidance for the Matlab package.

Getting Started with PACE

This page preserves the original quick-start instructions while improving contrast, structure, and keyboard navigation.

Getting Started with PACE

  • Adding directory release 2.17 to Matlab's search path. Always include this line before you
    make any function calls from the PACE package.

For Windows users:

>>addpath(genpath('C:/release2.17/')); %assume you extracted the release2.17.zip under C:/

For Unix or Linux users:

>>addpath(genpath('~/release2.17/')); %assume you extracted the release2.17.bz2 at your home directory

1. The main program for recovering functions is FPCA.m under PACE/.

The input data is assumed to have measurements that sampled at dense and regular time grids (regular = 2),
dense and regular time grids with missing values (regular = 1) or sparse and irregular time grids (regular = 0).

Bandwidth choices for the mean and covariance functions can be obtained through leave-one-curve-out
Cross-Validation (CV) or variants of Generalized Cross-Validation or variants of Generalized Cross-Validation (GCV).

The number of principal components to be included can be chosen through various functional AIC or BIC
criteria: i) marginal likelihood based criteria: AIC1, BIC1; ii) conditional likelihood based criteria: AIC2, BIC2;

fraction of variance explained (FVE), AIC_R (only for functional regression) or specified by the user (see pcaHELP.txt
and pc2.pdf for details).

FPCA.m is a driver program for PCA.m. To learn how to use these functions, use

>>help FUNCTION NAME <return> %This is true for important functions from the PACE package

e.g.

>> help FPCA <return> %view function descriptions for FPCA.m

or

>> help PCA <return> %view function descriptions for PCA.m

An example file, example.m, which provides simulated data for using FPCA.m can be found at examples/ directory.

To run this example, run Matlab under examples/ directory, and type

>> example <return>

The first two input arguments for FPCA.m are always required. Its third input argument is optional and it can be
defined by using the setOptions.m.

Given an object, either a struct or cell array returned by the functions from PACE package, such as setOptions.m,
FPCA.m etc, one may access the individual elements of this object by using functions like getVal.m, setVal.m or
names.m.

For example:

>> showOptionNames() %Check a list of option names before you call setOptions()

>> p = setOptions() %Set options using default values

>> names(p) %tells you the variable names for object p

>> getVal(p,'bwmu') %retrieve one of the element of object p, namely "bwmu"

>> p = setVal(p,'bwmu',3) %Reset "bwmu" to be 3 rather than the default value 0

>> p = setVal(p, 'regular',2) %Reset "regular" to be 2 rather than the default value 0

>> p_alternative = setOptions('regular',2, 'bwmu',3) % p and p_alternative are the same

>> yy = FPCA(y,t,p) %assume you had created "y" (1*n cell array) to hold the
%repeated measurements
and "t" (1*n cell array) to hold
%the corresponding time points.

>> names(yy) %view what possible output names from "yy"

>> phi = getVal(yy,'phi') %extract eigenfunctions from "yy"

>> mu = getVal(yy,'mu') % extract mean function from "yy"

2. The main program for derivative estimation for functional data through PACE is FPCder.m
under PACE/PACE-DER/.

Similar to FPCA.m, the input argument options can be set through setDerOptions.m. To learn how to use this
function, type

>> help FPCder <return>

FPCder.m works the same as FPCA.m if the interest is the estimation of the trajectories themselves.
When derivatives are of interest, and if one does not want to use the default options, for which it is sufficient
to simply specify the order of derivative nder, and wants to target derivatives, then note that in
setDerOptions.m, the first element of bwmu, bwxcov, bwmu_gcv, bwxcov_gcv and npoly, correspond to the
trajectory estimation (more on this in the help file pcderHELP.txt).

Helpful in getting started is to follow the set-up of input arguments in the exampleDer.m.

3. The main program for functional regression through PACE is FPCreg.m
under PACE/PACE-REG/, where the predictor X is always a function and
response Y can be either a function or a scalar (continuous or discrete).

To learn how to use this function, type

>> help FPCreg <return>

The main program for functional regression with diagnostics is FPCdiag.m
under PACE/PACE-REG/.

Diagnostic tools involve functional residual plots, functional leverage plot, functional Cook's
distance, bootstrap test for significance of functional regression for null hypothesis R2 = 0, construction
of confidence bands for regression parameter function/surface

b.

To learn how to use this function, type

>> help FPCdiag <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the exampleReg_0.m (sparse data, X, Y are functions), exampleReg_2.m (regular
data, X,Y are functions), exampleReg_scal.m(regular data, X is a function, Y is
a continuous scalar).

4. The main program for functional principal component analysis for generalized
(non-Gaussian) repeated measurements (GRM) is FPCgrm.m under PACE/PACE-GRM.

To learn how to use this function, type

>> help FPCgrm <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_grm.m.

5. The main program for functional singular component analysis is FSVD.m
under PACE/PACE-SVD/.

To learn how to use this function, type

>> help FSVD <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_SVD.m.

6. The main program for aligning time-warped functional data as a preprocessing
step before performing PACE is WFPCA.m under PACE/PACE-WARP/.

To learn how to use this function, type

>> help WFPCA <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_WFPCA.m.

7. The main program for performing Generalized Functional Linear Regression (GFLM)
with scalar response is iterGFLM.m under PACE/PACE-GFLM/.

To learn how to use this function, type

>> help iterGFLM <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_GFLM.m.

8. The main program for estimating Functional Additive Model (FAM)
is FPCfam.m under PACE/PACE-FAM/.

To learn how to use this function, type

>> help FPCfam <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the exampleFam.m.

9. The main program for estimating Functional Variance Process (FVP)
is FVP.m under PACE/PACE-FVP/.

To learn how to use this function, type

>> help FVP <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the exampleFVP.m.

10. The main program for Functional Quasi-Likelihood Regression (FQR)
is FQR.m under PACE/PACE-FQR/.

To learn how to use this function, type

>> help FQR <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_FQR.m.

11. The main program for Nonlinear manifold representations for functional data. (Mani)
is ManiMDS.m under PACE/PACE-Mani/.

To learn how to use this function, type

>> help ManiMDS <return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_Mani.m.

12. The main program for modeling volatility trajectories for high frequency observations in financial markets. (Fvola)
is Fvola.m under PACE/PACE-Fvola/.

To learn how to use this function, type

>> help Fvola<return>

13. The main program for estimating the stickiness coefficient for sparsely observed longitudinal data. (stick)
is stick.m under PACE/PACE-stick/.

To learn how to use this function, type

>> help stick<return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_stick.m.

14. The main program for repeated functional data modeling. (repf)
is repfFPCA.m under PACE/PACE-repf/.

To learn how to use this function, type

>> help repf<return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_repf.m.

15. The main program to obtain data-adaptive nonlinear dynamic differential equations from observed functional data via a simple smoothing-based procedure. (nonlindyn)
is nonlindyn.m under PACE/PACE-nonlindyn/.

To learn how to use this function, type

>> help nonlindyn<return>

Helpful in getting started is to follow the similar set-up of input arguments in
the example_nonlindyn.m.