DriftDiagnostics
説明
DriftDiagnostics
オブジェクトには、関数 detectdrift
でバッチ ドリフト検出用の並べ替え検定を実行した後に返される診断情報が格納されます。
作成
DriftDiagnostics
オブジェクトは、detectdrift
を使用してベースラインとターゲットのデータ セット間のドリフトを検定することで作成します。
プロパティ
Baseline
— ベースライン データ セット
数値配列 | categorical 配列 | テーブル
この プロパティ は読み取り専用です。
ベースライン データ セット。数値配列、categorical 配列、または table として指定します。
データ型: double
| categorical
| table
CategoricalVariables
— データ内のカテゴリカル変数のインデックス
数値配列 | []
この プロパティ は読み取り専用です。
データ内のカテゴリカル変数のインデックス。数値配列として指定します。データにカテゴリカル変数が含まれていない場合、このプロパティは空 ([]
) になります。
データ型: double
ConfidenceIntervals
— 推定 p 値の 95% 信頼区間の範囲
0 から 1 までの正のスカラー値の 2 行の行列 | NaN
この プロパティ は読み取り専用です。
変数の推定 p 値の 95% 信頼区間の範囲。0 から 1 までの正のスカラー値の 2 行 k 列の行列として指定します。ここで、k は変数の数です。ConfidenceIntervals
の行は信頼区間の下限と上限にそれぞれ対応します。
detectdrift
の呼び出しで EstimatePValues
を false
に設定した場合、関数で信頼区間の範囲は計算されません。この場合、ConfidenceIntervals
プロパティには NaN
が格納されます。
データ型: double
DriftStatus
— 各変数のドリフト ステータス
string 配列
この プロパティ は読み取り専用です。
各変数のドリフト ステータス。次の表に示す可能な値を含む string 配列として指定します。
ドリフト ステータス | 条件 |
---|---|
Drift | Upper < DriftThreshold |
Warning | DriftThreshold < Lower < WarningThreshold または DriftThreshold < Upper < WarningThreshold |
Stable | Lower > WarningThreshold |
Lower と Upper は、推定 p 値の信頼区間の下限と上限です。
データ型: string
DriftThreshold
— ドリフト ステータスを判定するしきい値
0 から 1 までのスカラー値
この プロパティ は読み取り専用です。
ドリフト ステータスを判定するしきい値。0 から 1 までのスカラー値として指定します。推定 p 値の信頼区間の上限が DriftThreshold
を下回っている場合、ドリフト ステータスは Drift
になります。
データ型: double
Metrics
— メトリクスのリスト
string 配列
この プロパティ は読み取り専用です。
detectdrift
による並べ替え検定で各変数のベースライン データとターゲット データの間の差異を定量化するために使用されるメトリクスのリスト。string 配列として指定します。
データ型: string
MetricValues
— 変数のメトリクス値
行ベクトル
この プロパティ は読み取り専用です。
対応する変数のメトリクス値。ドリフト検出用に指定された変数の数と等しい数の列をもつ行ベクトルとして指定します。各変数に対応するメトリクスは Metrics
プロパティに格納されます。
データ型: double
MultipleTestCorrection
— 多重仮説検定の補正
"Bonferroni"
| "FalseDiscoveryRate"
この プロパティ は読み取り専用です。
多重仮説検定の補正。"Bonferroni"
または "FalseDiscoveryRate"
として指定します。
detectdrift
の呼び出しで EstimatePValues
を false
に設定する場合、名前と値の変数 MultipleTestCorrection
は設定しないでください。設定しても関数で無視されます。
データ型: string
MultipleTestDriftStatus
— データ全体のドリフト ステータス
"Drift"
| "Warning"
| "Stable"
この プロパティ は読み取り専用です。
MultipleTestCorrection
の多重検定補正方法を使用して detectdrift
で推定されるデータ全体についてのドリフト ステータス。"Drift"
、"Warning"
、または "Stable"
として指定します。多重検定補正は、複数の変数について検定する場合のドリフト ステータスの保守的な推定を提供します。
detectdrift
の呼び出しで EstimatePValues
を false
に設定した場合、関数で MultipleTestDriftStatus
は取り込まれません。
データ型: string
NumPermutations
— 各変数について実行される並べ替え検定の数
整数値の配列
この プロパティ は読み取り専用です。
変数のドリフト ステータスを判定するために各変数について detectdrift
で実行される並べ替え検定の数。整数値の配列として指定します。
detectdrift
の呼び出しで EstimatePValues
を false
に設定した場合、NumPermutations
は指定されたベースライン データとターゲット データに対応する 1 の行ベクトルになります。メトリクス値は、ベースライン データとターゲット データを使用して計算した各変数の初期値です。
データ型: double
PermutationResults
— 各変数についての並べ替え検定の結果
テーブル
この プロパティ は読み取り専用です。
各変数についての並べ替え検定の結果。k 行 1 列の table として指定します。ここで、k は変数の数です。各行が 1 つの変数に対応し、その変数の順列の数と等しいサイズをもつメトリクス値のベクトルの 1 行 1 列の cell 配列が格納されます。たとえば、2 つ目の変数のメトリクス値にアクセスするには、DDiagnostics.PermutationResults{2,1}{1,1}
を使用します。
detectdrift
の呼び出しで EstimatePValues
を false
に設定した場合、PermutationResults
には各変数の初期メトリクス値のみが格納されます。
検定結果は plotPermutationResults
を使用して可視化できます。
データ型: table
PValues
— 各変数の推定 p 値
0 から 1 までのスカラー値のベクトル
この プロパティ は読み取り専用です。
各変数の推定 p 値。0 から 1 までのスカラー値のベクトルとして指定します。
detectdrift
の呼び出しで EstimatePValues
を false
に設定した場合、PValues
は NaN
のベクトルになります。
データ型: double
Target
— ターゲット データ セット
数値配列 | categorical 配列 | テーブル
この プロパティ は読み取り専用です。
ターゲット データ セット。数値配列、categorical 配列、または table として指定します。
データ型: single
| double
| categorical
| table
VariableNames
— ドリフト検出用に指定された変数
string 配列
この プロパティ は読み取り専用です。
detectdrift
の呼び出しでドリフト検出用に指定された変数。string 配列として指定します。
データ型: string
WarningThreshold
— 警告ステータスを判定するしきい値
0 から 1 までのスカラー値
この プロパティ は読み取り専用です。
警告ステータスを判定するしきい値。0 から 1 までのスカラー値として指定します。
データ型: double
オブジェクト関数
ecdf | データ ドリフト検出用に指定されたベースライン データとターゲット データの経験的累積分布関数 (ecdf) を計算 |
histcounts | ドリフト検出用のベースライン データとターゲット データの指定した変数についてヒストグラムのビンのカウント数を計算 |
plotDriftStatus | データ ドリフトを検定した変数についての p 値と信頼区間をプロット |
plotEmpiricalCDF | データ ドリフト検出用に指定された変数についての経験的累積分布関数 (ecdf) をプロット |
plotHistogram | データ ドリフト検出用に指定された変数についてのヒストグラムをプロット |
plotPermutationResults | データ ドリフト検出用に指定された変数についての順列の結果のヒストグラムをプロット |
summary | DriftDiagnostics オブジェクトの概要テーブル |
例
ドリフト ステータスの検定と調査
標本データを読み込みます。
load humanactivity
データ セットの詳細については、コマンド ラインで Description
を入力してください。
1 番目から 15 番目までの変数について、最初の 250 個の観測値をベースライン データとして割り当て、次の 250 個をターゲット データとして割り当てます。
baseline = feat(1:250,1:15); target = feat(251:500,1:15);
すべての変数についてドリフトを検定します。
DDiagnostics = detectdrift(baseline,target);
検定結果の概要を表示します。
summary(DDiagnostics)
Multiple Test Correction Drift Status: Drift DriftStatus PValue ConfidenceInterval ___________ ______ ________________________ x1 "Drift" 0.001 2.5317e-05 0.0055589 x2 "Drift" 0.001 2.5317e-05 0.0055589 x3 "Drift" 0.001 2.5317e-05 0.0055589 x4 "Drift" 0.001 2.5317e-05 0.0055589 x5 "Drift" 0.001 2.5317e-05 0.0055589 x6 "Drift" 0.001 2.5317e-05 0.0055589 x7 "Drift" 0.001 2.5317e-05 0.0055589 x8 "Stable" 0.863 0.84012 0.88372 x9 "Stable" 0.726 0.69722 0.75344 x10 "Drift" 0.001 2.5317e-05 0.0055589 x11 "Stable" 0.496 0.46456 0.52746 x12 "Stable" 0.249 0.22247 0.27702 x13 "Drift" 0.001 2.5317e-05 0.0055589 x14 "Stable" 0.574 0.54267 0.60489 x15 "Warning" 0.094 0.076629 0.1138
ドリフト検出用に検定した各変数のドリフト ステータスと推定 "p" 値が概要テーブルに表示されます。"p" 値の 95% 信頼区間の範囲も表示されます。
変数 x10
~ x15
のドリフト ステータスをプロットします。
plotDriftStatus(DDiagnostics,Variables=(10:15))
変数 x13
と x15
についての ecdf 値を計算します。
E = ecdf(DDiagnostics,Variables=["x13","x15"])
E=2×3 table
x F_Baseline F_Target
______________ ______________ ______________
x13 {501×1 double} {501×1 double} {501×1 double}
x15 {501×1 double} {501×1 double} {501×1 double}
ecdf
で変数のベースライン データとターゲット データについての経験的累積分布関数を計算する共通領域が x に格納されます。x13
の共通領域にアクセスします。
E.x{1}
ans = 501×1
0.0420
0.0420
0.0423
0.0424
0.0424
0.0425
0.0425
0.0426
0.0426
0.0426
⋮
ベースライン データの x15
についての ecdf 値にアクセスします。
E.F_Baseline{2}
ans = 501×1
0
0
0.0040
0.0080
0.0080
0.0080
0.0080
0.0080
0.0120
0.0120
⋮
変数 x13
と x15
についての ecdf 値をプロットします。
tiledlayout(1,2) ax1 = nexttile; plotEmpiricalCDF(DDiagnostics,ax1,Variable="x13") ax2= nexttile; plotEmpiricalCDF(DDiagnostics,ax2,Variable="x15")
変数についての並べ替え検定の結果を可視化することもできます。変数 x13
の順列の結果をプロットします。
figure
plotPermutationResults(DDiagnostics,Variable="x13")
プロットにはメトリクスのしきい値も直線で示されます。並べ替え検定で取得されたメトリクス値のヒストグラムから、変数 x13 についてのベースライン データとターゲット データの分布が同じであれば、メトリクス値がしきい値を超える確率は非常に低くなることがわかります。推定 "p" 値 0.001 とドリフト ステータス Drift
もプロットのタイトルの下に表示されます。
"p" 値の推定なしのメトリクスの計算
3 つの変数をもつベースライン データとターゲット データを生成します。ターゲット データで 2 つ目と 3 つ目の変数の分布パラメーターを変化させます。
rng('default') % For reproducibility baseline = [normrnd(0,1,100,1),wblrnd(1.1,1,100,1),betarnd(1,2,100,1)]; target = [normrnd(0,1,100,1),wblrnd(1.2,2,100,1),betarnd(1.7,2.8,100,1)];
"p" 値を推定せずに、ベースライン データとターゲット データの間ですべての変数の初期メトリクスを計算します。
DDiagnostics = detectdrift(baseline,target,EstimatePValues=false)
DDiagnostics = DriftDiagnostics VariableNames: ["x1" "x2" "x3"] CategoricalVariables: [] Metrics: ["Wasserstein" "Wasserstein" "Wasserstein"] MetricValues: [0.2022 0.3468 0.0559] Properties, Methods
detectdrift
により、ベースライン データとターゲット データを使用して各変数の初期メトリクス値のみが計算されます。並べ替え検定および "p" 値の推定に関連付けられたプロパティについては、空になるか NaN
が格納されます。
summary(DDiagnostics)
MetricValue Metric ___________ _____________ x1 0.20215 "Wasserstein" x2 0.34676 "Wasserstein" x3 0.055922 "Wasserstein"
関数 summary
により、初期メトリクス値と指定した各変数に使用されるメトリクスのみが表示されます。
plotDriftStatus
と plotPermutationResults
では、"p" 値を推定せずにメトリクスを計算すると、プロットが生成されずに警告メッセージが返されます。plotEmpiricalCDF
と plotHistogram
では、既定では 1 つ目の変数についての ecdf とヒストグラムがそれぞれプロットされます。どちらの場合も、"p" 値および変数に関連付けられているドリフト ステータスについては NaN
が返されます。
plotEmpiricalCDF(DDiagnostics)
plotHistogram(DDiagnostics)
バージョン履歴
R2022a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)