【发布时间】:2020-07-16 07:14:06
【问题描述】:
在here 和here 中在线查看我看到在python 中有两种方法可以估计优势比,但结果不同。
第一种方式:
import scipy.stats as stats
import pandas as pd
df=pd.DataFrame({'c':['m','m','m','m','f','f','f','f'],'l':[1,1,1,0,0,0,0,1]})
ct=pd.crosstab(df.c,df.l)
oddsratio, pvalue = stats.fisher_exact(ct)
第二种方式:
from sklearn.linear_model import LogisticRegression
df=pd.get_dummies(df,drop_first=True)
clf = LogisticRegression()
clf.fit(df[['c_m']],df[['l']].values)
odds_ratio=np.exp(clf.coef_)
第一种方法返回优势比=9,第二种方法返回优势比=1.9。 我对优势比的概念相对较新,我不确定如何使用 Fisher 检验和逻辑回归来获得相同的值,有什么区别以及哪种方法是在这种情况下获得优势比的正确方法。 我会很感激任何提示。谢谢。
【问题讨论】:
标签: python logistic-regression scipy.stats