Lfd: Define a Linear Differential Operator Object

View source: R/Lfd.R

LfdR Documentation

Define a Linear Differential Operator Object

Description

A linear differential operator of order $m$ is defined, usually to specify a roughness penalty.

Usage

Lfd(nderiv=0, bwtlist=vector("list", 0))

Arguments

nderiv

a nonnegative integer specifying the order $m$ of the highest order derivative in the operator

bwtlist

a list of length $m$. Each member contains a functional data object that acts as a weight function for a derivative. The first member weights the function, the second the first derivative, and so on up to order $m-1$.

Details

To check that an object is of this class, use functions is.Lfd or int2Lfd.

Linear differential operator objects are often used to define roughness penalties for smoothing towards a "hypersmooth" function that is annihilated by the operator. For example, the harmonic acceleration operator used in the analysis of the Canadian daily weather data annihilates linear combinations of $1, sin(2 pi t/365)$ and $cos(2 pi t/365)$, and the larger the smoothing parameter, the closer the smooth function will be to a function of this shape.

Function pda.fd estimates a linear differential operator object that comes as close as possible to annihilating a functional data object.

A linear differential operator of order $m$ is a linear combination of the derivatives of a functional data object up to order $m$. The derivatives of orders 0, 1, ..., $m-1$ can each be multiplied by a weight function $b(t)$ that may or may not vary with argument $t$.

If the notation $D^j$ is taken to mean "take the derivative of order $j$", then a linear differental operator $L$ applied to function $x$ has the expression

$Lx(t) = b_0(t) x(t) + b_1(t)Dx(t) + ... + b_{m-1}(t) D^{m-1} x(t) + D^mx(t)$

There are print, summary, and plot methods for objects of class Lfd.

Value

a linear differential operator object

See Also

int2Lfd, vec2Lfd, fdPar, pda.fd plot.Lfd

Examples

#  Set up the harmonic acceleration operator
dayrange  <- c(0,365)
Lbasis  <- create.constant.basis(dayrange,
                  axes=list("axesIntervals"))
Lcoef   <- matrix(c(0,(2*pi/365)^2,0),1,3)
bfdobj  <- fd(Lcoef,Lbasis)
bwtlist <- fd2list(bfdobj)
harmaccelLfd <- Lfd(3, bwtlist)

fda documentation built on May 31, 2023, 9:19 p.m.