Smooth basis constructor to define structured penalties (Randolph et al., 2012) for smooth terms.
.smooth.spec(object, data, knots)An object of class "peer.smooth". See
{smooth.construct} for the elements that this object will
contain.
a peer.smooth.spec object, usually generated by a
term s(x, bs="peer"); see Details.
a list containing the data (including any by variable)
required by this term, with names corresponding to object$term
(and object$by). Only the first element of this list is used.
not used, but required by the generic smooth.construct.
Madan Gopal Kundu mgkundu@iupui.edu and Jonathan Gellar
The smooth specification object, defined using s(), should
contain an xt element. xt will be a list that contains
additional information needed to specify the penalty. The type of penalty
is indicated by xt$pentype. There are four types of penalties
available:
xt$pentype=="RIDGE" for a ridge penalty, the default
xt$pentype=="D" for a difference penalty. The order of the
difference penalty is specified by the m argument of
s().
xt$pentype=="DECOMP" for a decomposition-based penalty,
\(bP_Q + a(I-P_Q)\), where \(P_Q = Q^t(QQ^t)^{-1}Q\). The \(Q\)
matrix must be specified by xt$Q, and the scalar \(a\) by
xt$phia. The number of columns of Q must be equal to the
length of the data. Each row represents a basis function where the
functional predictor is expected to lie, according to prior belief.
xt$pentype=="USER" for a user-specified penalty matrix
\(L\), supplied by xt$L.
Randolph, T. W., Harezlak, J, and Feng, Z. (2012). Structured penalties for functional linear models - partially empirical eigenvectors for regression. Electronic Journal of Statistics, 6, 323-353.
{peer}