refund (version 0.1-23)

smooth.construct.pss.smooth.spec: P-spline constructor with modified 'shrinkage' penalty


Construct a B-spline basis with a modified difference penalty of full rank (i.e., that also penalizes low-order polynomials).


# S3 method for pss.smooth.spec
smooth.construct(object, data, knots)



see smooth.construct. The shrinkage factor can be specified via object$xt$shrink


This penalty-basis combination is useful to avoid non-identifiability issues for ff terms. See 'ts' or 'cs' in smooth.terms for similar "shrinkage penalties" for thin plate and cubic regression splines. The basic idea is to replace the k-th zero eigenvalue of the original penalty by \(s^k \nu_m\), where \(s\) is the shrinkage factor (defaults to 0.1) and \(\nu_m\) is the smallest non-zero eigenvalue. See reference for the original idea, implementation follows that in the 'ts' and 'cs' constructors (see smooth.terms).


Marra, G., & Wood, S. N. (2011). Practical variable selection for generalized additive models. Computational Statistics & Data Analysis, 55(7), 2372-2387.