Main Content

histcounts

ドリフト検出用のベースライン データとターゲット データの指定した変数についてヒストグラムのビンのカウント数を計算

R2022a 以降

    説明

    H = histcounts(DDiagnostics) は、関数 detectdrift の呼び出しでドリフト検出用に指定されたすべての変数についてのヒストグラムのビンのカウント数を table H に返します。

    H = histcounts(DDiagnostics,Variables=variables) は、variables で指定された変数についてのビンのカウント数を返します。

    すべて折りたたむ

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

    すべての変数について、ヒストグラムのビンのカウント数を計算します。

    H = histcounts(DDiagnostics)
    H=2×3 table
                                                     Bins                                                         Counts_Baseline                                 Counts_Target               
              __________________________________________________________________________________    ____________________________________________    __________________________________________
    
        x1    {[-3.5000 -3 -2.5000 -2 -1.5000 -1 -0.5000 0 0.5000 1 1.5000 2 2.5000 3 3.5000 4]}    {[0 1 1 3 14.0000 11 17 17 15 11 5 1 2 1 1]}    {[1 0 2 6 7.0000 13 22 24 11 8 4 2 0 0 0]}
        x2    {[                       0 0.5000 1 1.5000 2 2.5000 3 3.5000 4 4.5000 5 5.5000 6]}    {[        33 23 14.0000 11 8 6 3 0 0 1 0 1]}    {[      13 32 29.0000 20 6 0 0 0 0 0 0 0]}
    
    

    H は 3 列の table です。histcounts はデータをビンに分割し、共通のビンでベースライン データとターゲット データの変数についてヒストグラムのビンのカウント数を計算します。1 行目と 2 行目には、それぞれ変数 x1x2 のビンとカウント数が格納されます。

    1 つ目の変数についてのベースライン データにおけるヒストグラムのビンのカウント数にアクセスします。

    H.Counts_Baseline{1}
    ans = 1×15
    
             0    1.0000    1.0000    3.0000   14.0000   11.0000   17.0000   17.0000   15.0000   11.0000    5.0000    1.0000    2.0000    1.0000    1.0000
    
    

    変数 1 についてのベースライン データの確率密度関数 (pdf) 推定値 (各ビンのデータの割合) をプロットします。

    histogram(BinEdges=H.Bins{1},BinCounts=H.Counts_Baseline{1},Normalization='probability')

    関数 plotHistogram を使用して、変数 1 についてのベースライン データとターゲット データのヒストグラムをプロットすることもできます。

    plotHistogram(DDiagnostics,Variable=1)

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

    load humanactivity

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

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

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

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

    DDiagnostics = detectdrift(baseline,target);

    最初の 5 つの変数のみについてヒストグラムのビンのカウント数を計算します。

    H = histcounts(DDiagnostics,Variables=(1:5))
    H=5×3 table
                                                                                    Bins                                                                                                      Counts_Baseline                                                                           Counts_Target                                            
              _________________________________________________________________________________________________________________________________________________    ______________________________________________________________________    ____________________________________________________________________________________________________
    
        x1    {[                                                             -0.2000 -0.1000 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000]}    {[                                 0 0 0 0 0 0 0 0 0 85.9000 14.1000]}    {[                                 12.4000 76.6000 2.1000 0 0 0 0.1000 0.1000 0.1000 0.1000 8.5000]}
        x2    {[                                            -0.3000 -0.2000 -0.1000 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1 1.1000]}    {[                      0 0 0 0 0 9.9000 24 0.3000 65.8000 0 0 0 0 0]}    {[                           0.1000 0 0.1000 0.1000 0.1000 8.2000 0.3000 0 0 0 0 0 53.8000 37.3000]}
        x3    {[         -0.6000 -0.5500 -0.5000 -0.4500 -0.4000 -0.3500 -0.3000 -0.2500 -0.2000 -0.1500 -0.1000 -0.0500 0 0.0500 0.1000 0.1500 0.2000 0.2500]}    {[0 19.9000 13.6000 0.3000 0.3000 0.2000 65.7000 0 0 0 0 0 0 0 0 0 0]}    {[0.1000 0.4000 8.4000 0 0 0 0 0 12.9000 4.1000 0.3000 0.2000 0.4000 8.5000 49.1000 2.7000 12.9000]}
        x4    {[0 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 0.1600 0.1700 0.1800 0.1900 0.2000]}    {[     0 0 0 0 0 0 0 0 0 0 65.6000 33.9000 0.4000 0.1000 0 0 0 0 0 0]}    {[     34.5000 55.7000 0.9000 0 0 0 0 0 0 0 0 7.4000 0.5000 0.2000 0.3000 0 0.1000 0.3000 0 0.1000]}
        x5    {[                                     0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 0.1600 0.1700]}    {[                 0.3000 33.1000 0 0 0.3000 66 0.3000 0 0 0 0 0 0 0]}    {[                       0 7.5000 0.5000 0.1000 0 0 0 0.1000 0.1000 0 0.2000 91.1000 0.2000 0.2000]}
    
    

    2 つ目の変数についてのターゲット データにおけるヒストグラムのビンのカウント数にアクセスします。

    H.Counts_Target{2}
    ans = 1×14
    
        0.1000         0    0.1000    0.1000    0.1000    8.2000    0.3000         0         0         0         0         0   53.8000   37.3000
    
    

    入力引数

    すべて折りたたむ

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

    ヒストグラムのビンのカウント数を計算する変数のリスト。string 配列、文字ベクトルの cell 配列、または整数インデックスのリストとして指定します。

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

    例: Variables=(1,3)

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

    出力引数

    すべて折りたたむ

    ヒストグラムのビンのカウント数。次の列をもつ table として返されます。

    列名説明
    Bins

    変数についてヒストグラムのビンのカウント数を評価する共通領域。

    • カテゴリカル変数の場合、Bins にはカテゴリが含まれます。

    • 連続変数の場合、Bins にはビンのエッジが含まれます。

    Counts_Baseline対応する変数についてのベースライン データにおけるヒストグラムのビンのカウント数
    Counts_Target対応する変数についてのターゲット データにおけるヒストグラムのビンのカウント数

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

    アルゴリズム

    • categorical データの場合、detectdrift は、空のビン (カテゴリ) を処理するために各ビンのヒストグラムのビンのカウント数に 0.5 の補正係数を追加します。これは、パラメーター p (変数の値がそのカテゴリに含まれる確率) が事前分布 Beta(0.5,0.5) をもつという仮定 (分布パラメーターに関するジェフリーズ事前分布の仮定) と同等です。

    • histcounts は、次の場合に、可視化を目的として変数を順序変数として扱います。

      • ベースライン データまたはターゲット データの変数に順序があり、ベースライン データとターゲット データの両方のカテゴリが同じである。

      • ベースライン データまたはターゲット データの変数に順序があり、他方のデータ セットのカテゴリが順序データのサブセットである。

      • ベースライン データとターゲット データの両方の変数に順序があり、一方のデータ セットのカテゴリが他方のサブセットである。

    • 変数に順序がある場合、histcounts はビンの名前の順序を保持します。

    バージョン履歴

    R2022a で導入