af_old: Construct an FGAM regression term

Description Usage Arguments Value Author(s) References See Also

View source: R/af_old.R

Description

Defines a term \int_{T}F(X_i(t),t)dt for inclusion in an mgcv::gam-formula (or bam or gamm or gamm4:::gamm) as constructed by fgam, where F(x,t)$ is an unknown smooth bivariate function and X_i(t) is a functional predictor on the closed interval T. Defaults to a cubic tensor product B-spline with marginal second-order difference penalties for estimating F(x,t). The functional predictor must be fully observed on a regular grid

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
af_old(
  X,
  argvals = seq(0, 1, l = ncol(X)),
  xind = NULL,
  basistype = c("te", "t2", "s"),
  integration = c("simpson", "trapezoidal", "riemann"),
  L = NULL,
  splinepars = list(bs = "ps", k = c(min(ceiling(nrow(X)/5), 20),
    min(ceiling(ncol(X)/5), 20)), m = list(c(2, 2), c(2, 2))),
  presmooth = TRUE,
  Xrange = range(X),
  Qtransform = FALSE
)

Arguments

X

an N by J=ncol(argvals) matrix of function evaluations X_i(t_{i1}),., X_i(t_{iJ}); i=1,.,N.

argvals

matrix (or vector) of indices of evaluations of X_i(t); i.e. a matrix with ith row (t_{i1},.,t_{iJ})

xind

Same as argvals. It will discard this argument in the next version of refund.

basistype

defaults to "te", i.e. a tensor product spline to represent F(x,t) Alternatively, use "s" for bivariate basis functions (see s) or "t2" for an alternative parameterization of tensor product splines (see t2)

integration

method used for numerical integration. Defaults to "simpson"'s rule for calculating entries in L. Alternatively and for non-equidistant grids, "trapezoidal" or "riemann". "riemann" integration is always used if L is specified

L

optional weight matrix for the linear functional

splinepars

optional arguments specifying options for representing and penalizing the function F(x,t). Defaults to a cubic tensor product B-spline with marginal second-order difference penalties, i.e. list(bs="ps", m=list(c(2, 2), c(2, 2)), see te or s for details

presmooth

logical; if true, the functional predictor is pre-smoothed prior to fitting; see smooth.basisPar

Xrange

numeric; range to use when specifying the marginal basis for the x-axis. It may be desired to increase this slightly over the default of range(X) if concerned about predicting for future observed curves that take values outside of range(X)

Qtransform

logical; should the functional be transformed using the empirical cdf and applying a quantile transformation on each column of X prior to fitting? This ensures Xrange=c(0,1). If Qtransform=TRUE and presmooth=TRUE, presmoothing is done prior to transforming the functional predictor

Value

A list with the following entries:

  1. call - a "call" to te (or s, t2) using the appropriately constructed covariate and weight matrices.

  2. argvals - the argvals argument supplied to af

  3. L the matrix of weights used for the integration

    xindname the name used for the functional predictor variable in the formula used by mgcv.

    tindname - the name used for argvals variable in the formula used by mgcv

    Lname - the name used for the L variable in the formula used by mgcv

    presmooth - the presmooth argument supplied to af

    Qtranform - the Qtransform argument supplied to af

    Xrange - the Xrange argument supplied to af

    ecdflist - a list containing one empirical cdf function from applying ecdf to each (possibly presmoothed) column of X. Only present if Qtransform=TRUE

    Xfd - an fd object from presmoothing the functional predictors using smooth.basisPar. Only present if presmooth=TRUE. See fd.

Author(s)

Mathew W. McLean mathew.w.mclean@gmail.com and Fabian Scheipl

References

McLean, M. W., Hooker, G., Staicu, A.-M., Scheipl, F., and Ruppert, D. (2014). Functional generalized additive models. Journal of Computational and Graphical Statistics, 23 (1), pp. 249-269. Available at https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3982924/.

See Also

fgam, lf, mgcv's linear.functional.terms, fgam for examples


refund documentation built on July 1, 2021, 9:06 a.m.