genRidgePenaltyMat {porridge} | R Documentation |
Penalty parameter matrix for generalized ridge regression.
Description
The function produces an unscaled penalty parameter matrix to be used in the generalized ridge regression estimator.
Usage
genRidgePenaltyMat(pr, pc=pr, type="2dimA")
Arguments
pr |
A positive |
pc |
A positive |
type |
A |
Details
Various ridge penalty matrices are implemented.
The type="common"
-option supports the ‘homogeneity’ ridge penalization proposed by Anatolyev (2020). The ridge penalty matrix \mathbf{\Delta}
for a p
-dimensional regression parameter \boldsymbol{\beta}
is such that:
\boldsymbol{\beta}^{\top} \mathbf{\Delta} \boldsymbol{\beta} \, \, = \, \, \boldsymbol{\beta}^{\top} ( \mathbf{I}_{pp} - p^{-1} \mathbf{1}_{pp}) \boldsymbol{\beta} \, \, = \, \, \sum\nolimits_{j=1}^p \big( \beta_j -
p^{-1} \sum\nolimits_{j'=1}^p \beta_{j'}\big)^2.
This penalty matrix encourages shrinkage of the elements of \boldsymbol{\beta}
to a common effect value.
The type="fused1dim"
-option facilitates the 1-dimensional fused ridge estimation of Goeman (2008). The ridge penalty matrix \mathbf{\Delta}
for a p
-dimensional regression parameter \boldsymbol{\beta}
is such that:
\boldsymbol{\beta}^{\top} \mathbf{\Delta} \boldsymbol{\beta} \, \, = \, \, \sum\nolimits_{j=2}^p ( \beta_{j} - \beta_{j-1} )_2^2.
This penalty matrix aims to shrink contiguous (as defined by their index) elements of \boldsymbol{\beta}
towards each other.
The type="fused2dimA"
- and type="fused2dimD"
-options facilitate 2-dimensional ridge estimation as proposed by Lettink et al. (2022). It assumes the regression parameter is endowed with a 2-dimensional layout. The columns of this layout have been stacked to form \boldsymbol{\beta}
. The 2-dimensional fused ridge estimation shrinks elements of \boldsymbol{\beta}
that are neighbors in the 2-dimensional layout towards each other. The two options use different notions of neighbors. If type="fused2dimA"
, the ridge penalty matrix \mathbf{\Delta}
for a p
-dimensional regression parameter \boldsymbol{\beta}
is such that:
\boldsymbol{\beta}^{\top} \mathbf{\Delta} \boldsymbol{\beta} \, \, = \, \, \sum\nolimits_{j_r=1}^{p_r-1} \sum\nolimits_{j_c=1}^{p_c-1} [(\beta_{j_r,j_c+1} - \beta_{j_r,j_c})^2 + (\beta_{j_r+1, j_c} - \beta_{j_r, j_c})^2]
\mbox{ } \qquad \qquad \, \, \, \, + \sum\nolimits_{j_c=1}^{p_c-1} (\beta_{p_r,j_c+1} - \beta_{p_r,j_c})^2 + \sum\nolimits_{j_r=1}^{p_r-1} (\beta_{j_r+1, p_c} - \beta_{j_r, p_c})^2,
where p_r
and p_c
are the row and column dimension, respectively, of the 2-dimensional layout. This penalty matrix intends to shrink the elements of \boldsymbol{\beta}
along the axes of the 2-dimensional layout. If type="fused2dimD"
, the ridge penalty matrix \mathbf{\Delta}
for a p
-dimensional regression parameter \boldsymbol{\beta}
is such that:
\boldsymbol{\beta}^{\top} \mathbf{\Delta} \boldsymbol{\beta} \, \, = \, \,
\sum\nolimits_{j_r=1}^{p_r-1} \sum\nolimits_{j_c=1}^{p_c-2} [(\beta_{j_r+1,j_c} - \beta_{j_r,j_c+1})^2 + (\beta_{j_r+1, j_c+2} - \beta_{j_r, j_c+1})^2]
\mbox{ } \qquad \, + \sum\nolimits_{j_r=1}^{p_r-1} [(\beta_{j_r+1,2} - \beta_{j_r,1})^2 + (\beta_{j_r+1, p_c-1} - \beta_{j_r, p_c})^2].
This penalty matrix shrinks the elements of \boldsymbol{\beta}
along the diagonally to the axes of the 2-dimensional layout. The penalty matrices
generated by type="fused2dimA"
- and type="fused2dimD"
-options may be combined.
Value
The function returns a non-negative definite matrix
.
Author(s)
W.N. van Wieringen.
References
Anatolyev, S. (2020), "A ridge to homogeneity for linear models", Journal of Statistical Computation and Simulation, 90(13), 2455-2472.
Goeman, J.J. (2008), "Autocorrelated logistic ridge regression for prediction based on proteomics spectra", Statistical Applications in Genetics and Molecular Biology, 7(2).
Lettink, A, Chinapaw, M.J.M., van Wieringen, W.N. (2022), "Two-dimensional fused targeted ridge regression for health indicator prediction from accelerometer data", submitted.
See Also
ridgeGLM
Examples
# generate unscaled general penalty parameter matrix
Dfused <- genRidgePenaltyMat(10, type="fused1dim")