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

2023-12-21 03:48

本文主要是介绍笔记+R︱Logistics建模简述(logit值、sigmoid函数),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!




本笔记源于CDA-DSC课程,由常国珍老师主讲。该训练营第一期为风控主题,培训内容十分紧凑,非常好,推荐:CDA数据科学家训练营


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


一、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')来建模。


lg<-glm(y ~x1,family=binomial(link='logit'))
summary(lg)

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


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


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

lg_ms<-step(lg,direction = "both")
summary(lg_ms)


3、验证集预测——predict


train$lg_p<-predict(lg_ms, train) 
summary(train$lg_p)

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


4、计算概率值


1/(1+exp(-1*train$lg_p))


5、模型验证的方法


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



这篇关于笔记+R︱Logistics建模简述(logit值、sigmoid函数)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/518550

相关文章

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个