笔记+R︱Logistics建模简述(logit值、sigmoid函数)

 

一、logit值的来源 

逻辑回归一般将因变量二分类变量的0-1转变为频率[0,1],变成odds(优势比,[0,+∞]),然后log一下成为Logit值([-∞,+∞])


优势比就是:odds=P(y=1)/P(y=0)

logit值:logit=log(odds)

什么是sigmoid函数?

先定义了一个直觉的概念优势比 p/(1-p),p是true时的概率,1-p是false时的概率,对优势比取log,即t=log(p/(1-p))进行值域转换,转到所有实数域。然后反过来求p,最终即可得到sigmoid函数。

sigmoid函数的有趣特点是,自变量是负无穷到正无穷,应变量是0到1。越接近0变化越大。导函数是p(1-p),导函数很有趣。(参考:大话逻辑回归

——————————————————————————————————

二、logit建模

利用logit=Y进行建模,得到Logit之后就可以根据其进行计算概率。Logit=经济学上的效用,效用是一个连续变量,logit模型相当于是效用建模。

所以一般来说,逻辑回归出来的系数都是logit值的系数,需要转化为概率值。

简单的理解可以认为是:

输入是x,输出是y,中间有个临时变量是t。w和b是模型参数。h(t)是属于某个类别的概率,大于0.5认为属于这个类别,即y=1。 linear

sigmoid

简便起见,我们可以认为b始终和一个值为1的w相乘。于是我们把b放入w。模型简化为

linearregressionsimple

这就是逻辑回归的公式,非常简单。

(参考:大话逻辑回归

——————————————————————————————————

三、logit函数建模阀值设定

在风控模型汇总,logistics阀值的设置根据业务主来判断。一般高信用自动通过,中风险需要审查;风险较大的拒绝借贷。


——————————————————————————————————

四、R语言实现

1、逻辑回归

逻辑回归一般用glm函数中的binomial(link='logit')来建模。

[html] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. lg<-glm(y ~x1,family=binomial(link='logit'))  
  2. summary(lg)  

此时的回归系数的用途只有两个:正负号、显著性.回归系数代表每增加1个单位x,会增加logit值增加0.1个单位,并且正向影响。如果需要知道概率值需要重新计算。

2、逐步回归筛选变量——step

在逻辑回归之上,我们可以用逐步回归方法,对变量进行剔除。

[html] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. lg_ms<-step(lg,direction = "both")  
  2. summary(lg_ms)  


3、验证集预测——predict

[html] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. train$lg_p<-predict(lg_ms, train)   
  2. summary(train$lg_p)  

predict的预测结果也同样是logit值,并不是概率,需要进行再计算

4、计算概率值

[html] view plain copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. 1/(1+exp(-1*train$lg_p))  


5、模型验证的方法

作为排序类模型,可以用ROC曲线/AUC值、累积提升曲线、K-S曲线、洛伦兹曲线gini来验证(笔记︱风控分类模型种类(决策、排序)比较与模型评估体系(ROC/gini/KS/lift))。

原文地址:https://www.cnblogs.com/timssd/p/6416079.html