首页 > 其他分享 >特征稳定性指标(CSI)

特征稳定性指标(CSI)

时间:2024-11-28 15:05:44浏览次数:10  
标签:csi 特征 稳定性 feature 指标 np CSI data1

特征稳定性指标CSI(Characteristic Stability Index)是衡量金融风控模型中单个特征在时间上的稳定性的重要指标。CSI专注于监测和评估模型中关键特征分布的变化情况,以确定这些特征是否在新的数据集上保持了与训练数据集相似的分布。以下是关于CSI的详细解释:

定义

CSI用于量化特征分布的变化,即特征在时间维度上的稳定性。如果一个特征的分布在新数据集上与训练数据集相比发生了显著变化,这表明该特征可能不稳定,可能会对模型的预测性能产生负面影响。

计算方法

CSI的计算通常涉及以下步骤:

  1. 确定分位数区间:将特征值按照分位数分成若干等宽的区间,通常使用等宽分箱方法。

  2. 计算频率分布:在训练集和当前数据集上分别计算每个区间内的样本数量或比例。

  3. 计算CSI值:对于每个区间,计算训练集和当前数据集之间的频率分布差异。具体公式可能因不同的实现而异,但一般形式如下:

    [ CSI = \sum_{i=1}^{N} \left| \frac{f_i}{F_i} - 1 \right| ]

    其中,( f_i ) 是当前数据集中第 ( i ) 个区间的样本比例,( F_i ) 是训练集中相应区间的样本比例。

重要性

CSI的重要性体现在以下几个方面:

  • 模型监控:CSI可以帮助金融机构监控模型的关键特征是否稳定,从而确保模型的预测能力不会因为特征分布的变化而降低。
  • 早期预警:如果CSI值显著增加,可能意味着数据或环境发生了变化,需要进一步调查和调整模型。
  • 特征优化:通过分析CSI,可以识别哪些特征变得不稳定,从而进行特征的重新选择或调整。

应用

在实际应用中,CSI通常与PSI(Population Stability Index)一起使用,PSI衡量整个模型分数的分布稳定性,而CSI则更细致地关注单个特征分布的变化。通过结合这两个指标,金融机构可以更全面地监控和评估模型的整体稳定性。

总之,CSI是金融风控中一个重要的特征稳定性指标,它有助于金融机构及时发现和应对模型特征分布的变化,保证模型的准确性和可靠性。

import pandas as pd
import numpy as np
import json

# 模拟数据
np.random.seed(0)
data1 = {'feature0':np.random.randn(100),
         'feature1':np.random.rand(100),
         'feature2':np.random.randint(0,10,size=100)
        }
        
data2 = {'feature0':np.random.randn(50),
         'feature1':np.random.rand(50),
         'feature2':np.random.randint(0,10,size=50)
        }
df1 = pd.DataFrame(data1)     
df2 = pd.DataFrame(data2) 
        

def caculate_csi(data1,data2,feature_list):
    """
    data1:第一个数据集
    data2:第二个数据集
    feature_list:需要计算csi的特征列表
    
    return:返回每个特征的csi值,json格式
    """
    
    csi_results = {}
    for feature in feature_list:
        # 将特征值分箱,等宽分箱
        min_val = min(data1[feature].min(),data2[feature].min())
        max_val = max(data1[feature].max(),data2[feature].max())
        bins = np.linspace(min_val,max_val,num=10) 
        
        #计算两个数据集特征分布
        hist1,_ = np.histogram(data1[feature],bins=bins)
        hist2,_ = np.histogram(data2[feature],bins=bins)
        
        #归一化直方图
        hist1_normalized = hist1/hist1.sum()
        hist2_normalized = hist2/hist2.sum()
        
        #计算csi
        csi_value = 1-np.sum(np.abs(hist1_normalized-hist2_normalized))
        csi_results[feature]=csi_value
    csi_results_json = json.dumps(csi_results,indent=4)
    
    return csi_results_json
    
    
    result = caculate_csi(data1,data2,['feature0','feature1','feature2'])
    print(result)


result = caculate_csi(data1,data2,['feature0','feature1','feature2'])
print(result)

标签:csi,特征,稳定性,feature,指标,np,CSI,data1
From: https://blog.csdn.net/weixin_37942413/article/details/144111500

相关文章

  • JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化
    目录JavaScript中通过Array.sort()实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)一、为什么要使用Array.sort()二、Array.sort()的使用与技巧1、基础语法2、返回值3、使用技巧三、Array.sort()的复杂用法与实际......
  • 深入剖析射频工程指标:从接收灵敏度到邻道泄漏,5G时代的关键技术与优化策略
    深入剖析射频工程指标:从接收灵敏度到邻道泄漏,5G时代的关键技术与优化策略在无线通信中,射频工程师需要面对多种复杂的指标和参数,来保证系统的性能、覆盖范围和信号质量。随着5G的到来,射频性能的要求比4G时代更加严格和复杂,这些参数不仅决定了通信质量,也直接影响到网络的容......
  • 性能之nmon(硬件指标)
    nmon基本介绍:nmon是帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新。分析工具:分析AIX和Linux性能的免费工具,这个高效的工具可以工作于任何屏幕、telnet会话、甚至拨号线路。另外,它并不会消耗大量的CPU周期,通常低于百分之二。在更新的计算机上,其CPU使......
  • 性能指标详解
    一、监听器中的插件@gc-ActiveThreadsOverTimeip活动线程时间@gc-AutoStopListener自动停止侦听器@gc-BytesThroughputOverTimejp字节吞吐量随时间变化@gc-CompositeGraph综合图@gc-ConnectTimesOverTimejp连接时间@gc-ConsoleStatusLoggerjp......
  • jmeter软件指标和硬件指标(16.5)
    一、性能插件的效果:二、安装一下插件1、下载一下两个包2、存放路径(1)E:\dcs\two\jmeter(14)\apache-jmeter-3.3\lib\ext(2)解压这个包(3)startagent.bat(4)点击startagent.bat,后进界面(5)再重启jmeter查看监听器中的插件=====================================常用的性能......
  • 易基因:河大蒋建军教授BS-seq揭示底物特异性和蛋白稳定性促进植物特异性DNA甲基转移酶
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。DNA甲基化是一种重要的表观遗传机制,对转座子沉默和基因组完整性至关重要。在进化过程中,DNA甲基化底物在不同生物界中发生多样化。在植物中,染色体甲基化酶3(CMT3)和CMT2分别介导CHG和CHH位点的甲基化。然而,这两种甲基转......
  • 前端的性能统计有哪些指标?
    前端性能统计指标有很多,可以大致分为以下几类:1.加载时间相关:这组指标主要关注页面加载速度的各个阶段。FP(FirstPaint):首次绘制的时间,浏览器开始将像素绘制到屏幕上的时间点,用户可以看到任何内容,即使只是一些背景色。FCP(FirstContentfulPaint):首次内容绘制,浏览......
  • 使用EVOLVEpro对蛋白质热稳定性进行定向进化
    对EVOLVEpro还不熟的读者可以查看之前的博客:RapidinsilicodirectedevolutionbyaproteinlanguagemodelwithEVOLVEpro文献解读。本文通过Kaggle竞赛中提供的酶热稳定性数据集对EVOLVEpro的性能进行验证。数据集为test.csv和test_labels.csv,这是经过实验测量的某种酶的......
  • 用python、JAVA等多种语言的实例代码演示教你如何免费获取股票数据(实时数据、历史数据
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......
  • 硬件基础23 负反馈对放大电路性能的影响及稳定性
    目录一、提高增益稳定性二、减小非线性失真三、抑制反馈环内噪声四、对输入电阻和输出电阻的影响1、串联与并联负反馈-对输入电阻影响2、电压与电流负反馈-对输出电阻影响五、扩展带宽六、反馈电路的影响总结七、负反馈放大电路的稳定性1、产生自激振荡的原因及条件......