Formula: PRSS(beta, lambda) = sum_i (y_i - b0 - sum_j x_ij b_j)^2 + lambda sum_j b_j^2
Usage
Ridgeobj(X, y, beta, lam, add_intercept = TRUE)
Arguments
- X
Design matrix, one record per row.
- y
Response vector of length n.
- beta
Coefficient vector.
- lam
Regularization parameter lambda; must be non-negative.
- add_intercept
Treat the first entry of beta as an unpenalized intercept and
prepend a column of ones to X.
Value
List with prss, rss, penalty, lambda, n, p.
References
Montesinos Lopez, Montesinos Lopez and Crossa (2022), Multivariate
Statistical Machine Learning Methods for Genomic Prediction, Springer,
doi:10.1007/978-3-030-89010-0. Chapter 3, Sect. 3.6.1 p. 81: PRSS_lambda(beta) =
RSS(beta) + lambda beta'D beta with D = diag(0, 1, ..., 1), so the intercept is not
penalized. Read from the chapter PDF, not recalled.
Examples
X <- cbind(c(1, 2, 3, 4), c(0, 1, 0, 1))
y <- c(1.1, 2.3, 2.9, 4.2)
Ridgeobj(X, y, beta = c(0.1, 1, 0.2), lam = 0.5)[c("prss", "rss", "penalty")]
#> $prss
#> [1] 0.57
#>
#> $rss
#> [1] 0.05
#>
#> $penalty
#> [1] 0.52
#>