class statsmodels.robust.scale.HuberScale(d=2.5, tol=1e-08, maxiter=30)[source]

Huber’s scaling for fitting robust linear models.

Huber’s scale is intended to be used as the scale estimate in the IRLS algorithm and is slightly different than the Huber class.


d : float, optional

d is the tuning constant for Huber’s scale. Default is 2.5

tol : float, optional

The convergence tolerance

maxiter : int, optiona

The maximum number of iterations. The default is 30.


Huber’s scale is the iterative solution to

scale_(i+1)**2 = 1/(n*h)*sum(chi(r/sigma_i)*sigma_i**2

where the Huber function is

chi(x) = (x**2)/2 for |x| < d chi(x) = (d**2)/2 for |x| >= d

and the Huber constant h = (n-p)/n*(d**2 + (1-d**2)* scipy.stats.norm.cdf(d) - .5 - d*sqrt(2*pi)*exp(-0.5*d**2)


call Return’s Huber’s scale computed as below