Lfd(nderiv=0, bwtlist=vector("list", 0))
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
.
int2Lfd
,
vec2Lfd
,
fdPar
,
pda.fd
plot.Lfd
# 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)
Run the code above in your browser using DataLab