画图版PSI—python&SAS

嗨,周末愉快,小编周末本打算去北戴河玩,结果老弟要来北京,就放弃了,结果小编还被老弟放了鸽子,所以无奈之下只得玩手机。

小编周五写了一篇 单变量的PSI代码,写得略有些繁琐,东先生最近在学sas代码,作为程序员出身的他看了我写的sas代码,实在忍无可忍,于是提出了很多意见,于是按照他的建议改了很多,本篇文章包括python代码和sas代码,以及分数分布。小编以前不会用sas画图,这篇也当做是sas作图的首篇文章吧。

至于PSI这个业务指标,就无需再细致讲了,下面大概讲一下。

公式: psi = sum((实际占比-预期占比)*ln(实际占比/预期占比)),和 IV的计算公式一样,和交叉熵的作用类似。

举个例子解释下,比如训练一个提升树模型,预测时候会有个概率输出p。你测试集上的输出设定为p1吧,将它从小到大排序后20等分,如0-0.05,0.05-0.1,......。

现在用这个模型去对新的样本进行预测,预测结果叫p2,按p1的区间也划分为20等分。

实际占比就是p2上在各区间的用户占比,预期占比就是p1上各区间的用户占比。

意义就是如果模型跟稳定,那么p1和p2上各区间的用户应该是相近的,占比不会变动很大,也就是预测出来的概率不会差距很大。

至于为什么分20箱呢,其实是和卡方有关。分成20箱的阈值是0.25.

一般认为psi小于0.1时候模型稳定性很高,0.1-0.25一般,大于0.25模型稳定性差,建议重做。

首先是SAS代码:

接下来是python代码

最后还是要说下哈,使用代码的时候请说明是小编写的哈,小编很辛苦的,谢谢各位读者啦!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180901B0C5YI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券