簡體   English   中英

使用python提取回歸系數

[英]Using python to extract regression coefficients

我在 python 中執行了泊松回歸,然后執行了 poisson.fit().summary 以獲得以下輸出:

poisson.fit().summary()
<class 'statsmodels.iolib.summary.Summary'>
"""
                 Generalized Linear Model Regression Results                  
==============================================================================
Dep. Variable:                    Y   No. Observations:                   28
Model:                            GLM   Df Residuals:                       26
Model Family:                 Poisson   Df Model:                            1
Link Function:                    log   Scale:                          1.0000
Method:                          IRLS   Log-Likelihood:            -1.5464e+07
Date:                Wed, 13 Feb 2019   Deviance:                   3.0928e+07
Time:                        19:54:52   Pearson chi2:                 4.43e+07
No. Iterations:                     6   Covariance Type:             nonrobust
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
Intercept     12.8383      0.000   2.95e+04      0.000      12.837      12.839
x            0.0094   1.11e-05    848.646      0.000       0.009       0.009
==============================================================================

但是,我的問題是,如何分別提取截距和 X 值?

我嘗試了poisson.params (如之前帖子中所建議的那樣),但它似乎對我不起作用。 我收到這樣的錯誤

*** AttributeError: 'GLM' object has no attribute 'params'

我希望每個系數都存儲在單獨的變量中:

Intercept =  12.8383
X = 0.0094

這可能嗎?

沒有代碼,很難說為什么你會得到你所看到的行為?

這是一個有效的示例完整代碼。

import numpy as np
import pandas as pd

import statsmodels.api as sm
import statsmodels.formula.api as smf


df = pd.DataFrame(np.random.randint(100, size=(50,2)))
df.rename(columns={0:'X1', 1:'X2'}, inplace=True)

# GLM Model

model = smf.glm("X2 ~ X1", data=df, family= sm.families.Poisson()).fit()

print(model.summary())
print(model.params)


# Poisson Model

poisson = smf.poisson("X2 ~ X1", data=df).fit()
print (poisson.summary())
print (poisson.params)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM