我正在运行一个ols模型,我需要知道所有的系数,这样我就可以在我的分析中使用它们。如何以与科学符号不同的格式显示/保存系数?
model = sm.ols(formula="sales ~ product_category + quantity_bought + quantity_ordered + quantity_returned + season", data=final_email).fit()
print model.summary()
OLS Regression Results
==============================================================================
Dep. Variable: sales R-squared: 0.974
Model: OLS Adj. R-squared: 0.938
Method: Least Squares F-statistic: 27.26
Date: Tue, 18 Apr 2017 Prob (F-statistic): 5.39e-13
Time: 11:43:36 Log-Likelihood: -806.04
No. Observations: 60 AIC: 1682.
Df Residuals: 25 BIC: 1755.
Df Model: 34
Covariance Type: nonrobust
======================================================================================
coef std err t P>|t| [95.0% Conf. Int.]
--------------------------------------------------------------------------------------
Intercept -2.79e+05 2.883e+05 -0.987 0.333 -8.92e+05 3.14e+05
Product_category[A] 4.343e+04 2.456e+05 0.186 0.854 -4.95e+05 5.93e+05
Product_category[B] 2.784e+05 1.23e+05 1.128 0.270 -1.68e+05 5.75e+05
quantity_bought -74678 1.754e+05 -0.048 0.962 -3.4e+05 3.24e+05
quantity_ordered 3.543e+05 1.363e+05 1.827 0.080 -4.21e+04 7.05e+05
quantity_returned 1.285e+05 2.154e+05 0.512 0.613 -4.61e+05 7.66e+05
season -1.983e+04 1.76e+05 -0.133 0.895 -2.69e+05
Warnings:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The smallest eigenvalue is 1.19e-29. This might indicate that there are
strong multicollinearity problems or that the design matrix is singular.这没什么用:
pd.set_option('display.float_format', lambda x: '%3.f' % x)发布于 2017-04-18 17:12:20
所以这是硬编码到statsmodel源代码中的东西。但是,得到系数的最好方法是使用model.params。看看RegressionResults的源代码,特别是所有属性,这将向您展示如何访问所有适合您的模型的相关信息。
发布于 2020-01-10 21:47:04
在0.10.2版中,有一个实验函数summary2(),它接受一个float_format。
下面是来自源代码的函数的docstring
def summary2(self, yname=None, xname=None, title=None, alpha=.05,
float_format="%.4f"):
"""
Experimental summary function to summarize the regression results.
Parameters
----------
yname : str
The name of the dependent variable (optional).
xname : list[str], optional
Names for the exogenous variables. Default is `var_##` for ## in
the number of regressors. Must match the number of parameters
in the model.
title : str, optional
Title for the top table. If not None, then this replaces the
default title.
alpha : float
The significance level for the confidence intervals.
float_format : str
The format for floats in parameters summary.
Returns
-------
Summary
Instance holding the summary tables and text, which can be printed
or converted to various output formats.发布于 2017-04-18 17:11:11
到目前为止,您还不能使用statsmodel version 0.8.0实现它,因为RegressionResultsWrapper.summary()方法还没有得到对此特性的良好支持。只有xname, yname, alpha, title可用。
因此,有一个叫做RegressionResultsWrapper.summary()的经验函数,它有一个参数float_format,它可以让你意识到你需要做什么。
但既然这是个实验功能。当您使用它时,可能会出现错误。当您指定float_format时,某些结果可能不符合您的预期。
我查看了源代码,发现结果的某些格式是hard-coded。所以如果float_format不能工作。编辑源文件可能是您的最后一个选项。别担心,这可能不像你想的那么难。请多问几句。
https://stackoverflow.com/questions/43476826
复制相似问题