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均值


  • 相关阅读:
    day 66 ORM django 简介
    day 65 HTTP协议 Web框架的原理 服务器程序和应用程序
    jQuery的事件绑定和解绑 事件委托 轮播实现 jQuery的ajax jQuery补充
    background 超链接导航栏案例 定位
    继承性和层叠性 权重 盒模型 padding(内边距) border(边框) margin 标准文档流 块级元素和行内元素
    属性选择器 伪类选择器 伪元素选择器 浮动
    css的导入方式 基础选择器 高级选择器
    03-body标签中相关标签
    Java使用内存映射实现大文件的上传
    正则表达式
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276126.html
Copyright © 2011-2022 走看看