Robust linear regression¶
Normaly we assume that a linear model is of a form:
However this setting is sensitive to outliers. If we would like to make it more robust, we have to change the likelihood distribution, to a heavy tailed distribution.
We can use Laplace distribution:
Here the robustness arises from the use of \(|y - w^Tx|\) istead of \((y - w^Tx)^2\). If we assume that \(b\) is fixed, our NNL becomes
\(l(w) = \sum_i |r_i(w)|\)
where
\(r_i \triangleq y_i - w^Tx_i\)
Unfortunatelly this is a nonlinear objective function, which is hard to optimize. We can convert the NNL to a linear objective function using the split variable trick:
We get the following contrained optimization problem
st:
This is a linear programm which we can convert to standard form:
\(\theta = (w, r^+, r^-)\)
\(f = [0,1,1]\)
\(A = []\)
\(b = []\)
\(A_{eq} = [X, I,I]\)
Alteratively we can choose to minimize the Hubert loss.
This is equivalent to \(l_2\) for errors that are smaller than \(\delta\) and \(l_1\) for larger errors. Advantage of this method is that it is differentiable. And we can use Quasi-newton instead of LP. (Faster)