huber function

Huber Function

Huber Function

The elementwise Huber function, Huber(x,M)=1Huber(x, M) = 1

  • 2MxM22M|x|-M^2: for xM|x| \geq |M|
  • x2|x|^2: for xM.|x| \leq |M|. methods
huber(x, M = 1)

Arguments

  • x: An Expression , vector, or matrix.
  • M: (Optional) A positive scalar value representing the threshold. Defaults to 1.

Returns

An Expression representing the Huber function evaluated at the input.

Examples

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)
  • Maintainer: Anqi Fu
  • License: Apache License 2.0 | file LICENSE
  • Last published: 2024-11-07