模型稳定性指标—PSI

PSI(Population Stability Index)是评估模型稳定性的关键指标,用于比较不同样本或时间点模型输出评分的分布差异。当PSI值较大时,表明模型的输出分数分布有显著变化,可能需要更新模型。PSI的应用包括样本外测试和时间外测试,通过计算各分数区间内人数占比的稳定性系数来判断模型的稳定性。若变量的PSI大于0.0001,则认为该变量不稳定。通过观察PSI值的大小和趋势,可以监测评分卡模型的稳定性,并据此决定是否重训模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

 

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

 

PSI实际应用范例:

1)样本外测试

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

2)时间外测试

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

 

变量的PSI计算:

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

一个变量,将它的取值按照分位数来分组一

### PSI稳定性指标的定义 PSI(Population Stability Index)是一种用于衡量数据集或模型稳定性指标,主要用于评估不同时间段样本数据在分布上的相似性[^1]。具体而言,PSI通过比较两个时间点的数据分布差异,帮助分析人员判断数据或模型是否发生了显著变化。 --- ### PSI稳定性指标的计算方法 PSI的计算公式如下: \[ PSI = \sum_{i=1}^{n} (P_1(i) - P_2(i)) \cdot \ln\left(\frac{P_1(i)}{P_2(i)}\right) \] 其中: - \(P_1(i)\) 表示基期(通常是模型上线第一天或初始状态)中第 \(i\) 个区间的数据占比。 - \(P_2(i)\) 表示当前期中第 \(i\) 个区间的数据占比。 - \(n\) 是数据分箱的数量。 为了确保公式的有效性,当 \(P_1(i)\) 或 \(P_2(i)\) 为零时,通常会将其替换为一个非常小的正数(如 \(0.0001\)),以避免对数函数中的除零错误[^3]。 以下是一个简单的Python代码实现: ```python import numpy as np def calculate_psi(expected, actual, bins=10): # 分箱处理 breakpoints = np.percentile(expected, np.arange(0, 100, 100 / bins)) expected_counts, _ = np.histogram(expected, breakpoints) actual_counts, _ = np.histogram(actual, breakpoints) # 计算占比 expected_pct = expected_counts / sum(expected_counts) actual_pct = actual_counts / sum(actual_counts) # 避免除零错误 expected_pct = np.where(expected_pct == 0, 0.0001, expected_pct) actual_pct = np.where(actual_pct == 0, 0.0001, actual_pct) # 计算PSI psi_values = (expected_pct - actual_pct) * np.log(expected_pct / actual_pct) return sum(psi_values) ``` --- ### PSI稳定性指标的应用场景 1. **评分卡模型稳定性监测**:在金融领域,PSI常用于监控评分卡模型稳定性。例如,将模型上线第一天的用户分数分布作为基期,后续每天的用户分数分布作为当前期,通过计算PSI值来评估模型是否保持稳定[^3]。 2. **特征稳定性评估**:在机器学习建模中,PSI可以用来评估各个特征的稳定性。通过对每个特征分别计算PSI,可以识别出哪些特征在不同时间段内发生了显著变化[^2]。 3. **模型预测稳定性评估**:将模型输出的概率值(prediction_prob)视为一个特征,计算其PSI值,从而评估模型预测结果的稳定性[^2]。 4. **数据分布监控**:在大数据监控中,PSI可用于检测数据源的变化。例如,在金融风控中,通过定期计算PSI值,可以及时发现数据分布异常,从而采取相应措施[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值