Main Content

plotEmpiricalCDF

データ ドリフト検出用に指定された変数についての経験的累積分布関数 (ecdf) をプロット

R2022a 以降

    説明

    plotEmpiricalCDF(DDiagnostics) は、p 値が最も低い連続変数についてのベースライン データとターゲット データの ecdf 値をプロットします。データに連続変数が含まれていない場合、plotEmpiricalCDF はプロットを生成せず、代わりに警告を返します。

    detectdrift の呼び出しで EstimatePValues の値を false に設定した場合、plotEmpiricalCDF は p 値とドリフト ステータスについて NaN を表示します。

    plotEmpiricalCDF(DDiagnostics,Variable=variable) は、variable で指定された変数についての ecdf をプロットします。

    plotEmpiricalCDF(ax,___) は、上記の構文におけるいずれかの入力引数の組み合わせを使用して、gca ではなく ax の座標軸にプロットします。

    St = plotEmpiricalCDF(___) は、ecdf をプロットし、Stair オブジェクトの配列 St を返します。これは、オブジェクトのプロパティを調べたり変更したりするために使用します。詳細については、Stair のプロパティ を参照してください。

    すべて折りたたむ

    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)];

    すべての変数についての並べ替え検定を実行して、ベースライン データとターゲット データの間のドリフトを調べます。

    DDiagnostics = detectdrift(baseline,target)
    DDiagnostics = 
      DriftDiagnostics
    
                  VariableNames: ["x1"    "x2"    "x3"]
           CategoricalVariables: []
                    DriftStatus: ["Stable"    "Drift"    "Warning"]
                        PValues: [0.3850 0.0050 0.0910]
            ConfidenceIntervals: [2×3 double]
        MultipleTestDriftStatus: "Drift"
                 DriftThreshold: 0.0500
               WarningThreshold: 0.1000
    
    
      Properties, Methods
    
    

    "p" 値が最も低い変数についての ecdf をプロットします。

    plotEmpiricalCDF(DDiagnostics)

    既定では、plotEmpiricalCDF は、"p" 値が最も低い変数についてのベースライン データとターゲット データの ecdf をプロットします。この例では x2 です。2 つの経験的累積分布関数の差異を確認できます。変数 x2"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)];

    すべての変数についての並べ替え検定を実行して、ベースライン データとターゲット データの間のドリフトを調べます。

    DDiagnostics = detectdrift(baseline,target)
    DDiagnostics = 
      DriftDiagnostics
    
                  VariableNames: ["x1"    "x2"    "x3"]
           CategoricalVariables: []
                    DriftStatus: ["Stable"    "Drift"    "Warning"]
                        PValues: [0.3850 0.0050 0.0910]
            ConfidenceIntervals: [2×3 double]
        MultipleTestDriftStatus: "Drift"
                 DriftThreshold: 0.0500
               WarningThreshold: 0.1000
    
    
      Properties, Methods
    
    

    3 つ目の変数についての ecdf をプロットします。

    plotEmpiricalCDF(DDiagnostics,Variable="x3")

    plotEmpiricalCDF により、ベースライン データとターゲット データの ecdf がプロットされます。指定した変数の推定 "p" 値とドリフト ステータスも表示されます。

    標本データを読み込みます。

    load humanactivity

    データ セットの詳細については、コマンド ラインで Description を入力してください。

    10 列目から 15 列目までについて、最初の 250 個の観測値をベースライン データとして割り当て、次の 250 個をターゲット データとして割り当てます。

    baseline = feat(1:250,10:15);
    target = feat(251:500,10:15);

    すべての変数についてドリフトを検定します。

    DDiagnostics = detectdrift(baseline,target)
    DDiagnostics = 
      DriftDiagnostics
    
                  VariableNames: ["x1"    "x2"    "x3"    "x4"    "x5"    "x6"]
           CategoricalVariables: []
                    DriftStatus: ["Drift"    "Stable"    "Stable"    "Drift"    "Stable"    "Warning"]
                        PValues: [1.0000e-03 0.5080 0.2370 1.0000e-03 0.5370 0.0820]
            ConfidenceIntervals: [2×6 double]
        MultipleTestDriftStatus: "Drift"
                 DriftThreshold: 0.0500
               WarningThreshold: 0.1000
    
    
      Properties, Methods
    
    

    変数 x4x6 のドリフト ステータスはそれぞれ DriftWarning です。x4x6 についての ecdf 値をタイル レイアウトでプロットします。

    tiledlayout(1,2);
    ax1 = nexttile;
    plotEmpiricalCDF(DDiagnostics,ax1,Variable="x4")
    ax2= nexttile;
    plotEmpiricalCDF(DDiagnostics,ax2,Variable="x6")

    変数 x4 の方がベースライン データとターゲット データの ecdf の差異が大きくなっています。変数 x4 について、関数 detectdrift でシフトが検出されます。

    入力引数

    すべて折りたたむ

    ドリフト検出用の並べ替え検定の診断。detectdrift から返される DriftDiagnostics オブジェクトとして指定します。

    ecdf をプロットする変数。string、文字ベクトル、または整数のインデックスとして指定します。

    例: Variable="x3"

    例: Variable=3

    データ型: single | double | char | string

    プロットに使用する座標軸。Axes オブジェクトまたは UIAxes オブジェクトとして指定します。ax を指定しない場合、plotEmpiricalCDF は、現在の座標軸を使用してプロットを作成します。axes オブジェクトを作成する方法の詳細については、axesuiaxes を参照してください。

    バージョン履歴

    R2022a で導入