Getting Started with PACE

          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.