Detect Drift
Actualizar estados de un detector de deriva y el estado de deriva con nuevos datos
Desde R2024b

Bibliotecas:
Statistics and Machine Learning Toolbox /
Incremental Learning /
Drift Detection
Descripción
El bloque Detect Drift actualiza las estadísticas internas y el estado de deriva de un detector de deriva cuando se proporcionan nuevos datos.
Importe un objeto de detector incremental de deriva del concepto inicializado (incrementalConceptDriftDetector) en el bloque especificando el nombre de una variable del área de trabajo que contenga el objeto. El puerto de entrada x recibe una secuencia de datos para la que se evalúa la deriva. El puerto de entrada reset recibe una señal que restablece los estados internos del detector de deriva. El puerto de salida IsWarm devuelve un valor que indica si se ha calentado el detector de deriva, lo que significa que sigue el estado de deriva. El puerto de salida status devuelve el estado de deriva actual. El puerto de entrada opcional w recibe ponderaciones de las observaciones.
Ejemplos
Monitor Drift Using Detect Drift Block
Use the Detect Drift 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.
- Desde R2024b
- Abrir script en vivo
Puertos
Entrada
Datos de entrada, especificados como vector numérico de n por 1, donde n es el número de observaciones, o como vector lógico. Durante la inicialización del modelo:
Si el valor
InputTypede la llamada aincrementalConceptDriftDetectores"continuous", x debe ser un vector numérico.Si el valor
InputTypede la llamada aincrementalConceptDriftDetectores"binary", x debe ser un vector lógico.
Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
Señal de restablecimiento, especificada como 0 (false) o 1 (true) o un escalar numérico. Cuando la señal reset es un escalar positivo (mayor que 0), el detector de deriva restablece los estados internos de incrementalConceptDriftDetector, incluidos PreviousDriftStatus y DriftStatus. Una vez que se detecta una deriva en los datos, el bloque restablece el detector utilizando un subsistema lógico de restablecimiento definido por el usuario.
Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
Ponderaciones de las observaciones, especificadas como vector numérico. El bloque Detect Drift pondera las observaciones de x con los valores correspondientes de w. El tamaño de w debe ser igual al número de observaciones de x.
No puede proporcionar ponderaciones de las observaciones para el método de detección de deriva basado en límites de Hoeffding utilizando medias móviles ponderadas exponencialmente (HDDMW). Para usar ponderaciones de las observaciones, especifique DetectionMethod como "ddm" o "hddma" en la llamada a incrementalConceptDriftDetector.
Dependencias
Para habilitar este puerto, seleccione la casilla Add input port for observation weights en la pestaña Main del cuadro de diálogo Block Parameters.
Tipos de datos: single | double
Salida
Indicador que muestra si el bloque Detect Drift sigue el estado de deriva, devuelto como 0 (false) o 1 (true) lógicos.
| Valor | Descripción |
|---|---|
1 (true) | El objeto incrementalConceptDriftDetector se ha calentado. Por consiguiente, el bloque sigue el estado de deriva de la salida de la señal. |
0 (false) | El objeto incrementalConceptDriftDetector no se ha calentado. Por consiguiente, el bloque solo actualiza las estadísticas internas y no sigue el estado de deriva. |
Tipos de datos: Boolean
Estado de deriva actual, especificado como 0 (estable o sin deriva), 1 (advertencia de deriva) o 2 (deriva detectada).
Tipos de datos: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
Parámetros
Para editar parámetros de bloque de forma interactiva, utilice Property Inspector. En la barra de herramientas de Simulink®, en la pestaña Simulation, en la galería Prepare, seleccione Property Inspector.
Principal
Especifique el nombre de una variable del área de trabajo que contenga el objeto incrementalConceptDriftDetector configurado.
Uso programático
Parámetro de bloque: DriftDetector |
| Tipo: vector de caracteres o cadena |
Valores: nombre del objeto incrementalConceptDriftDetector |
Valor predeterminado: "IncCDDetector" |
Seleccione la casilla de verificación para incluir el puerto de entrada w para las ponderaciones de las observaciones en el bloque Detect Drift.
Uso programático
Parámetro de bloque: ShowInputWeights |
| Tipo: vector de caracteres |
Valores: "off" | "on" |
Valor predeterminado: "off" |
Especifique el intervalo discreto entre momentos específicos de muestreo o especifique otro tipo de tiempo de muestreo, como continuo (0) o heredado (–1). Para ver más opciones, consulte Types of Sample Time (Simulink).
De forma predeterminada, el bloque Detect Drift hereda el tiempo de muestreo en función del contexto del bloque que se encuentra dentro del modelo.
Uso programático
Parámetro de bloque: SystemSampleTime |
| Tipo: escalar de cadena o vector de caracteres |
| Valores: escalar |
Valor predeterminado: "–1" |
Tipos de datos
Parámetros operativos de punto fijo
Especifique el modelo de redondeo para operaciones de punto fijo. Para obtener más información, consulte Rounding Modes (Fixed-Point Designer).
Los parámetros de bloque siempre se redondean al valor representable más cercano. Para controlar el redondeo de un parámetro de bloque, introduzca una expresión en el campo de máscara usando una función de redondeo de MATLAB®.
Uso programático
Parámetro de bloque: RndMeth |
| Tipo: vector de caracteres |
Valores: "Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero" |
Valor predeterminado: "Floor" |
Especifique si los desbordamientos saturan o se adaptan.
| Acción | Justificación | Impacto en los desbordamientos | Ejemplo |
|---|---|---|---|
Seleccionar esta casilla ( | Su modelo tiene un posible desbordamiento y quiere protección frente a saturación explícita en el código generado. | Los desbordamientos saturan el valor mínimo o máximo que el tipo de datos puede representar. | El valor máximo que el tipo de datos |
Desmarcar esta casilla ( | Desea optimizar la eficacia de su código generado. Quiere evitar explicar excesivamente cómo maneja un bloque las señales fuera de rango. Para obtener más información, consulte Troubleshoot Signal Range Errors (Simulink). | Los desbordes se adaptan al valor apropiado que el tipo de datos puede representar. | El valor máximo que el tipo de datos |
Uso programático
Parámetro de bloque: SaturateOnIntegerOverflow |
| Tipo: vector de caracteres |
Valores: "off" | "on" |
Valor predeterminado: "off" |
Seleccione este parámetro para evitar que las herramientas de punto fijo anulen el tipo de datos que especifica para el bloque. Para obtener más información, consulte Use Lock Output Data Type Setting (Fixed-Point Designer).
Uso programático
Parámetro de bloque: LockScale |
| Tipo: vector de caracteres |
Valores: "off" | "on" |
Valor predeterminado: "off" |
Tipo de datos
Especifique el tipo de datos para la salida del estado de deriva. El tipo puede heredarse, especificarse directamente o expresarse como un objeto de tipo de datos como Simulink.NumericType.
Cuando selecciona Inherit: auto, el bloque utiliza una regla que hereda el tipo de datos.
Para obtener más información acerca de los tipos de datos, consulte Control Data Types of Signals (Simulink).
Haga clic en el botón Show data type assistant
para mostrar el Data Type Assistant, que le ayudará a configurar los atributos de tipo de datos. Para obtener más información, consulte Specify Data Types Using Data Type Assistant (Simulink).
Uso programático
Parámetro de bloque: DriftStatusDataTypeStr |
| Tipo: vector de caracteres o cadena |
Valores: "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>" |
Valor predeterminado: "Inherit: auto"
|
Especifique el valor más bajo del rango de estado de deriva que Simulink comprueba.
Simulink utiliza el valor mínimo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: DriftStatusOutMin |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Especifique el valor más alto del rango de estado de deriva que Simulink comprueba.
Simulink utiliza el valor máximo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: DriftStatusOutMax |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Especifique el tipo de datos de la media (media móvil de observaciones de entrada). El tipo puede heredarse, especificarse directamente o expresarse como un objeto de tipo de datos como Simulink.NumericType.
Para obtener más información acerca de los tipos de datos, consulte Control Data Types of Signals (Simulink).
Haga clic en el botón Show data type assistant
para mostrar el Data Type Assistant, que le ayudará a configurar los atributos de tipo de datos. Para obtener más información, consulte Specify Data Types Using Data Type Assistant (Simulink).
Uso programático
Parámetro de bloque: MeanDataTypeStr |
| Tipo: vector de caracteres o cadena |
Valores: "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>" |
Valor predeterminado: "Inherit: auto"
|
Especifique el valor más bajo del rango de la media que Simulink comprueba.
Simulink utiliza el valor mínimo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: MeanOutMin |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Especifique el valor más alto del rango de la media que Simulink comprueba.
Simulink utiliza el valor máximo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: MeanOutMax |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Especifique el tipo de datos de la varianza (varianza móvil de observaciones de entrada). El tipo puede heredarse, especificarse directamente o expresarse como un objeto de tipo de datos como Simulink.NumericType.
Para obtener más información acerca de los tipos de datos, consulte Control Data Types of Signals (Simulink).
Haga clic en el botón Show data type assistant
para mostrar el Data Type Assistant, que le ayudará a configurar los atributos de tipo de datos. Para obtener más información, consulte Specify Data Types Using Data Type Assistant (Simulink).
Uso programático
Parámetro de bloque: VarianceDataTypeStr |
| Tipo: vector de caracteres o cadena |
Valores: "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>" |
Valor predeterminado: "Inherit: auto"
|
Especifique el valor más bajo del rango de la varianza que Simulink comprueba.
Simulink utiliza el valor mínimo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: VarianceOutMin |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Especifique el valor más alto del rango de la varianza que Simulink comprueba.
Simulink utiliza el valor máximo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: VarianceOutMax |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Especifique el tipo de datos de la suma de ponderaciones (suma móvil de observaciones de entrada ponderadas). El tipo puede heredarse, especificarse directamente o expresarse como un objeto de tipo de datos como Simulink.NumericType.
Para obtener más información acerca de los tipos de datos, consulte Control Data Types of Signals (Simulink).
Haga clic en el botón Show data type assistant
para mostrar el Data Type Assistant, que le ayudará a configurar los atributos de tipo de datos. Para obtener más información, consulte Specify Data Types Using Data Type Assistant (Simulink).
Uso programático
Parámetro de bloque: WeightsSumDataTypeStr |
| Tipo: vector de caracteres o cadena |
Valores: "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>" |
Valor predeterminado: "Inherit: auto"
|
Especifique el valor más bajo del rango de la suma de ponderaciones que Simulink comprueba.
Simulink utiliza el valor mínimo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: WeightsSumOutMin |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Especifique el valor más alto del rango de la suma de ponderaciones que Simulink comprueba.
Simulink utiliza el valor máximo para realizar:
La comprobación del rango de parámetros para algunos bloques (consulte Specify Minimum and Maximum Values for Block Parameters (Simulink)).
La comprobación del rango de simulación (consulte Specify Signal Ranges (Simulink) y Enable Simulation Range Checking (Simulink)).
La optimización del código que ha generado desde el modelo. Esta optimización puede eliminar código algorítmico y afectar a los resultados de algunos modos de simulación, como el modo software-in-the-loop (SIL) o el modo externo. Para obtener más información, consulte Optimize using the specified minimum and maximum values (Embedded Coder).
Uso programático
Parámetro de bloque: WeightsSumOutMax |
| Tipo: vector de caracteres |
Valores: '[]' | escalar |
Valor predeterminado: '[]' |
Características del bloque
Tipos de datos |
|
Paso directo |
|
Señales multidimensionales |
|
Señales de tamaño variable |
|
Detección de cruce por cero |
|
Capacidades ampliadas
Generación de código C/C++
Genere código C y C++ mediante Simulink® Coder™.
Conversión de punto fijo
Diseñe y simule sistemas en punto fijo mediante Fixed-Point Designer™.
Historial de versiones
Introducido en R2024b
Consulte también
Bloques
- IncrementalClassificationLinear Fit | IncrementalRegressionLinear Fit | IncrementalClassificationKernel Fit | IncrementalRegressionKernel Fit | Update Metrics
Objetos
Funciones
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.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- 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)
