Main Content

ecdf

データ ドリフト検出用に指定されたベースライン データとターゲット データの経験的累積分布関数 (ecdf) を計算

R2022a 以降

    説明

    E = ecdf(DDiagnostics) は、関数 detectdrift の呼び出しでドリフト検出用に指定されたすべての変数についての ecdf 値が格納された table E を返します。

    ecdf は、カテゴリカル変数に対しては NaN 値を返します。

    E = ecdf(DDiagnostics,Variables=variables) は、variables で指定された変数についての table E を返します。

    すべて折りたたむ

    2 つの変数をもつベースライン データとターゲット データを生成します。ターゲット データで 2 つ目の変数の分布パラメーターを変化させます。

    rng('default') % For reproducibility
    baseline = [normrnd(0,1,100,1),wblrnd(1.1,1,100,1)];
    target = [normrnd(0,1,100,1),wblrnd(1.2,2,100,1)];

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

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

    すべての変数について ecdf 値を計算します。

    E = ecdf(DDiagnostics)
    E=2×3 table
                    x             F_Baseline         F_Target   
              ______________    ______________    ______________
    
        x1    {201×1 double}    {201×1 double}    {201×1 double}
        x2    {201×1 double}    {201×1 double}    {201×1 double}
    
    

    E は 2 行 3 列の table です。2 つの行は 2 つの変数 x1x2 に対応します。それぞれの変数について、ecdf はベースライン データとターゲット データの ecdf 値を共通領域で計算します。x 列に各変数の共通領域、F_Baseline 列にベースライン データの ecdf 値、F_Target 列にターゲット データの ecdf 値が格納されます。

    ベースライン データの変数 2 についての ecdf 値にアクセスします。

    E.F_Baseline{2}
    ans = 201×1
    
             0
        0.0100
        0.0100
        0.0200
        0.0300
        0.0400
        0.0500
        0.0600
        0.0700
        0.0800
          ⋮
    
    

    ベースライン データとターゲット データの変数 x2 についての ecdf 値をプロットします。

    stairs(E.x{2},E.F_Baseline{2},LineWidth=1.5)
    hold on
    stairs(E.x{2},E.F_Target{2},LineWidth=1.5)
    title('ECDF for x2')
    xlabel('x2')
    ylabel('Empirical CDF')
    legend('Baseline','Target',Location='east')
    hold off

    ecdf 値のプロットに、ターゲット データの分布のドリフトも表示されます。

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

    load humanactivity

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

    最初の 1000 個の観測値をベースライン データとして割り当て、次の 1000 個をターゲット データとして割り当てます。

    baseline = feat(1:1000,:);
    target = feat(1001:2000,:);

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

    DDiagnostics = detectdrift(baseline,target);

    最初の 5 つの変数のみについて ecdf 値を計算します。

    E = ecdf(DDiagnostics,Variables=[1:5])
    E=5×3 table
                     x             F_Baseline          F_Target    
              _______________    _______________    _______________
    
        x1    {2001×1 double}    {2001×1 double}    {2001×1 double}
        x2    {2001×1 double}    {2001×1 double}    {2001×1 double}
        x3    {2001×1 double}    {2001×1 double}    {2001×1 double}
        x4    {2001×1 double}    {2001×1 double}    {2001×1 double}
        x5    {2001×1 double}    {2001×1 double}    {2001×1 double}
    
    

    ベースライン データの 3 つ目の変数についての ecdf 値にアクセスします。

    E.F_Baseline{3}
    ans = 2001×1
    
             0
             0
             0
             0
             0
             0
        0.0010
        0.0020
        0.0030
        0.0040
          ⋮
    
    

    ベースライン データとターゲット データの変数 x3 についての ecdf 値をプロットします。

    stairs(E.x{3},E.F_Baseline{3},LineWidth=1.5)
    hold on
    stairs(E.x{3},E.F_Target{3},LineWidth=1.5)
    title('ECDF for x3')
    xlabel('x3')
    ylabel('Empirical CDF')
    legend('Baseline','Target',Location = 'southeast')
    hold off

    ecdf のプロットに、ターゲット データの変数 x3 についてのドリフトが表示されます。

    入力引数

    すべて折りたたむ

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

    ecdf 値を計算する変数のリスト。string 配列、文字ベクトルの cell 配列、または整数インデックスのリストとして指定します。

    例: Variables=["x1","x3"]

    例: Variables=(1,3)

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

    出力引数

    すべて折りたたむ

    detectdrift の呼び出しでドリフト検出用に指定されたすべての変数についての ecdf 値。次の列をもつ table として返されます。

    列名説明
    x経験的 cdf を評価する共通領域
    F_Baselineベースライン データの ecdf 値
    F_Targetターゲット データの ecdf 値

    それぞれの変数について、E の各列に x と ecdf 値が cell 配列として格納されます。値にアクセスするには、インデックスを指定して table を参照できます。たとえば、ベースライン データの 2 つ目の変数についての ecdf 値を取得するには、E.F_Baseline{2,1} を使用します。

    バージョン履歴

    R2022a で導入