Contenido principal

Detect Drift

Actualizar estados de un detector de deriva y el estado de deriva con nuevos datos

Desde R2024b

  • Detect Drift Block Icon

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

Puertos

Entrada

expandir todo

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 InputType de la llamada a incrementalConceptDriftDetector es "continuous", x debe ser un vector numérico.

  • Si el valor InputType de la llamada a incrementalConceptDriftDetector es "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

expandir todo

Indicador que muestra si el bloque Detect Drift sigue el estado de deriva, devuelto como 0 (false) o 1 (true) lógicos.

ValorDescripció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

expandir todo

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ónJustificaciónImpacto en los desbordamientosEjemplo

Seleccionar esta casilla (on).

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 int8 (indicado como un valor entero de 8 bits) puede representar es 127. Cualquier resultado de una operación de bloque superior a este valor máximo provoca el desbordamiento del entero de 8 bits. Con la casilla de verificación seleccionada, el bloque de salida se satura en 127. De manera similar, la salida del bloque se satura en el valor de salida mínimo de -128.

Desmarcar esta casilla (off).

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 int8 (indicado como un valor entero de 8 bits) puede representar es 127. Cualquier resultado de una operación de bloque superior a este valor máximo provoca el desbordamiento del entero de 8 bits. Con la casilla de verificación desmarcada, el software interpreta el valor que causa el desbordamiento como int8, que puede producir un resultado no intencionado. Por ejemplo, un resultado de bloque de 130 (en binario 1000 0010) expresado como int8 es –126.

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:

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:

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:

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:

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:

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:

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:

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:

Uso programático

Parámetro de bloque: WeightsSumOutMax
Tipo: vector de caracteres
Valores: '[]' | escalar
Valor predeterminado: '[]'

Características del bloque

Tipos de datos

Boolean | double | enumerated | fixed point | half | integer | single

Paso directo

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

Capacidades ampliadas

expandir todo

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