'Experimental summary function to summarize the regression results
Parameters
xname : List of strings of length equal to the number of parameters
Names of the independent variables (optional)
yname : string
Name of the dependent variable (optional)
title : string, optional
Title for the top table. If not None, then this replaces the
default title
alpha : float
significance level for the confidence intervals
float_format: string
print format for floats in parameters summary
Returns
smry : Summary instance
this holds the summary tables and text, which can be printed or
converted to various output formats.
See Also
statsmodels.iolib.summary.Summary : class to hold summary
results'

def summary2(self, yname=None, xname=None, title=None, alpha=0.05, float_format='%.4f'):

    from statsmodels.stats.stattools import jarque_bera, omni_normtest, durbin_watson
    from statsmodels.compat.collections import OrderedDict
    (jb, jbpv, skew, kurtosis) = jarque_bera(self.wresid)
    (omni, omnipv) = omni_normtest(self.wresid)
    dw = durbin_watson(self.wresid)
    eigvals = self.eigenvals
    condno = self.condition_number
    eigvals = np.sort(eigvals)
    diagnostic = OrderedDict([('Omnibus:', ('%.3f' % omni)), ('Prob(Omnibus):', ('%.3f' % omnipv)), ('Skew:', ('%.3f' % skew)), ('Kurtosis:', ('%.3f' % kurtosis)), ('Durbin-Watson:', ('%.3f' % dw)), ('Jarque-Bera    (JB):', ('%.3f' % jb)), ('Prob(JB):', ('%.3f' % jbpv)), ('Condition    No.:', ('%.0f' % condno))])
    from statsmodels.iolib import summary2
    smry = summary2.Summary()
    smry.add_base(results=self, alpha=alpha, float_format=float_format, xname=xname, yname=yname, title=title)
    smry.add_dict(diagnostic)
    if (eigvals[(-1)] < 1e-10):
        warn = ('The    smallest    eigenvalue    is    %6.3g.    This    might    indicate    that                                                there    are    strong    multicollinearity    problems    or    that    the    design                                                matrix    is    singular.' % eigvals[(-1)])
        smry.add_text(warn)
    if (condno > 1000):
        warn = ('*    The    condition    number    is    large    (%.g).    This    might    indicate                                                    strong    multicollinearity    or    other    numerical    problems.' % condno)
        smry.add_text(warn)
    return smry
