樣本穩定指數(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計算的結果如下圖所示。