[英]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.