zoukankan      html  css  js  c++  java
  • 模型稳定性指标—PSI

    由于模型是以特定时期的样本所开发的,此模型是否适用于开发样本之外的族群,必须经过稳定性测试才能得知。稳定度指标(population stability index ,PSI)可衡量测试样本及模型开发样本评分的的分布差异,为最常见的模型稳定度评估指针。其实PSI表示的就是按分数分档后,针对不同样本,或者不同时间的样本,population分布是否有变化,就是看各个分数区间内人数占总人数的占比是否有显著变化。公式如下:

    这里的AC与EX为不同时间段的模型输出分数,如果PSI过大,说明模型输出的分数分布变化很大了,需要更新模型。 

    PSI实际应用范例:

    1)样本外测试

      针对不同的样本测试一下模型稳定度,比如训练集与测试集,也能看出模型的训练情况,我理解是看出模型的方差情况。

    2)时间外测试

      测试基准日与建模基准日相隔越远,测试样本的风险特征和建模样本的差异可能就越大,因此PSI值通常较高。至此也可以看出模型建的时间太长了,是不是需要重新用新样本建模了。

    变量的PSI计算:

    PSI:检验变量的稳定性,当一个变量的psi值大于0.0001时,变量不稳定。

    一个变量,将它的取值按照分位数来分组一下,每一组中测试模型的客户数占比减去训练模型中的客户数占比再乘以这两者相除的对数,

    就是这一组的稳定性系数psi,然后变量的psi系数就是把这个变量的所有组的psi相加总起来。

    ======================

    PSI群体稳定性指标(population stability index)

    psi = sum((实际占比-预期占比)/ln(实际占比/预期占比))

    举个例子解释下,比如一个评分卡模型,按天为维度计算PSI,我们把模型刚上线第一天(设定为一个基期)的各分数段用户占比作为预期占比P1,之后每天的各分数段用户占比作为实际占比P2,这样根据公式就可以计算出每天的PSI值,通过观测这些PSI的大小和走势,从而实现对评分卡稳定性的监测。通常PSI会以日、周和月为维度进行计算,同时也会对评分卡模型中各个特征变量分别做PSI监测。

    模型分数的变化可能由特征变化引起,也可能是模型本身不稳定引起,若是高分段总数量没变,而psi值变动较大,认为需要重训模型。

    若是psi值没变,高分段总数量变多,认为整体用户变好。

     https://blog.csdn.net/sinat_26917383/article/details/51721107

  • 相关阅读:
    python-web微信实现
    Python---BeautifulSoup模块
    Python—requests模块详解
    KindEditor编辑器
    Django实现瀑布流,组合搜索
    利用(CMD)在Django中创建文件
    ppt插入声音
    高性能mysql 第1,2,3章。
    mysql复制
    最长DNA重复序列长度,并输出该序列。 JAVA
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/11512095.html
Copyright © 2011-2022 走看看