在这里和这里在线检查,我看到有两种方法可以估计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检验和逻辑回归来获得相同的值,在这种情况下,差异是什么以及哪种方法是正确的方法来获得优势比。我将不胜感激任何提示。谢谢。
侃侃无极
慕尼黑5688855
随时随地看视频慕课网APP
相关分类