KS检验

将KS检验应用于信用评级模型主要是为了验证模型对违约对象的区分能力,通常是在模型预测全体样本的信用评分后,将全体样本按违约与非违约分为两部分,然后用KS统计量来检验这两组样本信用评分的分布是否有显著差异。

两条曲线算的是累计概率

计算各阶段的差值

最后算差值的最大值

KS检验也常用来选择有预测能力的单变量。就是通过某个单变量把样本分成两组,看这两组的样本有关KS指标的大小来决定此变量的预测能力。

模型应该要能区别出违约户和正常户之间的差异,违约户的评级分配应当不同于正常户的评级分配。运用KS检验来验证模型能否区别出违约户与正常户,当两组样本的累积相对次数分配非常接近,且差异为随机时,则两组样本的评级分配应为一致;反之当两组样本的评级分配并不一致时,样本累积相对次数分配的差异会很显,如下图所示:

KS检验模型区分能力

对总体十等分,并按照违约率降序排序,计算每一等分中违约与正常百分比的累计分布,绘制出两者差异

KS的检验步骤为:

KS值越大,表示模型能够将正、负客户区分开的程度越大。
通常来讲,KS>0.2即表示模型有较好的预测准确性。

1、计算正常户和违约户在各评分阶段下的累积比率

2、 计算各阶段累积比率之差

3、 找出最大的累积比率之差,即为KS

另外,下表为KS值对应违约区别能力:

假设模型分数有0-1000分

分数分为10个阶段

一阶段:0-100分

二阶段:100-200分

三阶段:200-300分

.........

十阶段:900-1000分

计算每个阶段坏客户累积占比和好客户累积占比,例如第五阶段,坏客户累积占比34%,好客户累积占比81%,差值47.4%,最大

47%超过阈值20%,模型区分能力非常强

ks即使显著,分数段预测准确率也不一定高

使用K-S检验一个数列是否服从正态分布、两个数列是否服从相同的分布

假设检验的基本思想:

若对总体的某个假设是真实的,那么不利于或者不能支持这一假设的事件A在一次试验中是几乎不可能发生的。如果事件A真的发生了,则有理由怀疑这一假设的真实性,从而拒绝该假设。

实质分析:

假设检验实质上是对原假设是否正确进行检验,因此检验过程中要使原假设得到维护,使之不轻易被拒绝;否定原假设必须有充分的理由。同时,当原假设被接受时,也只能认为否定该假设的根据不充分,而不是认为它绝对正确。

1、检验指定的数列是否服从正态分布

借助假设检验的思想,利用K-S检验可以对数列的性质进行检验,看代码:

from scipy.stats import kstest import numpy as np x = np.random.normal(0,1,1000) test_stat = kstest(x, 'norm')

首先生成1000个服从N(0,1)标准正态分布的随机数,在使用k-s检验该数据是否服从正态分布,提出假设:x从正态分布。

最终返回的结果,p-value=0.76584491300591395,比指定的显著水平(假设为5%)大,则我们不能拒绝假设:x服从正态分布。

这并不是说x服从正态分布一定是正确的,而是说没有充分的证据证明x不服从正态分布。因此我们的假设被接受,认为x服从正态分布。

如果p-value小于我们指定的显著性水平,则我们可以肯定的拒绝提出的假设,认为x肯定不服从正态分布,这个拒绝是绝对正确的。

2、检验指定的两个数列是否服从相同分布

from scipy.stats import ks_2samp

beta=np.random.beta(7,5,1000)

norm=np.random.normal(0,1,1000)

ks_2samp(beta,norm)

我们先分别使用beta分布和normal分布产生两个样本大小为1000的数列,使用ks_2samp检验两个数列是否来自同一个样本,提出假设:beta和norm服从相同的分布。

最终返回的结果,p-value=4.7405805465370525e-159,比指定的显著水平(假设为5%)小,则我们完全可以拒绝假设:beta和norm不服从同一分布。

python信用评分卡建模(附代码)

地址为:https://edu.csdn.net/course/detail/30611

KS临界值表

http://www.cust.edu.tw/mathmet/KS-critical.docx

欢迎学习更多模型知识,python金融风控评分卡模型和数据分析微专业课:https://edu.csdn.net/combo/detail/1927

KS(Kolmogorov–Smirnov)模型区分能力指标相关推荐

  1. 柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test)

    柯尔莫哥洛夫-斯米尔诺夫检验(Колмогоров-Смирнов检验)基于累计分布函数,用以检验两个经验分布是否不同或一个经验分布与另一个理想分布是否不同. 在进行cumulative probab ...

  2. Kolmogorov–Smirnov test(K-S检验)

    20220502:已经很长时间不用 CSDN 写博客了,今天偶然看到自己以前写的这篇,发现存在一些错误和讲的不清楚的地方,修改一下以免误人子弟.(当然可能改后还是有错的,请读者不要尽信,如果实在不能理 ...

  3. matlab的k s检验,K-S 检验(Kolmogorov–Smirnov  kurtosis-skewness)

    本文与普通的讲述 K-S 检验的文章略有不同,分为两部分: (1). 针对大部分分布的 Kolmogorov–Smirnov 检验(真正的K-S检验) (2). 仅适用于高斯分布的基于分布曲线形状的  ...

  4. 机器学习模型评估指标总结!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:太子长琴,Datawhale优秀学习者 本文对机器学习模型评估指标 ...

  5. 【机器学习基础】非常详细!机器学习模型评估指标总结!

    作者:太子长琴,Datawhale优秀学习者 本文对机器学习模型评估指标进行了完整总结.机器学习的数据集一般被划分为训练集和测试集,训练集用于训练模型,测试集则用于评估模型.针对不同的机器学习问题(分 ...

  6. 你知道这11个重要的机器学习模型评估指标吗?

    介绍 建立机器学习模型的想法是基于一个建设性的反馈原则.你构建一个模型,从指标中获得反馈,进行改进,直到达到理想的精度为止.评估指标解释了模型的性能.评估指标的一个重要方面是它们区分模型结果的能力. ...

  7. kmeans及模型评估指标_模型评估常用指标

    一. ROC曲线和AUC值 在逻辑回归.随机森林.GBDT.XGBoost这些模型中,模型训练完成之后,每个样本都会获得对应的两个概率值,一个是样本为正样本的概率,一个是样本为负样本的概率.把每个样本 ...

  8. Lesson 5.分类模型决策边界与模型评估指标

    Lesson 5.分类模型决策边界与模型评估指标(上) 在逻辑回归的算法基础内容结束之后,我们还需要补充一些关于分类模型的基础知识,包括观察分类模型判别性能的决策边界基本的概念与实现方法,同时也包括对 ...

  9. 【采用】信贷业务风控逾期指标及风控模型评估指标

    一.互联网金融中需要关注的风控逾期指标 1.逾期天数 DPD (Days Past Due) 自应还日次日起到实还日期间的日期数 举例:DPDN+表示逾期天数 >=N天,如DPD30+表逾期天数 ...

  10. 分类问题的模型评估指标总结

    在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四中不同的组合,构成混淆矩阵(可适用于多分类),通常有这几种主要模型评估指标:精确率( ...

最新文章

  1. 保存和加载pytorch模型
  2. body里写注释 postman_HTTP Status 415 – Unsupported Media Type(使用@RequestBody后postman调接口报错)...
  3. 【错误记录】Git 使用报错 ( git: ‘switch‘ is not a git command. See ‘git --help‘. )
  4. 2.安装 CLI和CLI的工作原理
  5. 用jk触发器构成二分频电路_深入了解数字电路之时序电路
  6. 战斗机各种世界之最,涨知识了。。。
  7. 关于return的用法
  8. 【转】10个推荐的 PACS/DICOM Server开源项目
  9. 信息学奥赛一本通C++语言——1017: 浮点型数据类型存储空间大小
  10. 调用高德逆地理接口_地理编码与逆地理编码
  11. python列表json_python-带有列表的JSON_normalize JSON文件包含字...
  12. CentOs6.6安装Python3
  13. 模式窗口(Modal Dialog) 导致 Session丢失的解决办法
  14. c++频繁读取数据会丢失_AMADA数控冲床255参数丢失故障
  15. hibernate hbb.xml 映射关系
  16. 在线工具:将图片透明化
  17. 五大企业面试真题(含腾讯)
  18. 计算机电路计数器pl什么意思,计数器原理—不懂就要看哦~~
  19. 什么是RTK?GPS导航和RTK的基本原理有什么不同?
  20. 【朝花夕拾】Android编码风格篇

热门文章

  1. ScrollRect裁剪ParticleSystem粒子
  2. 下个一个语音,计算机.,中国计算机产业的下一个亮点——汉语语音合成的实用化...
  3. java 数据透视表 组件_Apache POI如何将工作簿样式应用于所有数据透视表 . 我如何排除床单?...
  4. 单元格中指定内容标红_你一直都不知道,键盘上“F4”在office中的强大功能
  5. 如何删除git本地分支
  6. mybatis中xml文件的#{param1}和#{属性名},比如#{id}的使用环境以及使用的时机情况
  7. python中的三种排序方法,使用冒泡对列表排序,使用自带sort方法进行排序
  8. python实验二序列_Python学习笔记二:02序列类型的各自方法
  9. python曲线图局部放大_python放大图片和画方格实现算法
  10. Hashtable 数据遍历的几种方式