PSI は、2 つのサンプル間の分布差を測定し、時間の経過や環境間でのモデルの安定性を監視します。これにより、データシフトやデータドリフトを特定し、モデルのメンテナンスや更新に役立つ情報を提供します。
仕組み
PSI はサンプルの安定性を測定します。たとえば、ある変数の分布が 2 ヶ月間で安定しているかどうかを判断できます。PSI 値が 0.1 未満の場合は変化が小さく、0.1 から 0.25 の間の場合は中程度の変化を示し、0.25 を超える場合は注意を要する大きな変化を示唆します。
データをプロットすることで、サンプルの安定性を視覚的に評価できます。変数を N 個のビンに離散化し、各ビン内のサンプルの数と割合を計算し、その結果を次の図に示すように縦棒グラフで可視化します。
この方法は、2 つのサンプル間で変数の大幅な変化を直感的に確認する方法を提供しますが、定量的ではなく、自動化された安定性モニタリングには使用できません。この目的のためには PSI が不可欠です。PSI の計算式は以下の通りです。
コンポーネントの設定
方法 1:ビジュアルインターフェースの使用
ビジュアルモデリングのパイプラインで、[人口安定性指標 (PSI)] コンポーネントを追加し、右側のパネルでそのパラメーターを設定します。
|
パラメータータイプ |
パラメーター |
説明 |
|
フィールド設定 |
PSI 計算用の特徴量 |
PSI 計算用の特徴量列。 |
|
チューニング |
コア数 |
使用する CPU コアの数。デフォルトでは、システムがこのリソースを自動的に割り当てます。 |
|
メモリサイズ |
各 CPU コアのメモリサイズ。デフォルトでは、システムがこのリソースを自動的に割り当てます。 |
方法 2:PAI コマンドの使用
Platform for AI (PAI) コマンドを使用して、[人口安定性指標 (PSI)] コンポーネントのパラメーターを設定します。PAI コマンドは SQL スクリプトコンポーネントで実行できます。詳細については、「SQL スクリプト」をご参照ください。
PAI -name psi
-project algo_public
-DinputBaseTableName=psi_base_table
-DinputTestTableName=psi_test_table
-DoutputTableName=psi_metric_table
-DinputBinTableName=pai_index_table
-DfeatureColNames=fea1,fea2,fea3
-Dlifecycle=7
|
パラメーター |
必須 |
デフォルト |
説明 |
|
inputBaseTableName |
はい |
なし |
入力ベーステーブルの名前。コンポーネントは、このベーステーブルに対するテストテーブルのシフトを測定します。 |
|
inputBaseTablePartitions |
いいえ |
すべてのパーティション |
入力ベーステーブルのパーティション。 |
|
inputTestTableName |
はい |
なし |
入力テストテーブルの名前。コンポーネントは、このテストテーブルのベーステーブルに対するシフトを計算します。 |
|
inputTestTablePartitions |
いいえ |
すべてのパーティション |
入力テストテーブルのパーティション。 |
|
inputBinTableName |
はい |
なし |
入力ビニング結果テーブルの名前。 |
|
featureColNames |
いいえ |
すべての列 |
PSI 計算用の特徴量列。 |
|
outputTableName |
はい |
なし |
出力メトリックテーブルの名前。 |
|
lifecycle |
いいえ |
なし |
出力テーブルのライフサイクル。 |
|
coreNum |
いいえ |
システム割り当て |
使用する CPU コアの数。 |
|
memSizePerCore |
いいえ |
システム割り当て |
各 CPU コアのメモリサイズ (MB 単位)。 |
例
PSI を計算する前に、ビニングコンポーネントを使用して特徴量データをビニングする必要があります。次の図に示すように、人口安定性指標 (PSI) コンポーネントは、比較用の 2 つのサンプルデータセットとビニングコンポーネントに接続されています。計算を実行するには、[PSI 計算用の特徴量] パラメーターを設定するだけです。

PSI の計算結果は、モデルレポートに詳しく記載されます。レポートには、各特徴の PSI 値とビニングの詳細が、展開可能な階層テーブルに表示されます。列は [特徴]、[ビン]、[Test %]、[Base %]、[Test - Base]、[ln(Test/Base)]、[PSI] です。たとえば、age 特徴の PSI は 0.0475 (7 個のビンを含む)、menopause 特徴の PSI は 0.0588 (6 個のビンを含む)、tumor_size 特徴の PSI は 0.0409 です。各特徴の行を展開して、各ビンが全体の PSI にどのように寄与しているかを確認できます。