Robust Linear Models
====================


.. ipython:: python

   
   
   import statsmodels.api as sm
   

Example for using Huber's T norm with the default
median absolute deviation scaling

.. ipython:: python

   
   data = sm.datasets.stackloss.load()
   data.exog = sm.add_constant(data.exog)
   huber_t = sm.RLM(data.endog, data.exog, M=sm.robust.norms.HuberT())
   hub_results = huber_t.fit()
   print hub_results.params
   print hub_results.bse
   

Or with the 'H2' covariance matrix

.. ipython:: python

   hub_results2 = huber_t.fit(cov="H2")
   print hub_results2.params
   print hub_results2.bse
   

Example for using Andrew's Wave norm with
Huber's Proposal 2 scaling and 'H3' covariance matrix

.. ipython:: python

   andrew_mod = sm.RLM(data.endog, data.exog, M=sm.robust.norms.AndrewWave())
   andrew_results = andrew_mod.fit(scale_est=sm.robust.scale.HuberScale(), cov="H3")
   print andrew_results.params
   
   print hub_results.summary(yname='y',
               xname=['var_%d' % i for i in range(len(hub_results.params))])
   