Probability, odds与logodds

Odds And Log Odds In Logistic Regression
WHAT and WHY of Log Odds. WHAT are Log Odds and WHY are they… | by Piyush Agarwal | Towards Data Science
Logit究竟是个啥?——离散选择模型之三

1. probability, odds 与 log odds

(1)probability 是某件事与所有可能发生的事的比率。(p)

(2)odds 是某件事发生和某件事没有发生的比率。

\[ odds = \frac{p}{1-p} \] (3)log odds 即对odds取对数, log(odds)

例如我与人工智能(AI)系统下了10局棋,并有4次能够打败它:

Probability of winning: 4/10 = 0.40

Odds of winning: 4/6 = 0.6666

log(Odds of winning) = log(0.6666) = -0.176

从(1)到(3),就是 Logit 变换。

2. logistic regression

p 与 logodds 的相互转换关系 \[ p = \frac{1}{1+e^{-(\beta_0+\beta_1x)}}\quad\quad(1) \]

则有,

\[ 1-p = \frac{e^{-(\beta_0+\beta_1x)}}{1+e^{-(\beta_0+\beta_1x)}} \]

\[ odds=\frac{p}{1-p}=e^{\beta_0+\beta_1x} \]

\[ log odds = ln(\frac{p}{1-p})=\beta_0+\beta_1x \quad \quad (2) \]

带入(1)中,可得 \[ p=\frac{1}{1+e^{-logodds}}=\frac{e^{logodds}}{1+e^{logodds}} \quad \quad (3) \]

3. logodds 与 sigmoid

\[ logodds操作:logodds(p) = log(\frac{p}{1-p}) \]

\[ sigmoid function: sigmoid(x) = \frac{1}{1+e^{-x}} \]

\[ p=\frac{1}{1+e^{-(\beta_0+\beta_1x)}},其中\beta_0+\beta_1x为原始输出,即sigmoid作用在原始输出上得到概率值 \]

\[ logodds = ln(\frac{p}{1-p})=\beta_0+\beta_1x,即logodds作用在概率值上得到原始输出 \]

一句话概括:sigmoid与logodds为相反操作。

logodds 就是 logit。Odds 的对数称之为 logit。从概率 P → Odds → Logit,这就是一个 Logit 变化。

4. xgboost与lightgbm的几种输出结果

对于xgboost:

1
2
3
model.predict(,output_margin=True)  #原始值(output the raw untransformed margin value)(每个样本在xgboost生成的所有树中叶子节点的累加值)
model.predict_proba()[:,1] # 取1的概率
model.predict() # 结果为0,1

对于lightgbm:

1
2
3
model.predict(,raw_score=True)  # 原始值
model.predict_proba()[:,1] # 取1的概率
model.predict() # 结果为0,1