DriftDiagnostics
説明
DriftDiagnostics オブジェクトには、関数 detectdrift でバッチ ドリフト検出用の並べ替え検定を実行した後に返される診断情報が格納されます。
作成
DriftDiagnostics オブジェクトは、detectdrift を使用してベースラインとターゲットのデータ セット間のドリフトを検定することで作成します。
プロパティ
この プロパティ は読み取り専用です。
ベースライン データ セット。数値配列、categorical 配列、または table として指定します。
データ型: double | categorical | table
この プロパティ は読み取り専用です。
データ内のカテゴリカル変数のインデックス。数値配列として指定します。データにカテゴリカル変数が含まれていない場合、このプロパティは空 ([]) になります。
データ型: double
この プロパティ は読み取り専用です。
変数の推定 p 値の 95% 信頼区間の範囲。0 から 1 までの正のスカラー値の 2 行 k 列の行列として指定します。ここで、k は変数の数です。ConfidenceIntervals の行は信頼区間の下限と上限にそれぞれ対応します。
detectdrift の呼び出しで EstimatePValues を false に設定した場合、関数で信頼区間の範囲は計算されません。この場合、ConfidenceIntervals プロパティには NaN が格納されます。
データ型: double
この プロパティ は読み取り専用です。
各変数のドリフト ステータス。次の表に示す可能な値を含む string 配列として指定します。
| ドリフト ステータス | 条件 |
|---|---|
| Drift | Upper < DriftThreshold |
| Warning | DriftThreshold < Lower < WarningThreshold または DriftThreshold < Upper < WarningThreshold |
| Stable | Lower > WarningThreshold |
Lower と Upper は、推定 p 値の信頼区間の下限と上限です。
データ型: string
この プロパティ は読み取り専用です。
ドリフト ステータスを判定するしきい値。0 から 1 までのスカラー値として指定します。推定 p 値の信頼区間の上限が DriftThreshold を下回っている場合、ドリフト ステータスは Drift になります。
データ型: double
この プロパティ は読み取り専用です。
detectdrift による並べ替え検定で各変数のベースライン データとターゲット データの間の差異を定量化するために使用されるメトリクスのリスト。string 配列として指定します。
データ型: string
この プロパティ は読み取り専用です。
対応する変数のメトリクス値。ドリフト検出用に指定された変数の数と等しい数の列をもつ行ベクトルとして指定します。各変数に対応するメトリクスは Metrics プロパティに格納されます。
データ型: double
この プロパティ は読み取り専用です。
多重仮説検定の補正。"Bonferroni" または "FalseDiscoveryRate" として指定します。
detectdrift の呼び出しで EstimatePValues を false に設定する場合、名前と値の変数 MultipleTestCorrection は設定しないでください。設定しても関数で無視されます。
データ型: string
この プロパティ は読み取り専用です。
MultipleTestCorrection の多重検定補正方法を使用して detectdrift で推定されるデータ全体についてのドリフト ステータス。"Drift"、"Warning"、または "Stable" として指定します。多重検定補正は、複数の変数について検定する場合のドリフト ステータスの保守的な推定を提供します。
detectdrift の呼び出しで EstimatePValues を false に設定した場合、関数で MultipleTestDriftStatus は取り込まれません。
データ型: string
この プロパティ は読み取り専用です。
変数のドリフト ステータスを判定するために各変数について detectdrift で実行される並べ替え検定の数。整数値の配列として指定します。
detectdrift の呼び出しで EstimatePValues を false に設定した場合、NumPermutations は指定されたベースライン データとターゲット データに対応する 1 の行ベクトルになります。メトリクス値は、ベースライン データとターゲット データを使用して計算した各変数の初期値です。
データ型: double
この プロパティ は読み取り専用です。
各変数についての並べ替え検定の結果。k 行 1 列の table として指定します。ここで、k は変数の数です。各行が 1 つの変数に対応し、その変数の順列の数と等しいサイズをもつメトリクス値のベクトルの 1 行 1 列の cell 配列が格納されます。たとえば、2 つ目の変数のメトリクス値にアクセスするには、DDiagnostics.PermutationResults{2,1}{1,1} を使用します。
detectdrift の呼び出しで EstimatePValues を false に設定した場合、PermutationResults には各変数の初期メトリクス値のみが格納されます。
検定結果は plotPermutationResults を使用して可視化できます。
データ型: table
この プロパティ は読み取り専用です。
各変数の推定 p 値。0 から 1 までのスカラー値のベクトルとして指定します。
detectdrift の呼び出しで EstimatePValues を false に設定した場合、PValues は NaN のベクトルになります。
データ型: double
この プロパティ は読み取り専用です。
ターゲット データ セット。数値配列、categorical 配列、または table として指定します。
データ型: single | double | categorical | table
この プロパティ は読み取り専用です。
detectdrift の呼び出しでドリフト検出用に指定された変数。string 配列として指定します。
データ型: string
この プロパティ は読み取り専用です。
警告ステータスを判定するしきい値。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 もプロットのタイトルの下に表示されます。
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 Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)