Análisis de la Arquitectura DeepFM en Farmacogenómica

Decisiones de diseño, resultados y lecciones aprendidas en la construcción del modelo predictivo de Pharmagen

Deep Learning
Farmacogenómica
PyTorch
Fecha de publicación

15 de marzo de 2026

AdvertenciaActualización — nota de honestidad

Este artículo documenta la v1 de Pharmagen. Una revisión posterior detectó asunciones en la preparación y partición de los datos que probablemente introdujeron fuga de información e inflaron las métricas que aparecen más abajo: las considero preliminares y optimistas, no un resultado definitivo. La v2 rehace la evaluación con particiones sin fugas y métricas reportadas junto a su metodología. El contexto completo está en el post De prototipo a producción y en la página del proyecto.

Por qué DeepFM y no un modelo tabular clásico

La farmacogenómica presenta un problema poco habitual en machine learning: las interacciones entre variantes genéticas y fármacos son combinatorias y no lineales. Un modelo como XGBoost captura bien las relaciones de primer orden, pero la epistasia (la interacción entre múltiples loci genéticos) requiere modelar explícitamente las interacciones de segundo orden y superiores.

La arquitectura DeepFM combina lo mejor de dos mundos:

  • Máquinas de Factorización (FM): Capturan todas las interacciones de segundo orden entre features de forma eficiente, sin necesidad de feature engineering manual.
  • Red Neuronal Profunda (DNN): Aprende patrones de orden superior que las FM no alcanzan.

\[\hat{y} = \sigma \left( w_0 + \sum_{i=1}^n w_i x_i + \sum_{i=1}^n \sum_{j=i+1}^n \langle v_i, v_j \rangle x_i x_j + y_{DNN} \right)\]


Ingeniería de características: las decisiones que importan

PubChem CID en lugar de ATC

La clasificación ATC agrupa fármacos por uso terapéutico, no por estructura molecular. Dos fármacos del mismo grupo ATC pueden tener perfiles de interacción genómica completamente distintos. Al usar PubChem CID, el modelo trabaja con identidades químicas reales.

La variable sintética Genalle

Fusionar el rsID con la notación HGVS en un solo identificador (Genalle) permite normalizar la representación alélica y evitar ambigüedades cuando una misma variante tiene múltiples nomenclaturas.

Gestión del desbalance con Focal Loss

En farmacogenómica, los fenotipos raros (metabolizadores ultrarrápidos, reacciones adversas graves) son los más críticos clínicamente pero los menos representados en los datos. La Adaptive Focal Loss penaliza más los errores en estas clases minoritarias, priorizando la seguridad del paciente sobre la precisión global.


Resultados preliminares (v1) (ver nota de honestidad arriba)

Estas cifras corresponden a las particiones internas de la v1 y probablemente están infladas por fuga de datos. Las dejo por transparencia y trazabilidad, no como resultado validado:

Tarea Métrica (preliminar)
Categoría Fenotípica 86.89% Precisión
Ajuste de Dosis 0.8328 Balanced Accuracy
Farmacocinética 0.8037 Balanced Accuracy
Dirección del Efecto 66.07% Precisión

La tarea de dirección del efecto (increased/decreased) es la más difícil porque depende de contextos clínicos que no siempre están codificados en los datos genómicos puros. Es un área donde las futuras GNN podrían aportar mejoras significativas.


Lecciones aprendidas

  1. La ingeniería de características importa más que la arquitectura. Cambiar de ATC a PubChem CID mejoró más el rendimiento que cualquier ajuste de hiperparámetros.
  2. El desbalance de clases en dominios clínicos no es un problema técnico, es un problema ético. Optimizar por accuracy global puede enmascarar un modelo que falla sistemáticamente en los casos más peligrosos.
  3. Optuna + validación cruzada estratificada es la combinación correcta para datasets pequeños con muchas clases. 40 trials fueron suficientes para converger.
  4. La evaluación es tan importante como el modelo. Una métrica alta no vale nada si el protocolo permite fuga de datos. Detectarlo yo mismo y rehacer la validación en la v2 ha sido la lección más valiosa de todo el proyecto: es lo que separa un experimento de una herramienta fiable.