样本稳定指数(PSI)是衡量样本变化所产生的偏移量的一种重要指标,通常用于衡量样本的稳定程度。
背景信息
样本稳定指数(PSI)通常用于衡量样本的稳定程度。例如样本在两个月份之间的变化是否稳定,如果变量的PSI值小于0.1,则表示变化不太显著。如果PSI值在0.1到0.25之间,则表示有比较显著的变化。如果PSI值大于0.25,则表示变量变化比较剧烈,需要特殊关注。
通过画图的方法可以衡量样本在不同时刻的稳定性,即将待比较的变量离散化成N个分箱,然后计算样本分别在各个分箱中的数量及比例,并以柱状图的形式呈现出来,如下图所示。该方法可以直观地查看某个变量在两批样本上是否有剧烈的变化,但是无法量化,从而无法实现对样本稳定性的自动监控。因此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计算的结果如下图所示。