本文整理汇总了Python中statsmodels.iolib.summary.Summary.add_table_params方法的典型用法代码示例。如果您正苦于以下问题:Python Summary.add_table_params方法的具体用法?Python Summary.add_table_params怎么用?Python Summary.add_table_params使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类statsmodels.iolib.summary.Summary
的用法示例。
在下文中一共展示了Summary.add_table_params方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=0, alpha=.05,
return_fmt='text'):
"""
This is for testing the new summary setup
"""
from statsmodels.iolib.summary import (summary_top,
summary_params, summary_return)
## left = [(i, None) for i in (
## 'Dependent Variable:',
## 'Model type:',
## 'Method:',
## 'Date:',
## 'Time:',
## 'Number of Obs:',
## 'df resid',
## 'df model',
## )]
top_left = [('Dep. Variable:', None),
('Model:', None),
('Method:', ['IRLS']),
('Norm:', [self.fit_options['norm']]),
('Scale Est.:', [self.fit_options['scale_est']]),
('Cov Type:', [self.fit_options['cov']]),
('Date:', None),
('Time:', None),
('No. Iterations:', ["%d" % self.fit_history['iteration']])
]
top_right = [('No. Observations:', None),
('Df Residuals:', None),
('Df Model:', None)
]
if not title is None:
title = "Robust linear Model Regression Results"
#boiler plate
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(self, gleft=top_left, gright=top_right, #[],
yname=yname, xname=xname, title=title)
smry.add_table_params(self, yname=yname, xname=xname, alpha=.05,
use_t=False)
#diagnostic table is not used yet
# smry.add_table_2cols(self, gleft=diagn_left, gright=diagn_right,
# yname=yname, xname=xname,
# title="")
#add warnings/notes, added to text format only
etext =[]
wstr = \
'''If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore .'''
etext.append(wstr)
if etext:
smry.add_extra_txt(etext)
return smry
示例2: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=0, alpha=0.05, return_fmt="text"):
"""
This is for testing the new summary setup
"""
from statsmodels.iolib.summary import summary_top, summary_params, summary_return
## left = [(i, None) for i in (
## 'Dependent Variable:',
## 'Model type:',
## 'Method:',
## 'Date:',
## 'Time:',
## 'Number of Obs:',
## 'df resid',
## 'df model',
## )]
top_left = [
("Dep. Variable:", None),
("Model:", None),
("Method:", ["IRLS"]),
("Norm:", [self.fit_options["norm"]]),
("Scale Est.:", [self.fit_options["scale_est"]]),
("Cov Type:", [self.fit_options["cov"]]),
("Date:", None),
("Time:", None),
("No. Iterations:", ["%d" % self.fit_history["iteration"]]),
]
top_right = [("No. Observations:", None), ("Df Residuals:", None), ("Df Model:", None)]
if not title is None:
title = "Robust linear Model Regression Results"
# boiler plate
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(self, gleft=top_left, gright=top_right, yname=yname, xname=xname, title=title) # [],
smry.add_table_params(self, yname=yname, xname=xname, alpha=alpha, use_t=self.use_t)
# diagnostic table is not used yet
# smry.add_table_2cols(self, gleft=diagn_left, gright=diagn_right,
# yname=yname, xname=xname,
# title="")
# add warnings/notes, added to text format only
etext = []
wstr = """If the model instance has been used for another fit with different fit
parameters, then the fit options might not be the correct ones anymore ."""
etext.append(wstr)
if etext:
smry.add_extra_txt(etext)
return smry
示例3: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=0, alpha=.05,
return_fmt='text'):
"""
This is for testing the new summary setup
"""
top_left = [('Dep. Variable:', None),
('Model:', None),
('Method:', ['IRLS']),
('Norm:', [self.fit_options['norm']]),
('Scale Est.:', [self.fit_options['scale_est']]),
('Cov Type:', [self.fit_options['cov']]),
('Date:', None),
('Time:', None),
('No. Iterations:', ["%d" % self.fit_history['iteration']])
]
top_right = [('No. Observations:', None),
('Df Residuals:', None),
('Df Model:', None)
]
if title is not None:
title = "Robust linear Model Regression Results"
# boiler plate
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(self, gleft=top_left, gright=top_right,
yname=yname, xname=xname, title=title)
smry.add_table_params(self, yname=yname, xname=xname, alpha=alpha,
use_t=self.use_t)
# add warnings/notes, added to text format only
etext = []
wstr = ("If the model instance has been used for another fit "
"with different fit\n"
"parameters, then the fit options might not be the correct "
"ones anymore .")
etext.append(wstr)
if etext:
smry.add_extra_txt(etext)
return smry
示例4: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=None, alpha=.05,
yname_list=None):
top_left = [('Dep. Variable:', None),
('Model:', [self.model.__class__.__name__]),
('Method:', ['MLE']),
('Date:', None),
('Time:', None),
('Converged:', ["%s" % self.mle_retvals['converged']])]
top_right = [('No. Observations:', None),
('Log-Likelihood:', None),
]
if title is None:
title = self.model.__class__.__name__ + ' ' + "Regression Results"
#boiler plate
from statsmodels.iolib.summary import Summary
smry = Summary()
# for top of table
smry.add_table_2cols(self, gleft=top_left, gright=top_right, #[],
yname=yname, xname=xname, title=title)
# for parameters, etc
smry.add_table_params(self, yname=yname_list, xname=xname, alpha=alpha,
use_t=True)
return smry
示例5: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=0, alpha=0.05, return_fmt='text'):
from statsmodels.iolib.summary import (summary_top, summary_params, summary_return)
top_left = [('Dep. Variable:', None),
('Model:', None),
('Method:', ['Interior Point']),
('Date:', None),
('Time:', None)]
top_right = [('No. Observations:', None),
('Df Residuals:', None),
('Df Model:', None),
('Outer Iterations:', ["%d" % self.fit_history['outer_iterations']]),
('Avg. Inner Iterations:', ["%d" % self.fit_history['avg_inner_iterations']]) ]
if not title is None:
title = "Nonlinear Quantile Regression Results"
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(self, gleft=top_left, gright=top_right, yname=yname, xname=xname, title=title)
smry.add_table_params(self, yname=yname, xname=xname, alpha=alpha, use_t=False)
return smry
示例6: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=None, alpha=.05):
"""Summarize the Regression Results
Parameters
-----------
yname : string, optional
Default is `y`
xname : list of strings, optional
Default is `var_##` for ## in p the number of regressors
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
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
"""
# #TODO: import where we need it (for now), add as cached attributes
# from statsmodels.stats.stattools import (jarque_bera,
# omni_normtest, durbin_watson)
# jb, jbpv, skew, kurtosis = jarque_bera(self.wresid)
# omni, omnipv = omni_normtest(self.wresid)
#
eigvals = self.eigenvals
condno = self.condition_number
#
# self.diagn = dict(jb=jb, jbpv=jbpv, skew=skew, kurtosis=kurtosis,
# omni=omni, omnipv=omnipv, condno=condno,
# mineigval=eigvals[0])
top_left = [('Dep. Variable:', None),
('Model:', None),
('Method:', ['Least Squares']),
('Date:', None),
('Time:', None)
]
top_right = [('Pseudo R-squared:', ["%#8.4g" % self.prsquared]),
('Bandwidth:', ["%#8.4g" % self.bandwidth]),
('Sparsity:', ["%#8.4g" % self.sparsity]),
('No. Observations:', None),
('Df Residuals:', None), #[self.df_resid]), #TODO: spelling
('Df Model:', None) #[self.df_model])
]
# diagn_left = [('Omnibus:', ["%#6.3f" % omni]),
# ('Prob(Omnibus):', ["%#6.3f" % omnipv]),
# ('Skew:', ["%#6.3f" % skew]),
# ('Kurtosis:', ["%#6.3f" % kurtosis])
# ]
#
# diagn_right = [('Durbin-Watson:', ["%#8.3f" % durbin_watson(self.wresid)]),
# ('Jarque-Bera (JB):', ["%#8.3f" % jb]),
# ('Prob(JB):', ["%#8.3g" % jbpv]),
# ('Cond. No.', ["%#8.3g" % condno])
# ]
if title is None:
title = self.model.__class__.__name__ + ' ' + "Regression Results"
#create summary table instance
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(self, gleft=top_left, gright=top_right,
yname=yname, xname=xname, title=title)
smry.add_table_params(self, yname=yname, xname=xname, alpha=.05,
use_t=True)
# smry.add_table_2cols(self, gleft=diagn_left, gright=diagn_right,
#yname=yname, xname=xname,
#title="")
#add warnings/notes, added to text format only
etext = []
if eigvals[-1] < 1e-10:
wstr = "The smallest eigenvalue is %6.3g. This might indicate "
wstr += "that there are\n"
wstr += "strong multicollinearity problems or that the design "
wstr += "matrix is singular."
wstr = wstr % eigvals[-1]
etext.append(wstr)
elif condno > 1000: #TODO: what is recommended
wstr = "The condition number is large, %6.3g. This might "
wstr += "indicate that there are\n"
wstr += "strong multicollinearity or other numerical "
wstr += "problems."
wstr = wstr % condno
etext.append(wstr)
#.........这里部分代码省略.........
示例7: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, alpha=.05, start=None, model_name=None):
"""
Summarize the Model
Parameters
----------
alpha : float, optional
Significance level for the confidence intervals. Default is 0.05.
start : int, optional
Integer of the start observation. Default is 0.
model_name : string
The name of the model used. Default is to use model class name.
Returns
-------
summary : Summary instance
This holds the summary table and text, which can be printed or
converted to various output formats.
See Also
--------
statsmodels.iolib.summary.Summary
"""
from statsmodels.iolib.summary import Summary
model = self.model
title = 'Statespace Model Results'
if start is None:
start = 0
if self.data.dates is not None:
dates = self.data.dates
d = dates[start]
sample = ['%02d-%02d-%02d' % (d.month, d.day, d.year)]
d = dates[-1]
sample += ['- ' + '%02d-%02d-%02d' % (d.month, d.day, d.year)]
else:
sample = [str(start), ' - ' + str(self.model.nobs)]
if model_name is None:
model_name = model.__class__.__name__
top_left = [
('Dep. Variable:', None),
('Model:', [model_name]),
('Date:', None),
('Time:', None),
('Sample:', [sample[0]]),
('', [sample[1]])
]
top_right = [
('No. Observations:', [self.model.nobs]),
('Log Likelihood', ["%#5.3f" % self.llf]),
('AIC', ["%#5.3f" % self.aic]),
('BIC', ["%#5.3f" % self.bic]),
('HQIC', ["%#5.3f" % self.hqic])
]
if hasattr(self, 'cov_type'):
top_left.append(('Covariance Type:', [self.cov_type]))
summary = Summary()
summary.add_table_2cols(self, gleft=top_left, gright=top_right,
title=title)
summary.add_table_params(self, alpha=alpha,
xname=self.data.param_names, use_t=False)
# Add warnings/notes, added to text format only
etext = []
if hasattr(self, 'cov_type'):
etext.append(self.cov_kwds['description'])
if etext:
etext = ["[{0}] {1}".format(i + 1, text)
for i, text in enumerate(etext)]
etext.insert(0, "Warnings:")
summary.add_extra_txt(etext)
return summary
示例8: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=None, alpha=.05):
"""Summarize the Regression Results
Parameters
-----------
yname : string, optional
Default is `y`
xname : list of strings, optional
Default is `var_##` for ## in p the number of regressors
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
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
"""
top_left = [('Dep. Variable:', None),
('Model:', None),
('Model Family:', [self.family.__class__.__name__]),
('Link Function:', [self.family.link.__class__.__name__]),
('Method:', ['IRLS']),
('Date:', None),
('Time:', None),
('No. Iterations:', ["%d" % self.fit_history['iteration']]),
]
top_right = [('No. Observations:', None),
('Df Residuals:', None),
('Df Model:', None),
('Scale:', [self.scale]),
('Log-Likelihood:', None),
('Deviance:', ["%#8.5g" % self.deviance]),
('Pearson chi2:', ["%#6.3g" % self.pearson_chi2])
]
if title is None:
title = "Generalized Linear Model Regression Results"
#create summary tables
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(self, gleft=top_left, gright=top_right, #[],
yname=yname, xname=xname, title=title)
smry.add_table_params(self, yname=yname, xname=xname, alpha=alpha,
use_t=True)
#diagnostic table is not used yet:
#smry.add_table_2cols(self, gleft=diagn_left, gright=diagn_right,
# yname=yname, xname=xname,
# title="")
return smry
示例9: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, title = None, alpha = .05):
"""Summarize the Clogit Results
Parameters
-----------
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
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
"""
top_left = [('Dep. Variable:', None),
('Model:', [self.model.__class__.__name__]),
('Method:', [self.mle_settings['optimizer']]),
('Date:', None),
('Time:', None),
('Converged:', ["%s" % self.mle_retvals['converged']]),
('Iterations:', ["%s" % self.mle_retvals['iterations']]),
('Elapsed time (seg.):',
["%10.4f" % self.model.elapsed_time]),
('Num. alternatives:', [self.model.J])
]
top_right = [
('No. Cases:', [self.nobs]),
('No. Observations:', [self.nobs_bychoice]),
('Df Residuals:', [self.model.df_resid]),
('Df Model:', [self.model.df_model]),
('Log-Likelihood:', None),
('LL-Null:', ["%#8.5g" % self.llnull]),
('Pseudo R-squ.:', ["%#6.4g" % self.prsquared]),
('LLR p-value:', ["%#6.4g" % self.llr_pvalue]),
('Likelihood ratio test:', ["%#8.5g" %self.llrt]),
('AIC:', ["%#8.5g" %self.aic])
]
if title is None:
title = self.model.__class__.__name__ + ' ' + \
"results"
#boiler plate
from statsmodels.iolib.summary import Summary, SimpleTable
smry = Summary()
# for top of table
smry.add_table_2cols(self, gleft=top_left, gright=top_right,
title=title)
# Frequencies of alternatives
mydata = [self.freq_alt, self.perc_alt]
myheaders = self.alt
mytitle = ("")
mystubs = ["Frequencies of alternatives: ", "Percentage:"]
tbl = SimpleTable(mydata, myheaders, mystubs, title = mytitle,
data_fmts = ["%5.2f"])
smry.tables.append(tbl)
# for parameters
smry.add_table_params(self, alpha=alpha, use_t=False)
return smry
示例10: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=None, alpha=.05):
"""
Summarize the fitted model.
Parameters
----------
yname : string, optional
Default is `y`
xname : list of strings, optional
Default is `var_##` for ## in p the number of regressors
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
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
"""
top_left = [
('Dep. Variable:', None),
('Model:', None),
('Log-Likelihood:', None),
('Method:', [self.method]),
('Date:', None),
('Time:', None),
]
top_right = [
('No. Observations:', None),
('No. groups:', [self.n_groups]),
('Min group size:', [self._group_stats[0]]),
('Max group size:', [self._group_stats[1]]),
('Mean group size:', [self._group_stats[2]]),
]
if title is None:
title = "Conditional Logit Model Regression Results"
# create summary tables
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(
self,
gleft=top_left,
gright=top_right, # [],
yname=yname,
xname=xname,
title=title)
smry.add_table_params(
self, yname=yname, xname=xname, alpha=alpha, use_t=self.use_t)
return smry
示例11: get_statsmodels_summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def get_statsmodels_summary(self,
title=None,
alpha=.05):
"""
title: OPTIONAL. string or None. Will be
the title of the returned summary.
If None, the default title is used.
alpha: OPTIONAL. float. Between 0.0 and
1.0. Determines the width of the
displayed, (1 - alpha)% confidence
interval.
====================
Returns: statsmodels.summary object.
"""
try:
# Get the statsmodels Summary class
from statsmodels.iolib.summary import Summary
# Get an instantiation of the Summary class.
smry = Summary()
# Get the yname and yname_list.
# Note I'm not really sure what the yname_list is.
new_yname, new_yname_list = self.choice_col, None
# Get the model name
model_name = self.model_type
##########
# Note the following commands are basically directly from
# statsmodels.discrete.discrete_model
##########
top_left = [('Dep. Variable:', None),
('Model:', [model_name]),
('Method:', ['MLE']),
('Date:', None),
('Time:', None),
#('No. iterations:', ["%d" % self.mle_retvals['iterations']]),
('converged:', [str(self.estimation_success)])
]
top_right = [('No. Observations:', ["{:,}".format(self.nobs)]),
('Df Residuals:', ["{:,}".format(self.df_resid)]),
('Df Model:', ["{:,}".format(self.df_model)]),
('Pseudo R-squ.:',
["{:.3f}".format(self.rho_squared)]),
('Pseudo R-bar-squ.:',
["{:.3f}".format(self.rho_bar_squared)]),
('Log-Likelihood:', ["{:,.3f}".format(self.llf)]),
('LL-Null:',
["{:,.3f}".format(self.null_log_likelihood)]),
]
if title is None:
title = model_name + ' ' + "Regression Results"
xnames = self.params.index.tolist()
# for top of table
smry.add_table_2cols(self,
gleft=top_left,
gright=top_right, #[],
yname=new_yname,
xname=xnames,
title=title)
# for parameters, etc
smry.add_table_params(self,
yname=[new_yname_list],
xname=xnames,
alpha=alpha,
use_t=False)
return smry
except:
print("statsmodels not installed. Resorting to standard summary")
return self.print_summaries()
示例12: summary
# 需要导入模块: from statsmodels.iolib.summary import Summary [as 别名]
# 或者: from statsmodels.iolib.summary.Summary import add_table_params [as 别名]
def summary(self, yname=None, xname=None, title=None, alpha=.05):
"""Summarize the Regression Results
Parameters
----------
yname : string, optional
Default is `y`
xname : list of strings, optional
Default is `var_##` for ## in p the number of regressors
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
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
"""
eigvals = self.eigenvals
condno = self.condition_number
top_left = [('Dep. Variable:', None),
('Model:', None),
('Method:', ['Least Squares']),
('Date:', None),
('Time:', None)
]
top_right = [('Pseudo R-squared:', ["%#8.4g" % self.prsquared]),
('Bandwidth:', ["%#8.4g" % self.bandwidth]),
('Sparsity:', ["%#8.4g" % self.sparsity]),
('No. Observations:', None),
('Df Residuals:', None),
('Df Model:', None)
]
if title is None:
title = self.model.__class__.__name__ + ' ' + "Regression Results"
# create summary table instance
from statsmodels.iolib.summary import Summary
smry = Summary()
smry.add_table_2cols(self, gleft=top_left, gright=top_right,
yname=yname, xname=xname, title=title)
smry.add_table_params(self, yname=yname, xname=xname, alpha=alpha,
use_t=self.use_t)
# add warnings/notes, added to text format only
etext = []
if eigvals[-1] < 1e-10:
wstr = "The smallest eigenvalue is %6.3g. This might indicate "
wstr += "that there are\n"
wstr += "strong multicollinearity problems or that the design "
wstr += "matrix is singular."
wstr = wstr % eigvals[-1]
etext.append(wstr)
elif condno > 1000: # TODO: what is recommended
wstr = "The condition number is large, %6.3g. This might "
wstr += "indicate that there are\n"
wstr += "strong multicollinearity or other numerical "
wstr += "problems."
wstr = wstr % condno
etext.append(wstr)
if etext:
smry.add_extra_txt(etext)
return smry