Penalty matrix for higher order differences
This function computes the matrix that penalizes the higher order differences.
P.penalty(tt, P = c(0, 0, 1))
tt |
vector of the |
P |
vector of coefficients with the order of the differences. Default
value |
For example, if P
=c(0,1,2), the function return the penalty matrix
the second order difference of a vector tt. That is
v^T P_j tt= ∑_{i=3} ^{n} (Δ tt_i) ^2
where
Δ tt_i= tt_i -2 tt_{i-1} + tt_{i-2}
is the second order difference. More details can be found in Kraemer, Boulesteix, and Tutz (2008).
penalty matrix of size sum(n)
x sum(n)
The discretization points can be equidistant or not.
This version is created by Manuel Oviedo de la Fuente modified the
original version created by Nicole Kramer in ppls
package.
N. Kraemer, A.-L. Boulsteix, and G. Tutz (2008). Penalized Partial Least Squares with Applications to B-Spline Transformations and Functional Data. Chemometrics and Intelligent Laboratory Systems, 94, 60 - 69. http://dx.doi.org/10.1016/j.chemolab.2008.06.009
P.penalty((1:10)/10,P=c(0,0,1)) # a more detailed example can be found under script file
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.