Learn R Programming

pencopula (version 0.3.5.1)

penalty.matrix: Calculating the penalty matrix P(lambda)

Description

Calculating the penalty matrix P depends on the number of covariates 'p', the order of differences to be penalized 'pen.order', the number of observations 'n' and the penalty parameters 'lambda''.

Usage

penalty.matrix(penden.env, temp = FALSE)

Arguments

penden.env

Containing all information, environment of pencopula().

temp

If TRUE, the iteration for a new 'b' is not finished and a temporary penalty matrix is calculated, default = FALSE.

Value

DDD.sum

Penalty matrix P

Matrix is saved in the environment.

Details

The penalty matrix is calculated as

\(P(\lambda)=\sum_{j=1}^{p} \lambda_j P_j\)

with

\(P_j=\left(\bigotimes_{l=1}^{j-1}{I}\right) \otimes \{({A^{-1})^T} P {A}^{-1}\} \otimes \left(\bigotimes_{l=j+1}^p {I}\right)\)

The needed values are calculated or saved in the environment 'penden.env'.

There is no penalty used for the Bernstein polynomial basis, P=0.

References

Flexible Copula Density Estimation with Penalized Hierarchical B-Splines, Kauermann G., Schellhase C. and Ruppert, D. (2013), Scandinavian Journal of Statistics 40(4), 685-705.