样本稳定指数(PSI)

样本稳定指数(PSI)是衡量样本变化所产生的偏移量的一种重要指标,通常用于衡量样本的稳定程度。

背景信息

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

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

组件配置

您可以使用以下任意一种方式,配置样本稳定指数(PSI)组件参数。

方式一:可视化方式

Designer工作流页面配置组件参数。

页签

参数

描述

字段设置

要计算PSI指标的特征

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

执行调优

核心数

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

内存数

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

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用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计算。PSI示例PSI计算的结果如下图所示。PSI结果