Una vez procesados los datos de series temporales en salud y transformados específicamente para cada caso, se pueden aplicar distintas técnicas de modelado para su predicción. Por un lado, podemos servirnos de modelos clásicos y, por otro, de técnicas más avanzadas, como las de Machine Learning que veremos después.
- Modelización univariante de series temporales
- Modelización multivariantes de series temporales
- Modelización de series temporales con Aprendizaje Automático
Si estás leyendo este post, te interesa leer también
.Modelización univariante de series temporales
Hablamos de modelización univariante cuando los valores de una serie temporal se predicen únicamente a partir del comportamiento pasado de la propia serie temporal. Los dos modelos de base de este tipo son el Autoregresivo y el de Media Móvil.
El Autoregresivo, en resumen, es una regresión lineal de una serie temporal consigo misma. Dicho de otra manera, se predice un dato a partir de una combinación lineal de datos pasados. Para saber con qué tiempos debemos realizar la predicción, usamos la función de autocorrelación parcial (PACF) explicada en el anterior post. Los intervalos de tiempo para los cuales la PACF es significativa (la significancia se puede establecer mediante una regla del dedo gordo) se deberían seleccionar para diseñar un modelo Autoregresivo óptimo. Es decir, si la PACF absoluta es alta para ? = 3, ? = 7 y ? = 11, las predicciones de los valores de una serie temporal se deberían realizar a partir de una regresión de sus valores 3, 7 y 11 intervalos de tiempo a pasado. También es importante resaltar que las señales deben haber sido estacionarizadas para este modelo.
Los modelos de Media Móvil predicen un dato de una serie temporal a partir de una regresión lineal con los valores de los errores de predicción de los M datos anteriores. Para determinar M, se utiliza la función de autocorrelación simple. M debería corresponder al desfase ? para el cual la autocorrelación deja de ser significativa.
A partir de estos dos modelos de base y de su combinación se han desarrollado modelos más sofisticados para la predicción univariante de series temporales, como pueden ser ARMA, ARIMA, GARCH, etc.
Modelización multivariante de series temporales
Sin aplicar técnicas de Aprendizaje Automático, el modelo clásico para predecir una serie temporal a partir de los valores pasados de varias series temporales es la Autoregresión Vectorial (VAR).
Este modelo es una prolongación multivariante del Autoregresivo. Por ejemplo, nos podríamos servir de él en las revisiones mensuales de un paciente, para predecir su colesterol a partir de sus niveles de colesterol de los 2 meses anteriores, el nivel de triglicéridos del mes anterior y el nivel de transaminasas de seis meses antes.
La elección de tiempos para el diseño de un modelo de este tipo no es tan directa como para el modelo Autoregresivo univariante, pero se puede obtener analizando las funciones de autocorrelación y de correlación cruzada, o con tests de contraste de hipótesis para establecer significancia de los coeficientes regresivos.
Modelización de series temporales con Aprendizaje Automático en salud
Para predecir series temporales, se pueden desarrollar también distintos modelos de Machine Learning o Aprendizaje Automático. Con estas técnicas, se puede trabajar con conjuntos de datos dinámicos y estáticos que aporten más información a la predicción. Además, su desempeño suele superar al de los modelos clásicos cuando el horizonte de predicción es grande.
Regresiones de series temporales
Ya hemos hablado de modelos Autoregresivos. En la misma línea, se pueden utilizar algoritmos de Aprendizaje Automático de tipo regresión para la predicción de series temporales.
Para ello, en primer lugar y mediante las herramientas de análisis que hemos explicado en las secciones anteriores, se pueden seleccionar como variables los intervalos de tiempo a pasado de la propia serie temporal a predecir, o de otras series temporales predictoras. A estas se les pueden añadir además otras variables que representen datos estáticos, cuyos valores se repetirán para cada dato de la misma serie temporal.
De esta manera, podríamos crear un conjunto de datos de entrenamiento, por ejemplo, en el que las variables dinámicas sean el valor de glucosa en sangre actual, los valores de glucosa en sangre de hace 1 hora y hace 6 horas, y la dosis de insulina inyectada hace medio día. Además, podríamos añadir el sexo y la edad del paciente como variables estáticas.
Una vez creado este conjunto de datos, podríamos usarlo para predecir la glucosa actual de un paciente con algoritmos de regresión basados en árboles, en redes neuronales convencionales o en máquinas de vectores de soporte, los cuales suelen ser más flexibles que los modelos de regresión lineal.
Redes Neuronales Recurrentes para predecir datos temporales
En la sección anterior, hemos hablado de algoritmos clásicos de Aprendizaje Automático, y de cómo se pueden adaptar para la predicción de información temporal mediante la fabricación de conjuntos de datos particulares. En esta sección, explicaremos cómo funciona un algoritmo específicamente diseñado para predecir series temporales utilizando su contexto pasado: las redes neuronales recurrentes (Recurrent Neural Networks, RNN).
Las RNN se basan en principios parecidos a las redes neuronales convencionales, pero introduciendo la salida de cada neurona de vuelta en la propia neurona, guardando así esa información para predicciones futuras. Se utilizan para predecir valores continuos (regresión) o hacer una clasificación a partir de una o varias series temporales, por lo que el conjunto de datos debe tener tres dimensiones: [nº de muestras; nº de intervalos de tiempo pasados; nº de variables].
Para ilustrarlo con un ejemplo, pongamos que en nuestro conjunto de datos tenemos 100 muestras de glucosa en sangre para un paciente. Queremos predecir estos valores (100 muestras) a partir de la glucosa y la oxigenación en sangre (2 variables) recogidas una, dos y tres horas antes (3 intervalos de tiempo) para cada muestra. Entonces, nuestro conjunto de datos tendrá la siguiente forma: [100, 3, 2]. Además, de la misma manera que con los algoritmos de regresión, se pueden añadir datos estáticos en los que la información se repita para todos los intervalos de tiempo de la misma muestra.
De la naturaleza del entrenamiento de las RNN pueden surgir problemas para guardar información pasada a largo plazo, por lo que, en la práctica, se suelen utilizar redes Long Short Term Memory (LSTM), las cuales están diseñadas con “células” en vez de “neuronas”. En estas células se incorporan funciones (a las que llaman “puertas”) que permiten seleccionar con precisión qué información se guarda y qué información se olvida para predicciones futuras. También existen las redes Gated Recurrent Units (GRU), que siguen el mismo principio que las LSTM, pero cuya configuración las hace más rápidas.
Evaluar las predicciones de series temporales
Una vez hemos realizado nuestras predicciones, ¿cómo podemos validarlas? Las métricas que se suelen utilizar para evaluar el funcionamiento de nuestros modelos de series temporales representan distintas maneras de calcular el error entre las muestras reales y las predicciones.
Para empezar, es importante resaltar que cuando un conjunto de datos temporales se separa en entrenamiento/evaluación, se debe tener en cuenta la continuidad temporal de los datos: ya no se pueden muestrear datos de manera aleatoria. Ahora el subconjunto de entrenamiento debe contener segmentos de la(s) serie(s) temporal(es) y el subconjunto de evaluación debe contener sus continuaciones.
El error cuadrático medio (RMSE) o el error absoluto medio (MAE) dan información sobre el error medio en las predicciones en la escala de la serie temporal predicha. También existen las versiones normalizadas de estos errores, que se usan para expresarlos como un porcentaje de la serie temporal. Por ejemplo, la señal de glucosa en sangre de un paciente suele fluctuar entre 50 y 250 mg/dL. Entrenando y evaluando un modelo Autoregresivo, el error absoluto medio resulta en 29 mg/dL y el error porcentual absoluto medio en 20%.
En el Instituto de Ingeniería del Conocimiento (IIC), también trabajamos en el análisis y predicción de series temporales, aplicando muchas de estas técnicas e investigando nuevas formas de conseguir mejores resultados en el ámbito de la salud. Estas herramientas son especialmente útiles cuando tratamos datos de dispositivos médicos y los integramos junto a otros tipos de información clínica para mejorar la atención al paciente.