histcounts
説明
は、関数 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 行目には、それぞれ変数 x1
と x2
のビンとカウント数が格納されます。
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
入力引数
DDiagnostics
— ドリフト検出用の並べ替え検定の診断
DriftDiagnostics
オブジェクト
ドリフト検出用の並べ替え検定の診断。detectdrift
から返される DriftDiagnostics
オブジェクトとして指定します。
variables
— 変数のリスト
string 配列 | 文字ベクトルの cell 配列 | 整数インデックス
ヒストグラムのビンのカウント数を計算する変数のリスト。string 配列、文字ベクトルの cell 配列、または整数インデックスのリストとして指定します。
例: Variables=["x1","x3"]
例: Variables=(1,3)
データ型: single
| double
| char
| string
出力引数
H
— ヒストグラムのビンのカウント数
テーブル
ヒストグラムのビンのカウント数。次の列をもつ table として返されます。
列名 | 説明 |
---|---|
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 で導入
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)