Huber Function
The elementwise Huber function, Huber(x, M) =
2M|x|-M^2for |x| ≥q |M|
|x|^2for |x| ≤q |M|.
huber(x, M = 1)
x |
An Expression, vector, or matrix. |
M |
(Optional) A positive scalar value representing the threshold. Defaults to 1. |
An Expression representing the Huber function evaluated at the input.
set.seed(11) n <- 10 m <- 450 p <- 0.1 # Fraction of responses with sign flipped # Generate problem data beta_true <- 5*matrix(stats::rnorm(n), nrow = n) X <- matrix(stats::rnorm(m*n), nrow = m, ncol = n) y_true <- X %*% beta_true eps <- matrix(stats::rnorm(m), nrow = m) # Randomly flip sign of some responses factor <- 2*rbinom(m, size = 1, prob = 1-p) - 1 y <- factor * y_true + eps # Huber regression beta <- Variable(n) obj <- sum(huber(y - X %*% beta, 1)) prob <- Problem(Minimize(obj)) result <- solve(prob) result$getValue(beta)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.