Learn R Programming

fda.usc (version 2.1.0)

P.penalty: Penalty matrix for higher order differences

Description

This function computes the matrix that penalizes the higher order differences.

Usage

P.penalty(tt, P = c(0, 0, 1))

Value

penalty matrix of size sum(n) x sum(n)

Arguments

tt

vector of the n discretization points or argvals.

P

vector of coefficients with the order of the differences. Default value P=c(0,0,1) penalizes the second order difference.

Author

This version is created by Manuel Oviedo de la Fuente modified the original version created by Nicole Kramer in ppls package.

Details

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= \sum_{i=3} ^{n} (\Delta tt_i) ^2$$ where $$\Delta 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).

References

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. tools:::Rd_expr_doi("10.1016/j.chemolab.2008.06.009")

See Also

fdata2pls

Examples

Run this code

P.penalty((1:10)/10,P=c(0,0,1))
# a more detailed example can be found under script file 

Run the code above in your browser using DataLab