Filtros de Variables de Estado: De la Predicción a la Corrección y la Estabilidad Financiera

La estimación de variables de estado es un pilar fundamental en numerosos campos, desde la ingeniería hasta la economía, permitiendo comprender y predecir el comportamiento de sistemas complejos. Estas estimaciones se fundamentan en dos pilares esenciales: la dinámica intrínseca de las variables de estado, que describe su evolución temporal, y las mediciones de las variables observables obtenidas en cada instante. La interacción entre estas dos dimensiones, temporal y transversal, es crucial para refinar la predicción inicial, incorporando la información de las variables observables en una etapa de corrección.

La Naturaleza Recursiva de los Filtros de Variables de Estado

Una característica particularmente atractiva de la metodología de los filtros de variables de estado es su carácter recursivo. Una vez que el algoritmo pronostica el nuevo estado en un momento dado, t, se añade un término de corrección. Este estado "corregido" se convierte, a su vez, en la condición inicial para la siguiente etapa, t+1. Este ciclo continuo de predicción y corrección permite una adaptación y refinamiento constantes de las estimaciones.

En este contexto, Zt representa un vector de variables observables, xt es el vector de las variables de estado, y Ht es la matriz que establece la relación entre las variables observables y las de estado. El término de error ut se introduce para dar cabida a la posibilidad de que las variables observables contengan errores de medición. Se asume que este término es incorrelacionado con las variables observables y que tampoco presenta autocorrelación. Por su parte, et es un vector de errores que modela la incertidumbre inherente a las variables de estado. Se caracteriza por componentes no correlacionadas entre sí, sin autocorrelación y sin correlación con el error de la ecuación principal. La implementación de este algoritmo resulta sencilla, ya que en cada etapa t se ejecuta la predicción seguida de la corrección.

Diagrama de flujo de un filtro de variables de estado

El Filtro Bicúadrático KHN y sus Aplicaciones

Dentro de la familia de los filtros de variables de estado, el filtro bicúadrático KHN inversor, también conocido como filtro de variables de estado, presenta una arquitectura singular al integrar tres filtros de segundo orden en una única unidad: un filtro pasa banda, un filtro pasa bajos y un filtro pasa altos. Es interesante notar que las funciones de los filtros pasa bajos y pasa altos son inversas, manifestado en un signo menos en su función de transferencia, mientras que la del filtro pasa banda no posee esta característica inversa.

A pesar de su capacidad para integrar múltiples funciones de filtrado, en la práctica, el filtro bicúadrático KHN se utiliza predominantemente para la implementación de ecualizadores paramétricos, aprovechando principalmente su componente de filtro pasa banda.

Representación en Espacio de Estado | Ejemplos

Ejemplo Ilustrativo: Estimación de la Beta de Mercado Temporal

Para comprender la aplicación práctica de estos filtros, consideremos la estimación de la beta de mercado temporal. Las variables observables en este escenario son el rendimiento del mercado (Rmt) y el rendimiento de las acciones (Rt). En una aproximación simplificada, se ha supuesto que el término constante at (que en el modelo CAPM representa el rendimiento de un activo seguro) es constante y nulo. En este caso, la única variable de estado es la beta de mercado (bt). Adicionalmente, se ha postulado que la beta sigue un proceso autorregresivo de orden uno, lo que implica que At = Id = 1. Sin embargo, esta configuración inicial representa una aproximación básica que puede ser refinada.

Lecciones Críticas de Fallos en Sistemas de Software Crítico: El Caso del Therac-25

La historia de la tecnología está marcada por avances notables, pero también por incidentes que, si bien lamentables, ofrecen lecciones invaluables. El Therac-25, un acelerador lineal de radioterapia producido por AECL y sucesor de los modelos Therac-6 y Therac-20, se convirtió trágicamente en un ejemplo paradigmático de las consecuencias de fallos en el diseño de software crítico. Tres pacientes fallecieron como resultado directo de accidentes ocurridos con esta máquina, representando en su momento el accidente más grave en 35 años de aceleradores lineales médicos.

A principios de la década de 1970, CGR y AECL colaboraron en la construcción de aceleradores lineales controlados por minicomputadoras DEC PDP-11. El Therac-6 generaba rayos X de hasta 6 MeV, mientras que el Therac-20 podía producir rayos X o electrones de hasta 20 MeV. La incorporación de ordenadores facilitó el uso, permitiendo que el acelerador funcionara incluso sin él. Sin embargo, en 1981, la colaboración entre ambas compañías finalizó. AECL continuó el desarrollo, introduciendo un innovador concepto de doble pasada para la aceleración de electrones en un espacio reducido, y migrando la fuente de energía de klistrón a magnetrón.

El concepto de acelerador dual, aplicado tanto al Therac-20 como al Therac-25, resultó en este último ser significativamente más compacto, versátil y fácil de usar. La evolución clave residió en que el Therac-25 fue diseñado como una máquina controlada por ordenador, lo que implicó la migración de algunos mecanismos de seguridad del hardware al software. Lamentablemente, AECL optó por no duplicar ciertos mecanismos de seguridad críticos.

El primer prototipo del Therac-25 se construyó en 1976, y el software fue desarrollado por un único programador durante varios años utilizando lenguaje ensamblador PDP-11, evolucionando a partir del software del Therac-6. En 1986, este programador abandonó AECL.

En el modo de haz de electrones de baja potencia, el haz se emitía directamente, siendo propagado y concentrado a niveles seguros mediante escáneres magnéticos. El paciente se ubicaba en una camilla fija, y sobre él se encontraba una placa giratoria con componentes que modificaban el haz de electrones. Esta placa poseía posiciones específicas para el modo de rayos X (fotones), el modo de electrones, y una tercera posición para ajustes mediante luz visible, donde se esperaba que no hubiera emisión de haz y una luz reflejada simulaba la trayectoria. La placa giratoria estaba equipada con microinterruptores que informaban de su posición al ordenador. Para asegurar la correcta ubicación, un émbolo bloqueaba la placa en una de las tres posiciones permitidas mediante un enclavamiento. Tradicionalmente, este tipo de máquinas utilizaban bloqueos electromecánicos para garantizar la posición correcta de la placa giratoria antes de iniciar el tratamiento.

Esquema simplificado del Therac-25

Primeros Incidentes y sus Secuelas

El 26 de julio de 1985, mientras el Therac-25 operaba en una clínica, una paciente de 40 años recibía su tratamiento número 24 para un cáncer de cuello de útero. Tras activar el tratamiento, la máquina se detuvo a los cinco segundos con el mensaje de error «H-tilt», indicando una pausa y que el dosímetro no había registrado radiación. El operador pulsó la tecla 'P' (Proceed: continuar), pero la máquina volvió a detenerse. Este proceso se repitió cinco veces hasta que la máquina suspendió el tratamiento. Un técnico fue llamado, pero no encontró anomalías. La paciente se quejó de quemazón e hinchazón, siendo hospitalizada. Se sospechó de una sobredosis de radiación, y la máquina fue retirada temporalmente del servicio. El 3 de noviembre de 1985, la paciente falleció de cáncer; sin embargo, la autopsia reveló que, de no haber sido por su fallecimiento, habría requerido una prótesis de cadera debido a los daños causados por la sobredosis de radiación.

AECL sospechó de un posible fallo en tres microinterruptores que informaban sobre la posición de la placa giratoria, pero las pruebas no fueron concluyentes, y no pudieron replicar un fallo de estos componentes.

En octubre de 1985, la paciente demandó al hospital y al fabricante. En noviembre de 1985, AECL fue notificado de la demanda. La dosis aplicada se estimó entre 15.000 y 20.000 rad, cuando lo previsto eran 200 rad.

En diciembre de 1985, otra paciente desarrolló un eritema con un patrón de bandas paralelas en la zona de tratamiento. El personal del hospital comunicó el incidente a AECL en enero de 1986. Seis meses después, esta paciente desarrolló úlceras crónicas por necrosis tisular, requiriendo cirugía e injertos de piel. Durante dos años, más de 500 pacientes fueron tratados con el Therac-25.

Representación en Espacio de Estado | Ejemplos

El Error 54 y la Profundización de los Problemas

El 21 de marzo de 1986, un paciente acudió para su novena sesión de tratamiento para un tumor en la espalda. La operadora, experimentada, introdujo los datos y notó que había escrito 'X' (Rayos X) en lugar de 'E' (Electrones) como tipo de tratamiento. Al corregirlo y pulsar 'Enter', la máquina se detuvo mostrando el mensaje «Malfunction 54» (error 54) y «Treatment pause». El manual indicaba que este error correspondía a «dose input 2». El dosímetro marcaba 6 unidades suministradas, muy por debajo de las 202 demandadas. Al pulsar 'P' para continuar, la máquina volvió a detenerse con el mismo error. El paciente sintió una descarga eléctrica y un crepitar, y al intentar levantarse, la operadora pulsó 'P' nuevamente. El paciente experimentó una descarga eléctrica severa, como si le arrancaran la mano. Fue atendido por un médico, quien inicialmente sospechó una descarga eléctrica.

El físico del hospital revisó la máquina, la encontró calibrada según especificaciones y continuó el tratamiento. Sin embargo, el paciente había recibido una dosis masiva de entre 16.500 y 25.000 rad en menos de un segundo. Desarrolló parálisis del brazo izquierdo, náuseas, vómitos y fue hospitalizado por mielitis de la médula espinal inducida por radiación. Sus piernas, diafragma y cuerdas vocales quedaron paralizadas, y sufrió infecciones recurrentes de herpes simplex.

Técnicos de AECL revisaron la máquina al día siguiente, pero no pudieron replicar el error 54. La toma a tierra fue comprobada para descartar descargas eléctricas.

El 11 de abril de 1986, otro paciente iba a recibir un tratamiento de electrones para cáncer de piel. La operadora, la misma del incidente de marzo, tuvo que cambiar el modo de 'X' a 'E'. Tras pulsar 'Proceed', la máquina se detuvo con un fuerte ruido y el error 54. El paciente sintió fuego en la cara. El físico del hospital suspendió los tratamientos y contactó a AECL. Tras un esfuerzo considerable, el físico y la operadora lograron reproducir el error 54, determinando que la rapidez en la edición de datos era un factor clave.

Representación gráfica de la secuencia de teclas que provocaba el error 54

El 17 de enero de 1987, un paciente iba a recibir un tratamiento con dos exposiciones de verificación de película y un tratamiento de electrones. Durante el proceso, el operador salió de la sala olvidando unas placas de película. Al regresar y pulsar 'B' para disparar los rayos, la máquina se detuvo con el mensaje «Flatness». El paciente sintió una quemadura, y la pantalla indicaba solo 7 rad administrados. Horas después, presentó quemaduras en la piel con un patrón de bandas similar al incidente anterior. El físico del hospital realizó pruebas que confirmaron la relación entre la posición de la placa giratoria y la aparición de patrones anómalos.

La comisión investigadora concluyó que las causas primarias de los accidentes no fueron errores aislados en el código, sino malas prácticas de desarrollo, análisis de requerimientos deficiente y un mal diseño general del software. El sistema notificaba errores, pero los mensajes eran poco informativos, lo que llevaba a los operarios a ignorarlos y continuar el tratamiento. La alta confianza en la máquina contribuyó a que el personal inicialmente no creyera las quejas de los pacientes.

Identificación de las Causas Raíz del Software

Uno de los fallos más críticos ocurría al introducir rápidamente una secuencia particular de teclas en la terminal VT100, que controlaba la computadora PDP-11. Si se realizaba la secuencia de corrección de la casilla del tipo de haz (de 'X' a 'E') y luego se accedía a la casilla de órdenes ('B' y 'Enter') en menos de 8 segundos, la máquina podía administrar hasta 1000 veces la dosis prevista.

La ingeniería había reutilizado código de modelos anteriores que sí contaban con sistemas de seguridad mecánicos. El software no podía verificar el correcto funcionamiento de los sensores (bucle abierto). El proceso del equipamiento de control no se sincronizaba adecuadamente con la interfaz del operario, generando condiciones de carrera si la configuración se modificaba rápidamente. Tales ajustes rápidos eran poco probables durante las pruebas iniciales debido a la falta de experiencia de los operarios.

El programa incrementaba una variable bandera en lugar de asignarle un valor fijo, y al estar escrito en lenguaje ensamblador, un lenguaje de bajo nivel, requería un diseño, programación y pruebas más laboriosos. El diseño general del software era intrínsecamente inseguro. Cuando la salida o estado de un proceso depende de una secuencia de eventos ejecutados en orden arbitrario y que operan sobre un recurso compartido, pueden surgir errores si los eventos no ocurren en el orden esperado por el programador.

Los accidentes de Tyler, por ejemplo, se produjeron por problemas en las rutinas de entrada de datos que permitían ejecutar pruebas de ajuste antes de que todos los parámetros de prescripción hubieran sido introducidos y comprobados. La tarea de monitoreo «Treat» controlaba las fases del tratamiento mediante la variable Tphase. Tras la ejecución de una subrutina, se reprogramaba a sí misma. La subrutina «Datent» se comunicaba con el gestor del teclado a través de la variable compartida «Data-entry completion flag» para verificar la correcta introducción de datos. Si el gestor del teclado indicaba la finalización, «Datent» cambiaba el valor de Tphase de 1 (Data Entry) a 3 (Set-Up Test), procediendo a ejecutar la prueba de ajuste. Si la variable de finalización de entrada de datos no se actualizaba, «Datent» salía al cuerpo principal de «Treat». Una vez introducidos todos los parámetros, «Datent» llamaba a la subrutina «Magnet», que ajustaba los imanes en un proceso que duraba 8 segundos.

El Colchón de Capital Contracíclico (CCA) y la Estabilidad Financiera

En el ámbito de la regulación financiera, el colchón de capital contracíclico (CCA) emerge como un requisito macroprudencial fundamental. Este colchón es adicional a los requisitos microprudenciales de capital y a otros colchones macroprudenciales. Su activación impulsa a las entidades bancarias a adoptar medidas específicas, como por ejemplo, la moderación en la concesión de crédito.

Gráfico de la evolución del CCA y su impacto en el crédito

Tras una revisión exhaustiva en 2024 del marco metodológico para la fijación del CCA, se ha determinado que este colchón se situará en el 1% cuando los riesgos sistémicos cíclicos alcancen un nivel estándar, es decir, un punto intermedio entre un nivel elevado y uno bajo. Adicionalmente, el CCA se liberaría, en su totalidad, ante la materialización de riesgos sistémicos, ya sean cíclicos o de otra índole.

La activación del CCA en fases de riesgo sistémico cíclico estándar genera costes muy limitados en términos de pérdida de crecimiento de crédito y Producto Interior Bruto (PIB). Las líneas que representan el impacto en puntos porcentuales de un aumento o disminución de 1 punto porcentual en el Cociente de Cobertura de Liquidez (CBR), sobre los percentiles 50 y 10 de la distribución del crecimiento anualizado del PIB, ilustran este efecto a distintos horizontes temporales. Las áreas sombreadas indican los intervalos de confianza al 95% de las estimaciones. El eje horizontal muestra los trimestres transcurridos desde la variación del requerimiento, asumiendo valores de crecimiento del PIB y riesgo financiero correspondientes a escenarios de riesgo estándar y de crisis macrofinanciera.

Un análisis de un cuadro de 16 indicadores fundamentales, agrupados en bloques macroeconómicos, macrofinancieros, de mercado y del sistema bancario, proporciona una visión integral del seguimiento del riesgo cíclico. Los indicadores fundamentales se agregan para cada categoría principal de riesgo, utilizando metodologías de medias simples y de componentes principales (PCA).

El indicador IRS agrega doce variables de mercados financieros. Cada indicador se define en una escala entre 0 y 1, en función de su percentil respecto a su distribución histórica. Estos indicadores fundamentales de seguimiento del riesgo cíclico se agregan en un único indicador sintético, también presentado con agregaciones por medias simples y por componentes principales.

Representación en Espacio de Estado | Ejemplos

Las áreas sombreadas en gris en los gráficos indican dos periodos de crisis identificadas en España desde 2009: una crisis sistémica bancaria (2009-Q1 a 2013-Q4) y la crisis económica provocada por el inicio de la pandemia de COVID-19 (2020-Q1 a 2021-Q4). La brecha de producción, que representa la diferencia porcentual entre el PIB observado y su valor potencial, se calcula a precios constantes del año 2010. La brecha de crédito-PIB se calcula como la diferencia en puntos porcentuales entre la ratio observada y su tendencia de largo plazo, utilizando un filtro Hodrick-Prescott de una sola cola con un parámetro de suavizado específico para ajustarse a los ciclos financieros observados históricamente en España.

tags: #filtro #de #variables #de #estado