样本稳定指数(PSI)

更新时间:2025-04-01 05:02:41

样本稳定指数(PSI)是一种统计指标,用于评估两个样本分布之间的差异程度,通常用于监控模型在不同时间或不同环境下的表现稳定性。通过计算两个样本的分布差异,PSI能够帮助识别潜在的数据偏移或漂移,从而为模型维护和更新提供依据。

算法说明

样本稳定指数(PSI)通常用于衡量样本的稳定程度。例如样本在两个月份之间的变化是否稳定,如果变量的PSI值小于0.1,则表示变化不太显著。如果PSI值在0.10.25之间,则表示有比较显著的变化。如果PSI值大于0.25,则表示变量变化比较剧烈,需要特殊关注。

通过画图的方法可以衡量样本在不同时刻的稳定性,即将待比较的变量离散化成N个分箱,然后计算样本分别在各个分箱中的数量及比例,并以柱状图的形式呈现出来,如下图所示。柱状图该方法可以直观地查看某个变量在两批样本上是否有剧烈的变化,但是无法量化,从而无法实现对样本稳定性的自动监控。因此PSI就显得尤为重要,PSI的计算公式如下。PSI计算公式

配置组件

方式一:可视化方式

Designer工作流页面添加样本稳定指数(PSI)组件,并在界面右侧配置相关参数:

参数类型

参数

描述

参数类型

参数

描述

字段设置

要计算PSI指标的特征

需要进行PSI指标计算的特征列。

执行调优

核心数

使用的CPU Core数量,默认系统自动分配。

内存数

每个CPU Core使用的内存大小,默认系统自动分配。

方式二:PAI命令方式

使用PAI命令配置样本稳定指数(PSI)组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本

PAI -name psi
-project algo_public
-DinputBaseTableName=psi_base_table
-DinputTestTableName=psi_test_table
-DoutputTableName=psi_bin_table
-DinputBinTableName=pai_index_table
-DfeatureColNames=fea1,fea2,fea3
-Dlifecycle=7

参数

是否必选

默认值

描述

参数

是否必选

默认值

描述

inputBaseTableName

输入基础表表名,计算测试表在基础表的基础上产生的偏移量。

inputBaseTablePartitions

全表

输入基础表分区。

inputTestTableName

输入测试表的名称,计算测试表在基础表的基础上产生的偏移量。

inputTestTablePartitions

全表

输入测试表分区。

inputBinTableName

输入分箱结果表的名称。

featureColNames

全表

需要计算PSI指标的特征列。

outputTableName

输出的指标表。

lifecycle

输出表的生命周期。

coreNum

系统自动分配

使用的CPU Core数量。

memSizePerCore

系统自动分配

每个CPU Core使用的内存大小,单位为MB。

使用示例

使用PSI之前需要对特征数据进行分箱,因此需要一个分箱组件。如下图使用的示例,PSI组件分别连接待比较的两个样本数据集,再连接一个分箱组件。只需要配置要计算PSI指标的特征,即可进行PSI计算。

image

PSI计算的结果如下图所示:PSI结果

  • 本页导读 (1)
  • 算法说明
  • 配置组件
  • 方式一:可视化方式
  • 方式二:PAI命令方式
  • 使用示例