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
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
- 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.
- 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.
- Optuna + validación cruzada estratificada es la combinación correcta para datasets pequeños con muchas clases. 40 trials fueron suficientes para converger.
- 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.