Cuando tu clasificador parpadea: histéresis para señales que oscilan

2026年8月8日1 次浏览来源:Dev.to阅读原文

Tienes una señal que a cada observación te dice en qué estado estás: un monitor de salud que dice o , un detector de conectividad, un clasificador de modo.

Y cerca del umbral oscila: .

Cada cambio dispara algo —una alerta, un failover, entrar o salir de una posición— y de repente tu sistema está temblando por ruido, no por una transición real.

Es el mismo problema que resuelve el termostato de tu casa desde hace un siglo, y la solución tiene nombre: histéresis.

No cambies de estado hasta que el nuevo se haya sostenido.

La regla, en una frase Un estado nuevo solo se confirma tras repetirse N observaciones consecutivas.

Si el candidato cambia o revierte antes de llegar a N, la cuenta se reinicia.

El estado vigente se mantiene estable; los parpadeos se ignoran.

Lo empaqueté como librería —, Python puro, sin dependencias— porque lo reescribía una y otra vez: Aliméntalo con y no pasa nada: ningún candidato se sostuvo.

Hacen falta tres seguidos para que el cambio se confirme.

El detalle que casi siempre falta: histéresis asimétrica Un umbral único tiene un problema sutil.

Si exiges 3 confirmaciones para entrar en fallo, también tardas 3 en salir — y a veces quieres justo lo contrario: caer rápido a lo seguro, volver despacio a lo arriesgado.

Es el comportamiento de un disyuntor eléctrico: salta a la primera, se rearma con cautela.

Se resuelve dejando que el umbral dependa de la transición: Por qué no basta con "promediar" La tentación es suavizar con una media móvil y umbralizar.

Funciona para señales numéricas, pero se rompe con estados discretos (no promedias y ), introduce retardo en todas las transiciones por igual, y no te da la asimetría de arriba.

La histéresis por confirmación es la herramienta correcta cuando lo que oscila es una etiqueta, no un número.

De dónde salió Esto nació dentro de un bot de trading.

Su cerebro de régimen clasificaba el mercado en tendencia / rango / caos, y cerca de los umbrales parpadeaba: cada parpadeo congelaba o reactivaba la operativa, que es exactamente lo que no quieres que pase por ruido.

La histéresis lo calmó.

Pero el mecanismo no sabe nada de mercados —es anti-flapping para cualquier señal discreta—, así que lo liberé.

Código y tests (con los casos límite del conteo y la asimetría, verificados por mutación): github.com/isazajuancarlos/hysteresis-state.

分享
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

About

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools