2017-04-18 12 views
1

私はolsモデルを実行しています。私はすべての係数を知る必要があります。どのようにして、係数を科学記法以外の形式で表示/保存できますか?python sm.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) 

答えて

4

これは、statsmodelsソースにハードコードされているものです。しかし係数を取り出す最良の方法はmodel.paramsです。 RegressionResultsのソースを見てください。具体的にはすべての属性が表示され、モデルに合ったすべての関連情報にアクセスする方法が示されます。

+0

model.paramsは科学的な通知なしで動作します。ありがとうございました – jeangelj

3

RegressionResultsWrapper.summary()方法は、この機能のために良いサポートを持っていないので、あなたは、statsmodels version 0.8.0と今ではそれをすることはできません。 xname, yname, alpha, titleのみ利用可能です。

したがって、float_formatというパラメータを持つRegressionResultsWrapper.summary()と呼ばれる経験的な機能があります。これにより、必要な作業を実現することができます。

しかし、これは実験的な機能なので、あなたがそれを使用すると、バグが発生することがあります。 float_formatを指定すると、期待どおりの結果が得られないことがあります。

私はソースコードを見直し、結果​​のフォーマットがhard-codedであることを確認しました。したがってfloat_formatが機能しない場合ソースファイルを編集するのが最後のオプションかもしれません。心配しないで、思った通りに難しくないかもしれません。もっとお気軽にお問い合わせください。

+0

ありがとうございます - 私はそれを見ています – jeangelj

関連する問題