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
see smooth.construct
.
see smooth.construct
.
Fabian Scheipl; adapted from 'ts' and 'cs' constructors by S.N. Wood.
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.