簡體   English   中英

R 和 Python 的邏輯回歸結果不同?

[英]Logistic Regression different results with R and Python?

我在兩個程序中都使用了邏輯回歸方法,並想知道為什么我得到了不同的結果,尤其是系數。 結果,感染,是 (1, 0) 和 Flushed 是一個連續變量。

Python:

import statsmodels.api as sm
logit_model=sm.Logit(data['INFECTION'], data['Flushed'])
result=logit_model.fit()
print(result.summary())

結果:

                           Logit Regression Results                           
==============================================================================
Dep. Variable:              INFECTION   No. Observations:                  414
Model:                          Logit   Df Residuals:                      413
Method:                           MLE   Df Model:                            0
Date:                Fri, 24 Aug 2018   Pseudo R-squ.:                  -1.388
Time:                        15:47:42   Log-Likelihood:                -184.09
converged:                       True   LL-Null:                       -77.104
                                        LLR p-value:                       nan
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
Flushed       -0.6467      0.070     -9.271      0.000      -0.783      -0.510
==============================================================================

回復:

mylogit <- glm(INFECTION ~ Flushed, data = cvc, family = "binomial")
summary(mylogit)

結果:

Call:
glm(formula = INFECTION ~ Flushed, family = "binomial", data = cvc)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.0598  -0.3107  -0.2487  -0.2224   2.8051  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept) -3.91441    0.38639 -10.131  < 2e-16 ***
Flushed      0.22696    0.06049   3.752 0.000175 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

您似乎缺少 Python 邏輯模型中的常量(偏移)參數。

要使用 R 的公式語法,您需要擬合兩種不同的模型:

Python model: INFECTION ~ 0 + Flushed
R model     : INFECTION ~ Flushed

要向 Python 模型添加常量,請使用sm.add_constant(...)

暫無
暫無

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

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