zoukankan      html  css  js  c++  java
  • 工作中用到的模型诊断指数

    1. 一般统计量

    均值、方差、最小值、最大值、1%分位数、5%分位数、 10%分位数、25%分位数、 50%分位数、75%分位数、90%分位数、 95%分位数、 99%分位数。

    一般要将数据排序后才能求得分位数。


    1.1  对每个Model(SEG_A、SEG_B、SEG_C、ALL),计算score向量的统计量

    1.2  对SEG_A、SEG_B、SEG_C、ALL,计算每signal向量的统计量

    2. Pearson相关系数

    其公式为:


    其中:

    0.8-1.0     极强相关
    0.6-0.8     强相关
    0.4-0.6     中等程度相关
    0.2-0.4     弱相关
    0.0-0.2     极弱相关或无相关

     
    2.1  对每个Model(只有SEG_A),计算signal与tag的相关系数。

    2.2  SEG_A、SEG_B、SEG_C、ALL,计算每两个signal向量之间的相关系数。


    3.PSI

     PSI(Population Stability Index)是衡量模型的预测值实际值偏差大小的指标。PSI 小于 0.25 意味偏差在可以接受的范围里。



    3.1 对每个Model(SEG_A、SEG_B、SEG_C),计算score向量的PSI

    (1).  将基准score划分为10个区间,将预测score按照相同的边界值划分为10个区间
    (2).  分别统计各个分区基准score的个数C1、预测score的个数C2
    (3).  分别统计各个分区基准score的个数比例p1、预测score的个数比例p2
    (4).  计算 PSI = sum ( ( p1[i] - p2[i]  ) / ( log p1[i] -   log p2[i] ) )


    3.2 SEG_A、SEG_B、SEG_C、ALL,计算Signal的PSI
    (1).  将基准signal划分为10个区间,将预测signal按照相同的边界值划分为10个区间
    (2).  分别统计各个分区基准score的个数C1、预测score的个数C2
    (3).  分别统计各个分区基准score的个数比例p1、预测score的个数比例p2
    (4).  计算 PSI = sum ( ( p1[i] - p2[i]  ) / ( log p1[i] -   log p2[i] ) )


    4.VIF

    方差膨胀因子(Variance Inflation Factor,VIF):容忍度的倒数,VIF越大,显示共线性越严重。经验判断方法表明:当0<VIF<10,不存在多重共线性;当10≤VIF<100,存在较强的多重共线性;当VIF≥100,存在严重多重共线性。

    计算方法:  对自变量作中心标准化,则X'X 为自变量的相关阵,定义


    则矩阵C的主对角线元素 VIF(i) 为自变量X(i) 的方差扩大因子VIF。 若X(i) 与其余自变量的复决定系数为R(i)^2,VIF  与 复决定系数关系为:


    4.1 对每个Model的SEG_A、SEG_B、SEG_C、ALL,计算每个signal的VIF:

    (1). Signal的全矩阵为X

    (2). 从X取得一列signal y,从X中删除y得X'

    (3). 对X',y作线性回归建模,得到模型LR

    (4). 使用LR,输入X,得到y的预测值y_pred

    (5). 求得y的VIF= sum((y- y_mean)^2)/sum((y- y_pred)^2)

    (6).从第二步开始重复,计算每个signal的VIF


    5. ROC曲线

    受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线): 是反映敏感性和特异性连续变量的综合指标,是用构图法揭示敏感性和特异性的相互关系,它通过将连续变量设定出多个不同的临界值,从而计算出一系列敏感性和特异性,再以敏感性为纵坐标、(1-特异性)为横坐标绘制成曲线,曲线下面积越大,诊断准确性越高。在ROC曲线上,最靠近坐标图左上方的点为敏感性和特异性均较高的临界值。


    5.1. 对每个Model(只有SEG_A),计算score与tag的ROC曲线:

    (1). 将score 降序排列

    (2).  score划分为10等份(每份个数相同)

    (3).  计算每一份tag的总和即命中个数,score的最大、最小值

    (4).  计算每一份的未命中个数 = 个数- 命中个数

    (5).  转化为累加矩阵,计算累加命中率、累加未命中率

    (6). 计算 KS = max ( abs (累加命中率[i] - 累加未命中率[i]) ) 

    (7).  计算 AUROC = sum ( (累加命中率[i] + 累加命中率[i-1])*( 累加未命中率[i] -  累加命中率[i-1]) )/2 ,  即求积分

    (8).  计算累加前每层实际命中率、累加前每层预测命中率、每层累加率

    (9).  ROC 曲线:X轴为累加未命中率[i]),y轴为累加命中率[i]。

    6. AUC 

    Area Under the ROC Curve,ROC 曲线下的面积,AUC 值在0.5 到1 之间。


    6.1    对每个Model(只有SEG_A),计算score与tag的AUROC 见5.1:
    AUROC = sum ( (累加命中率[i] + 累加命中率[i-1])*( 累加命中率[i] -  累加命中率[i-1]) )/2 ,求积分

    7.KS  

    6.1    对每个Model(只有SEG_A),计算score与tag的AUC见6.1:
    KS = max ( abs (累加命中率 - 累加未命中率) ) 

    8. CI

    Condition Index  条件指数:用于诊断多重共线性。

    CI > 100

    强 多重共线性


    CI > 30

    中等多重共线性


    CI > 10

    弱多重共线性


    Condition Index  条件指数 计算方法:计算矩阵X‘X 的特征值,则条件数K和条件指数CI分别为:


    8.1. 对每个Model(SEG_A、SEG_BSEG_C),计算signal的CI:

    (1). 求出回归矩阵S‘S

    (2).求出矩阵S‘S的特征值lam1、lam2........lamN

    (3). 求最大特征值/最小特征值 的平方根


    9. Logit Plot

    9.1. 对每个Model(只有SEG_A),计算signal与tag的logit关系:

    (1). 若signal 是标签类型,则计算其值分别为0、1时候,对应的tag的数量、均值

    (2). 若signal 是数值类型,则将signal划分为最多10个区间,计算各个区间对应的tag的数量、均值


    10. CRC

    10.1 对每个Model(只有SEG_A),计算score与tag 之间的线性关系:

    (1).  按照score降序排列

    (2).  划分为10个等份,求出每一份的score和tag的均值

    (3).  使用score均值和tag均值进行线性回归建立模型LR

    (4).  按照模型LR,使用score均值作为变量,带入模型LR中,计算出预测的tag均值


  • 相关阅读:
    几种加密算法的java实现包括MD5、RSA、SHA256
    js 向form表单中插入数据
    HTTP的长短连接、长短轮询的区别(转载)
    try catch finally 关闭流标准的写法
    从黑格尔的正反合理论看人生的三个阶段
    《人人都是产品经理》读书笔记
    什么是PRD、MRD与BRD
    关于B/S系统中文件上传的大小限制怎么做
    如何向外行解释产品经理频繁更改需求为什么会令程序员烦恼?
    web页面开发笔记(不断更新)
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276126.html
Copyright © 2011-2022 走看看