ドリフトの検出

ライブラリ:
Statistics and Machine Learning Toolbox /
Incremental Learning /
Drift Detection
説明
Detect Drift ブロックは、新しいデータが与えられると、ドリフト検出器の内部の統計量とドリフト ステータスを更新します。
オブジェクトを含むワークスペース変数の名前を指定することにより、初期化されたインクリメンタルな概念ドリフト検出器オブジェクト (incrementalConceptDriftDetector) をブロックにインポートします。入力端子 x は、ドリフトを評価するデータ ストリームを受け取ります。入力端子 reset は、ドリフト検出器の内部状態をリセットする信号を受け取ります。出力端子 IsWarm は、ドリフト検出器がウォームであるかどうか、つまりドリフト ステータスを追跡するかどうかを示す値を返します。出力端子 status は、現在のドリフト ステータスを返します。オプションの入力端子 w は、観測値の重みを受け取ります。
例
Monitor Drift Using Detect Drift Block
Use the ドリフトの検出 block for monitoring drift in a data stream in Simulink®. The block detects drift in an input datastream using a configured incremental concept drift detector (incrementalConceptDriftDetector) and outputs the drift status. The sample reset logic provided with the example enables the block to reset the internal statistics of the drift detector upon detecting a drift in the data.
- R2024b 以降
- ライブ スクリプトを開く
端子
入力
入力データ。"n" 行 1 列の数値ベクトル、または logical ベクトルとして指定します。ここで、"n" は観測値の数です。モデルの初期化時は次のようになります。
incrementalConceptDriftDetectorの呼び出しでInputTypeの値が"continuous"の場合、x は数値ベクトルでなければなりません。incrementalConceptDriftDetectorの呼び出しでInputTypeの値が"binary"の場合、x は logical ベクトルにすることができます。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
リセット信号。0 (false)、1 (true)、または数値スカラーとして指定します。reset 信号が正の (0 より大きい) スカラーの場合、ドリフト検出器は、PreviousDriftStatus や DriftStatus など、incrementalConceptDriftDetector の内部状態をリセットします。データ内でドリフトが検出されると、ブロックはユーザー定義のリセット ロジック サブシステムを使用して検出器をリセットします。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
観測値の重み。数値ベクトルとして指定します。ドリフトの検出 ブロックは、x に含まれている観測値に w の対応する値で重みを付けます。w のサイズは x の観測値の数と等しくなければなりません。
観測値の重みは、指数加重移動平均を使用する Hoeffding 境界のドリフト検出法 (HDDMW) に対しては指定できません。観測値の重みを使用するには、incrementalConceptDriftDetector の呼び出しで DetectionMethod を "ddm" または "hddma" として指定します。
依存関係
この端子を有効にするには、[ブロック パラメーター] ダイアログ ボックスの [メイン] タブで [観測値の重みの入力端子を追加] のチェック ボックスをオンにします。
データ型: single | double
出力
Detect Drift ブロックがドリフト ステータスを追跡するかどうかを示すフラグ。logical 0 (false) または 1 (true) として返されます。
| 値 | 説明 |
|---|---|
1 (true) | incrementalConceptDriftDetector オブジェクトがウォームです。したがって、ブロックは信号出力でドリフト ステータスを追跡します。 |
0 (false) | incrementalConceptDriftDetector オブジェクトがウォームではありません。したがって、ブロックは内部の統計量の更新のみを行い、ドリフト ステータスは追跡しません。 |
データ型: Boolean
現在のドリフト ステータス。0 (安定、ドリフトなし)、1 (ドリフトの警告)、または 2 (ドリフトを検出) として指定されます。
データ型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブにある [準備] ギャラリーで [プロパティ インスペクター] を選択します。
メイン
構成済みの incrementalConceptDriftDetector オブジェクトを含むワークスペース変数の名前を指定します。
プログラムでの使用
ブロック パラメーター: DriftDetector |
| 型: 文字ベクトルまたは string |
値: incrementalConceptDriftDetector オブジェクトの名前 |
既定の設定: "IncCDDetector" |
チェック ボックスをオンにすると、ドリフトの検出 ブロックに観測値の重み用の入力端子 "w" が追加されます。
プログラムでの使用
ブロック パラメーター: ShowInputWeights |
| 型: 文字ベクトル |
値: "off" | "on" |
既定の設定: "off" |
サンプル時間のヒット間の離散間隔を指定するか、連続 (0) や継承 (–1) など、別のタイプのサンプル時間を指定します。その他のオプションについては、サンプル時間のタイプ (Simulink)を参照してください。
既定では、ドリフトの検出 ブロックはモデル内の前後関係に基づいてサンプル時間を継承します。
プログラムでの使用
ブロック パラメーター: SystemSampleTime |
| 型: string スカラーまたは文字ベクトル |
| 値: スカラー |
既定: "–1" |
データ型
固定小数点が使用可能なパラメーター
固定小数点演算の丸めモードを指定します。詳細については、丸めモード (Fixed-Point Designer)を参照してください。
ブロック パラメーターは常に、最も近い表現可能な値に丸められます。ブロック パラメーターの丸めを制御するには、マスク フィールドに MATLAB® の丸め関数を使用して式を入力します。
プログラムでの使用
ブロック パラメーター: RndMeth |
| 型: 文字ベクトル |
値: "Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero" |
既定の設定: "Floor" |
オーバーフローの際に飽和するか折り返すかを指定します。
| アクション | 理由 | オーバーフローの際の影響 | 例 |
|---|---|---|---|
このチェック ボックスをオンにする ( | モデルにオーバーフローの可能性があり、生成されたコードで明示的な飽和保護が必要である。 | オーバーフローの際は、データ型が表現できる最小値または最大値に飽和します。 | データ型 |
このチェック ボックスをオフにする ( | 生成されたコードの効率を最適化したい。 ブロックが範囲外の信号を処理する方法を過剰指定したくない。詳細については、信号範囲のエラーのトラブルシューティング (Simulink)を参照してください。 | オーバーフローの際は、データ型が表現できる適切な値で折り返します。 | データ型 |
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
| 型: 文字ベクトル |
値: "off" | "on" |
既定の設定: "off" |
このパラメーターを選択して、ブロックに指定したデータ型を固定小数点ツールがオーバーライドしないようにします。詳細については、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーター: LockScale |
| 型: 文字ベクトル |
値: "off" | "on" |
既定の設定: "off" |
データ型
ドリフト "status" 出力のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。
[Inherit: auto] を選択すると、ブロックはデータ型を継承するルールを使用します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン
をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: DriftStatusDataTypeStr |
| 型: 文字ベクトルまたは string |
値: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>" |
既定の設定: "Inherit: auto"
|
Simulink がチェックするドリフト "status" の範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: DriftStatusOutMin |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Simulink がチェックするドリフト "status" の範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: DriftStatusOutMax |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
平均 (入力観測値の移動平均) のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン
をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: MeanDataTypeStr |
| 型: 文字ベクトルまたは string |
値: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>" |
既定の設定: "Inherit: auto"
|
Simulink がチェックする平均の範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: MeanOutMin |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Simulink がチェックする平均の範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: MeanOutMax |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
分散 (入力観測値の移動分散) のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン
をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: VarianceDataTypeStr |
| 型: 文字ベクトルまたは string |
値: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>" |
既定の設定: "Inherit: auto"
|
Simulink がチェックする分散の範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: VarianceOutMin |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Simulink がチェックする分散の範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: VarianceOutMax |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
重み合計 (重み付き入力観測値の移動合計) のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType のようにデータ型オブジェクトとして表現することができます。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン
をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: WeightsSumDataTypeStr |
| 型: 文字ベクトルまたは string |
値: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>" |
既定の設定: "Inherit: auto"
|
Simulink がチェックする重み合計の範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: WeightsSumOutMin |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Simulink がチェックする重み合計の範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細については、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
プログラムでの使用
ブロック パラメーター: WeightsSumOutMax |
| 型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2024b で導入
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)
