ES2540159B1 - Method for modeling blood glucose level by genetic programming - Google Patents

Method for modeling blood glucose level by genetic programming Download PDF

Info

Publication number
ES2540159B1
ES2540159B1 ES201331726A ES201331726A ES2540159B1 ES 2540159 B1 ES2540159 B1 ES 2540159B1 ES 201331726 A ES201331726 A ES 201331726A ES 201331726 A ES201331726 A ES 201331726A ES 2540159 B1 ES2540159 B1 ES 2540159B1
Authority
ES
Spain
Prior art keywords
insulin
solutions
glucose
probability
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES201331726A
Other languages
Spanish (es)
Other versions
ES2540159A1 (en
Inventor
José Ignacio HIDALGO PÉREZ
Antonio Óscar GARNICA ALCÁZAR
Juan LANCHARES DÁVILA
José Luis RISCO MARTÍN
José Manuel COLMENAR VERDUGO
Alfredo CUESTA INFANTE
Esther MAQUEDA VILLAIZÁN
Marta BOTELLA SERRANO
José Antonio RUBIO GARCÍA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universidad Complutense de Madrid
Original Assignee
Universidad Complutense de Madrid
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universidad Complutense de Madrid filed Critical Universidad Complutense de Madrid
Priority to ES201331726A priority Critical patent/ES2540159B1/en
Priority to PCT/ES2014/000190 priority patent/WO2015079079A1/en
Publication of ES2540159A1 publication Critical patent/ES2540159A1/en
Application granted granted Critical
Publication of ES2540159B1 publication Critical patent/ES2540159B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/30Prediction of properties of chemical compounds, compositions or mixtures

Abstract

Método para el modelado del nivel de glucemia mediante programación genética.#La invención consiste en un método que, aplicando algoritmos evolutivos sobre soluciones aleatorias y datos tomados de un paciente con glucemia, permite establecer un modelado del nivel de glucemia para obtener un modelado del nivel de glucosa en instantes futuros a los momentos de obtención de los datos del paciente. Los datos del paciente son al menos los niveles de glucosa, ingesta e insulina rápida y lenta para un intervalo de tiempo. El algoritmo evolutivo consiste básicamente en aplicar programación genética en su variante de gramáticas evolutivas o evolución gramatical. Es decir, aplicar gramáticas personalizadas en formato BNF, procesos de mapeo personalizados y evaluaciones de error concretas a las soluciones aleatorias o a modelos generados con anterioridad para obtener una expresión que describa y prediga los niveles de glucosa de un paciente. De entre todos los pacientes, el método de la presente invención está especialmente indicado para sujetos con Diabetes Mellitus.Method for modeling the blood glucose level by genetic programming. # The invention consists of a method that, by applying evolutionary algorithms on random solutions and data taken from a patient with blood glucose, allows to establish a blood glucose level modeling to obtain a level modeling of glucose in future moments at the time of obtaining patient data. Patient data is at least glucose levels, intake and insulin fast and slow for a time interval. The evolutionary algorithm basically consists of applying genetic programming in its variant of evolutionary grammars or grammatical evolution. That is, apply custom grammars in BNF format, custom mapping processes and concrete error assessments to random solutions or previously generated models to obtain an expression that describes and predicts a patient's glucose levels. Among all patients, the method of the present invention is especially indicated for subjects with Diabetes Mellitus.

Description

55

1010

15fifteen

20twenty

2525

3030

METODO PARA EL MODELADO DEL NIVEL DE GLUCEMIA MEDIANTE PROGRAMACION GENETICAMETHOD FOR THE MODELING OF THE GLUCEMY LEVEL BY GENETIC PROGRAMMING

OBJETO DE LA INVENCIONOBJECT OF THE INVENTION

La presente invention propone aplicar la programacion genetica para encontrar un modelo personalizado que describa y prediga los niveles de glucosa de un paciente. De esta forma, la presente invencion describe un metodo que, a partir de los datos historicos de un paciente que consisten en valores previos de glucosa, carbohidratos tomados e insulinas inyectadas, obtiene una expresion que puede usarse para predecir valores de glucosa en un futuro proximo.The present invention proposes to apply genetic programming to find a personalized model that describes and predicts a patient's glucose levels. Thus, the present invention describes a method that, from the historical data of a patient consisting of previous values of glucose, carbohydrates taken and injected insulins, obtains an expression that can be used to predict glucose values in the near future. .

El campo de aplicacion de la presente invencion es la estimation de la glucosa de un paciente a partir de los datos medidos. Debido a la naturaleza de la invencion, la estimacion de la glucosa de la presente invencion permite a dispositivos que operen segun el metodo de la presente invencion, predecir los niveles de glucosa de un paciente. De entre todos los pacientes, el metodo de la presente invencion esta especialmente indicado para sujetos con Diabetes Mellitus.The field of application of the present invention is the estimation of a patient's glucose from the measured data. Due to the nature of the invention, the glucose estimation of the present invention allows devices that operate according to the method of the present invention to predict a patient's glucose levels. Among all patients, the method of the present invention is especially indicated for subjects with Diabetes Mellitus.

ANTECEDENTES DE LA INVENCIONBACKGROUND OF THE INVENTION

La Diabetes Mellitus es una enfermedad causada por un defecto en la secretion o en la action de la insulina, que es esencial para el control de los niveles de glucosa en sangre.Diabetes Mellitus is a disease caused by a defect in the secretion or action of insulin, which is essential for the control of blood glucose levels.

En ambos casos el resultado es que las celulas no asimilan el azucar y como consecuencia, se produce una subida en los niveles de glucosa en sangre o hiperglucemia. Existen distintos tipos de diabetes dependiendo de su naturaleza. Segun la ADA (American Diabetes Association) podemos distinguir cuatro tipos de DM:In both cases the result is that the cells do not assimilate sugar and as a result, there is a rise in blood glucose levels or hyperglycemia. There are different types of diabetes depending on their nature. According to the ADA (American Diabetes Association) we can distinguish four types of DM:

• Diabetes Tipo 1 (T1DM): Las celulas no producen insulina debido a un proceso autoinmune. Actualmente esto hace necesario que la persona se inyecte insulina exogena, ya sea mediante inyecciones puntuales o que utilice una bomba de insulina.• Type 1 Diabetes (T1DM): Cells do not produce insulin due to an autoimmune process. Currently this makes it necessary for the person to inject exogenous insulin, either by point injections or using an insulin pump.

55

1010

15fifteen

20twenty

2525

3030

• Diabetes Tipo 2 (T2DM): El es resultado de una resistencia a la insulina, donde las celulas no consiguen utilizar la insulina correctamente. En ocasiones se combina con una ausencia, ya sea parcial o total de insulina.• Type 2 Diabetes (T2DM): It is the result of insulin resistance, where the cells fail to use insulin correctly. Sometimes it is combined with an absence, either partial or total insulin.

• Diabetes Gestacional: Aparece en los periodos de gestacion en una de cada diez mujeres embarazada. El embarazo es un cambio en el metabolismo, ya que el feto utiliza la energia de la madre para obtener alimento, oxigeno y otros recursos. Esto hace que se produzca un descenso en la secrecion de insulina por parte de la madre.• Gestational Diabetes: Appears during pregnancy in one in ten pregnant women. Pregnancy is a change in metabolism, since the fetus uses the mother's energy to obtain food, oxygen and other resources. This causes a decrease in the secretion of insulin by the mother.

• Otros tipos: como por ejemplo problemas en las celulas , defectos geneticos que afectan a la accion de la insulina, provocados por medicamentos, smdromes geneticos, etc..• Other types: such as cell problems, genetic defects that affect the action of insulin, caused by medications, genetic smdromes, etc.

En la mayoria de los casos, los pacientes con una evolucion larga de la enfermedad requieren la inyeccion de insulina exogena en varias dosis, o mediante una bomba de insulina. Es importante mantener un buen control glucemico para prevenir tanto las complicaciones agudas de la diabetes (cetoacidosis diabetica e hipoglucemia, definida como un valor de glucosa en sangre inferior a 70mg=dl), como todas las complicaciones multi-cronicas asociadas a los pacientes diabeticos (nefropafia, retino pafia, microangiopafia y macroangiopafia).In most cases, patients with a long course of the disease require the injection of exogenous insulin in several doses, or by an insulin pump. It is important to maintain good glycemic control to prevent both acute complications of diabetes (diabetic ketoacidosis and hypoglycemia, defined as a blood glucose value below 70mg = dl), as well as all multi-chronic complications associated with diabetic patients ( nephropaphy, retino pafia, microangiopafia and macroangiopafia).

En los ultimos anos se ha demostrado que un control estricto del Nivel de glucemia en pacientes criticos mejora su evolucion y reduce los costes medicos. El control de los niveles de glucosa es una tarea dificil y que requiere un esfuerzo por ambas partes, pacientes y sus familias. Para mantener buenos niveles de glucosa en sangre el paciente debe tener alguna capacidad de prediccion para saber que nivel de glucosa tendria si toma cierta cantidad de comida o si se inyecta cierta cantidad de insulina de un determinado tipo. De hecho el objetivo final es evitar no solo periodos de hiperglucemia (niveles de glucosa > 180 mg=dl) sino tambien episodios de Hipoglucemia severa (niveles de glucosa < 40mg=dl) que pueden llevar al paciente a la muerte.In recent years it has been shown that strict control of the blood glucose level in critical patients improves their evolution and reduces medical costs. The control of glucose levels is a difficult task and it requires an effort by both parties, patients and their families. To maintain good blood glucose levels the patient must have some predictive ability to know what glucose level he would have if he ate a certain amount of food or if a certain amount of insulin of a certain type was injected. In fact, the ultimate goal is to avoid not only periods of hyperglycemia (glucose levels> 180 mg = dl) but also episodes of severe hypoglycemia (glucose levels <40mg = dl) that can lead the patient to death.

Uno de los aspectos que hace dificil el control de glucosa en sangre es la ausencia de un modelo general de respuesta tanto a la insulina como a los diversos factoresOne of the aspects that makes blood glucose control difficult is the absence of a general model of response to both insulin and the various factors

33

55

1010

15fifteen

20twenty

2525

3030

mencionados anteriormente, debido principalmente a las particularidades de cada paciente.mentioned above, mainly due to the particularities of each patient.

Los modelos presentes en el estado de la tecnica aplican tecnicas de modelado clasico que resultan en el uso de ecuaciones lineales, perfiles definidos o modelos con un conjunto limitado de entradas.The models present in the state of the art apply classical modeling techniques that result in the use of linear equations, defined profiles or models with a limited set of inputs.

Otro tipo de tecnicas conocidas del estado de la tecnica y que nunca han sido utilizadas para realizar modelos de estimation de la glucosa son las tecnicas evolutivas. Las tecnicas evolutivas como la programacion genetica (PG) tienen ciertas caracteristicas que las hacen especialmente utiles para abordar problemas de optimization y modelado complejo. En primer lugar son "simples” conceptualmente hablando y tambien lo es su aplicacion. Sin embargo tienen una base teorica bien definida y ampliamente estudiada. La programacion genetica ha demostrado su aplicabilidad a multitud de problemas reales y es intrinsecamente paralelizables por trabajar con un conjunto de soluciones. Es mas, los algoritmos evolutivos tienen un gran potencial para incorporar conocimiento acerca del dominio en el que trabajan y para incorporar otros mecanismos de busqueda no necesariamente evolutivos.Another type of techniques known in the state of the art and that have never been used to perform glucose estimation models are evolutionary techniques. Evolutionary techniques such as genetic programming (PG) have certain characteristics that make them especially useful for addressing problems of optimization and complex modeling. In the first place they are conceptually "simple" and so is their application. However, they have a well-defined and widely studied theoretical basis. Genetic programming has demonstrated its applicability to a multitude of real problems and is intrinsically parallel to working with a set of Moreover, evolutionary algorithms have great potential to incorporate knowledge about the domain in which they work and to incorporate other search mechanisms that are not necessarily evolutionary.

Una de las aplicaciones mas conocidas de la programacion genetica es la regresion simbolica y la aplicacion de una de las variantes de la PG, las gramaticas evolutivas o en ingles Grammatical Evolution (GE) nos permite obtener soluciones para incorporar terminos no-lineales. La gramatica evolutiva GE es una tecnica de computation evolutiva establecida en 1998 por el grupo de Conor Ryan en la Universidad de Limerick (Irlanda). La programacion genetica trata de encontrar programas ejecutables o funciones que respondan a unos datos de referencia. La principal ventaja es que la gramatica evolutiva GE aplica operadores geneticos a una cadena completa lo que simplifica la aplicacion de la busqueda en diferentes lenguajes de programacion. Ademas no tiene problemas de memoria, al contrario que la programacion genetica basica, donde la representation en arbol puede llevar al conocido problema de bloating (un crecimiento excesivo de las estructuras de datos del computador en la memoria).One of the best known applications of genetic programming is the symbolic regression and application of one of the variants of the PG, evolutionary grammar or English Grammatical Evolution (GE) allows us to obtain solutions to incorporate non-linear terms. GE evolutionary grammar is an evolutionary computation technique established in 1998 by the Conor Ryan group at the University of Limerick (Ireland). Genetic programming tries to find executable programs or functions that respond to reference data. The main advantage is that GE evolutionary grammar applies genetic operators to a complete chain, which simplifies the application of the search in different programming languages. It also has no memory problems, unlike basic genetic programming, where tree representation can lead to the known problem of bloating (an excessive growth of computer data structures in memory).

55

1010

15fifteen

20twenty

2525

3030

Por todo ello, nosotros proponemos aplicar PG para encontrar un modelo personalizado que describa y prediga los niveles de glucosa de un paciente. Nuestro metodo tomara los datos historicos de un paciente que consisten en valores previos de glucosa carbohidratos tomados e insulinas inyectadas y a partir de ellos obtendra una expresion que puede usarse para predecir valores de glucosa en un futuro proximo.Therefore, we propose to apply PG to find a personalized model that describes and predicts a patient's glucose levels. Our method will take the historical data of a patient consisting of previous values of glucose carbohydrates taken and insulin injected and from them you will get an expression that can be used to predict glucose values in the near future.

Mediante los modelos del estado de la tecnica no es posible conocer una estimation de la glucosa en sangre en pacientes ni de forma generica ni personalizada al paciente. Ello implica que actualmente no es posible aplicar tratamientos adecuados a los pacientes con diabetes. Aunque existen muchos trabajos que usan modelos de control, hasta la fecha el problema del modelado no se ha abordado con tecnicas de computation evolutiva. Esta solution no se ha abordado hasta la fecha debido a su complejidad mediante el uso de tecnicas clasicas.Through the models of the state of the art it is not possible to know an estimation of blood glucose in patients either generically or personalized to the patient. This implies that it is currently not possible to apply appropriate treatments to patients with diabetes. Although there are many jobs that use control models, to date the problem of modeling has not been addressed with evolutionary computation techniques. This solution has not been addressed to date due to its complexity through the use of classical techniques.

DESCRIPCION DE LA INVENCIONDESCRIPTION OF THE INVENTION

La presente invention propone una tecnica nueva que implica obtener el modelo del paciente particularizado utilizando programacion genetica "GP” (del ingles "Genetic Programming”). La programacion genetica "GP” elimina las barreras relacionadas con la construction del modelo, tales como la linealidad o la limitation en los parametros de entrada. Mediante la aplicacion de la programacion genetica "GP” en la forma divulgada por la presente invencion, es posible encontrar un modelo personalizado que describa y prediga los niveles de glucosa de un paciente. El metodo de la presente invencion toma los datos historicos de un paciente que consisten en valores previos de glucosa carbohidratos tomados e insulinas inyectadas y, a partir de ellos, obtiene una expresion que puede usarse para predecir valores de glucosa en un futuro proximo.The present invention proposes a new technique that involves obtaining the particularized patient model using genetic programming "GP" ("Genetic Programming"). The "GP" genetic programming eliminates barriers related to the construction of the model, such as linearity or limitation in the input parameters. By applying the "GP" genetic programming in the manner disclosed by the present invention, it is possible Find a custom model that describes and predicts a patient's glucose levels. The method of the present invention takes the historical data of a patient consisting of previous values of glucose carbohydrates taken and insulin injected and, from them, obtains an expression that can be used to predict glucose values in the near future.

Un primer aspecto de la invencion es un metodo para el modelado del nivel de glucemia que permite predecir la glucosa de un individuo. El metodo comprende los siguientes pasos:A first aspect of the invention is a method for modeling the level of blood glucose that allows to predict the glucose of an individual. The method comprises the following steps:

i) obtener de un individuo unos datos que comprendan, para un tiempo k, al menos:i) obtain from an individual data that includes, for a period of time k, at least:

55

1010

15fifteen

20twenty

2525

3030

o unos niveles de glucosa Gl; o unos niveles de ingesta CH;or glucose levels Gl; or levels of CH intake;

o unos niveles de insulina inyectada de efecto rapido IS e insulina inyectada de efecto lento IL;or levels of insulin injected with rapid effect IS and insulin injected with slow effect IL;

ii) aplicar un Algoritmo Evolutivo a un conjunto de soluciones y a los datos anteriormente obtenidos;ii) apply an Evolutionary Algorithm to a set of solutions and to the data previously obtained;

iii) calcular una funcion GL de prediccion de la glucosa para un tiempo posterior (k+1) al tiempo k, tal que:iii) calculate a glucose prediction function GL for a later time (k + 1) at time k, such that:

GUk + 1) = f(Gi,CH,lS,lL).GUk + 1) = f (Gi, CH, lS, lL).

El paso ii) adicionalmente comprende llevar a cabo los siguientes sub-pasos:Step ii) additionally comprises carrying out the following sub-steps:

a) generar el conjunto de soluciones con N-soluciones aleatorias donde cada solucion esta formada por una cadena de caracteres (cromosoma);a) generate the set of solutions with random N-solutions where each solution is formed by a string of characters (chromosome);

b) calcular N-expresiones GLk para k=1,...,N obtenidas mediante la decodificacion del conjunto de las N-soluciones aleatorias aplicando una gramatica BNF y una funcion de mapeo;b) calculate N-expressions GLk for k = 1, ..., N obtained by decoding the set of random N-solutions by applying a BNF grammar and a mapping function;

c) calcular el error Ek que conlleva: calcular ek como la diferencia entre los datos obtenidos del paciente y las N-expresiones GLk; y, aplicar una funcion de fitness a cada uno de los errores anteriormente calculados ek; de tal forma que se obtiene para cada expresion GLk, un error asociado Ek;c) calculate the error Ek that entails: calculate ek as the difference between the data obtained from the patient and the N-expressions GLk; and, apply a fitness function to each of the previously calculated errors ek; such that an associated error Ek is obtained for each GLk expression;

d) seleccionar N-1 soluciones resultado de: tomar las N-soluciones y apartar la solucion de menor error Ek de las N-soluciones; enfrentar las N-1 soluciones tomadas de dos en dos, seleccionando la solucion de menor error Ek;d) select N-1 solutions resulting from: taking the N-solutions and separating the solution with the lowest error Ek from the N-solutions; face the N-1 solutions taken two by two, selecting the solution with the lowest error Ek;

e) cruzar las N-1 soluciones anteriores mediante un algoritmo de probabilidad de cruce;e) cross the previous N-1 solutions using a crossover probability algorithm;

f) mutar un caracter de las N-1 soluciones anteriores mediante un algoritmo de probabilidad de mutacion;f) mutate a character of the previous N-1 solutions using a mutation probability algorithm;

g) anadir la solucion de menor error Ek apartada en el paso d) a las N-1 soluciones anteriores;g) add the least error solution Ek set aside in step d) to the previous N-1 solutions;

h) repetir los pasos c) a g) hasta cumplir una condicion de parada predefinida.h) Repeat steps c) to g) until a predefined stop condition is met.

El algoritmo de probabilidad de cruce comprende:The crossover probability algorithm comprises:

i) tomar las N-1 soluciones de dos en dos;i) take the N-1 solutions two at a time;

66

55

1010

15fifteen

20twenty

2525

3030

ii) establecer una probabilidad de cruce entre 0 y 1;ii) establish a probability of crossing between 0 and 1;

iii) generar un numero aleatorio entre 0 y 1;iii) generate a random number between 0 and 1;

iv) si el numero aleatorio generado es mayor que la probabilidad de cruce, no hay cruce;iv) if the random number generated is greater than the probability of crossing, there is no crossing;

v) si el numero aleatorio generado es menor o igual que la probabilidad de cruce, se cruza parte de una solucion con parte de la otra solucion de tal forma que se mantiene la longitud de la cadena de caracteres.v) if the random number generated is less than or equal to the probability of crossover, part of one solution is crossed with part of the other solution in such a way that the length of the character string is maintained.

Por otro lado, el algoritmo de probabilidad de mutacion comprende:On the other hand, the mutation probability algorithm comprises:

i) tomar las N-1 soluciones de una en una;i) take the N-1 solutions one at a time;

ii) establecer una probabilidad de mutacion entre 0 y 1;ii) establish a probability of mutation between 0 and 1;

iii) generar un numero aleatorio entre 0 y 1;iii) generate a random number between 0 and 1;

iv) si el numero aleatorio generado es mayor que la probabilidad de mutacion, no hay mutacion;iv) if the random number generated is greater than the probability of mutation, there is no mutation;

v) si el numero aleatorio generado es menor o igual que la probabilidad de mutacion, se muta uno o mas caracteres de la cadena de caracteres de tal forma que se mantiene la longitud de la cadena de caracteres.v) if the random number generated is less than or equal to the probability of mutation, one or more characters of the character string are mutated so that the length of the character string is maintained.

Adicionalmente, la condicion de parada predefinida es al menos una de las siguientesAdditionally, the predefined stop condition is at least one of the following

condiciones:terms:

• maximo numero de iteraciones;• maximum number of iterations;

• convergencia: no mejora en un numero "p” de iteraciones;• convergence: does not improve in a number "p" of iterations;

• estar cerca de un optimo teorico.• be close to an optimal theoretician.

Por otro lado, la funcion de fitness es una de las siguientes funciones (ver tabla 2):On the other hand, the fitness function is one of the following functions (see table 2):

• mmimos cuadrados F1 (Least Squares);• square millimeters F1 (Least Squares);

• error medio F2 (Average Error);• average error F2 (Average Error);

• error maximo F3 (Maximum Error);• maximum error F3 (Maximum Error);

• error cuadratico medio F4 (RSME);• mean square error F4 (RSME);

• desviacion absoluta media F5 (MAD).• mean absolute deviation F5 (MAD).

Objective  Objective
Fitness Function  Fitness Function

Least Squares  Least Squares
= ELi  = ELi

Average Error  Average Error
K = w ZL «i  K = w ZL «i

Maximum Error  Maximum Error
F3 = max(ek), 1 < k < N  F3 = max (ek), 1 <k <N

RSME  RSME
II M it* i-1- ft to  II M it * i-1- ft to

MAD  MAD
p _ 1 y^N efc x Z^k=1 GL(k)  p _ 1 y ^ N efc x Z ^ k = 1 GL (k)

Tabla 2.- Funciones de Fitness.Table 2.- Fitness functions.

La prediccion de la glucosa anteriormente calculada se obterna a partir de cuatro datos 5 de entrada tomado del paciente. No obstante, el numero de datos de entrada puede ser variable hasta un total de veinticinco variables de entrada. Asi, la solucion GL(k + 1) de partida se ampliaria hasta tener una expresion como la siguiente:The prediction of the glucose previously calculated is obtained from four input data taken from the patient. However, the number of input data can be variable up to a total of twenty-five input variables. Thus, the starting solution GL (k + 1) would be extended until it has an expression like the following:

GL(k + 1) = f(P,E,k,SI,IG,PG,CI,M,IC,IP,DI,OC,TI,FV,VI,PC,TE,FA,G(),C(), IS(),GL (k + 1) = f (P, E, k, SI, IG, PG, CI, M, IC, IP, DI, OC, TI, FV, VI, PC, TE, FA, G (), C (), IS (),

10 IL(),F(),E(),Z)10 IL (), F (), E (), Z)

donde el operador • representa cualquier instante actual o anterior en el tiempo y donde f es una funcion que se calcula mediante una gramatica BNF que comprende la siguiente forma:where the operator • represents any current or previous moment in time and where f is a function that is calculated using a BNF grammar comprising the following form:

15fifteen

<f> ::= <f><OP><f><f> :: = <f><OP> <f>

| (<f><OP><f>)| (<f> <OP> <f>)

| <PREOP>(<f>)| <PREOP> (<f>)

| <V>| <V>

20 | <Z>20 | <Z>

<OP> ::= +<OP> :: = +

|-| -

I*I *

55

1010

15fifteen

20twenty

2525

3030

|/| /

<PREOP> ::= SIN<PREOP> :: = SIN

COSCOS

EXPEXP

TANSO

LOGLOG

ABSABS

LNLN

TANHTanh

COSHCOSH

SENHSENH

DERIVADA_CON_RESPECTO_AL_TIEMPO DERIVADA_CUADRADO_CON_RESPECTO_AL_TIEMPO DERIVADA_TERCERA_CON_RESPECTO_AL_TIEMPO <V> ::= <P>DERIVADA_CON_RESPECTO_AL_TIMPO DERIVADA_CUADRADO_CON_RESPECTO_AL_TIMPO DERIVADA_TERCERA_CON_RESPECTO_AL_TIEMPO <V> :: = <P>

<A><A>

#{k}# {k}

<SI><SI>

<IG><IG>

<PG><PG>

<CI><CI>

<M><M>

<IC><IC>

<IP><IP>

<DI><DI>

<OC><OC>

<TI><TI>

<FV><FV>

<VI><VI>

<PC><PC>

<TE><TE>

<FA><FA>

#{G[k-<J>]}# {G [k- <J>]}

55

1010

15fifteen

20twenty

2525

3030

|#{C[k-<J>]}| # {C [k- <J>]}

|#{IS[k-<J>]}| # {IS [k- <J>]}

|#{IL[k-<J>]}| # {IL [k- <J>]}

|#{F[k-<J>]}| # {F [k- <J>]}

l#{E[k-<J>]}l # {E [k- <J>]}

|#<Z>| # <Z>

<P> ::= "el peso del individuo en kg.”;<P> :: = "the weight of the individual in kg.";

<E> ::= "edad del individuo en anos”;<E> :: = "age of the individual in years";

<SI> ::= "unidades de glucemia que baja 1 unidad de insulina en mg/dl”;<SI> :: = "glycemic units that lower 1 unit of insulin in mg / dl";

<IG> ::= "mdice glucemico de la ingesta” (el de la glucosa es 1, y puede ser mayor o menor;)<IG> :: = "glycemic intake index" (that of glucose is 1, and may be higher or lower;)

<PG> ::= <D>.<D><PG> :: = <D>. <D>

<CI> ::= <D>.<D><CI> :: = <D>. <D>

<M> ::= 0<M> :: = 0

<IC> ::= 5<IC> :: = 5

<IP> ::= 0<IP> :: = 0

<DI> ::= 2<DI> :: = 2

<OC> ::= 3<OC> :: = 3

<TI> ::= 12<TI> :: = 12

<FV> ::= 0.2<FV> :: = 0.2

<VI> ::= 0.8<VI> :: = 0.8

<PC> ::= 0.6<PC> :: = 0.6

<FTSI> ::= +<D>.<D><FTSI> :: = + <D>. <D>

|-<D>.<D>| - <D>. <D>

<J> ::= 0 |1 |2 |3<J> :: = 0 | 1 | 2 | 3

I ■■■I ■■■

| "instantes de tiempo” (por ejemplo: 96 ^ 24 horas a intervalos de 15 minutos = 96 instantes de tiempo. En el caso de usar otro horizonte de prediccion u otro periodo de muestreo habria que modificar esta regla)| "instants of time" (for example: 96 ^ 24 hours at 15-minute intervals = 96 instants of time. In the case of using another prediction horizon or another sampling period, this rule would have to be modified)

<Z> ::= <D>.<D><Z> :: = <D>. <D>

55

1010

15fifteen

20twenty

2525

3030

<D> ::= 0 |1 |2 |3 |4 |5 |6 |7 |8 |9<D> :: = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

donde los distintos parametros de entrada son:where the different input parameters are:

P: peso actual en kg;P: current weight in kg;

A: edad actual en anos; k: instante actual;A: current age in years; k: current instant;

FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina;FSI: insulin sensitivity or mg / dl that lowers blood glucose per unit of insulin;

IG: es el mdice glucemico;IG: is the glycemic index;

PG: unidades protema/grasa: cantidad de alimento que aporta 100Kcal en forma de grasa y/o protemas, se mide en unidades;PG: protein / fat units: amount of food that provides 100Kcal in the form of fat and / or protein, is measured in units;

CI: ratio Hidratos de carbono / insulina;CI: carbohydrate / insulin ratio;

M: menstruacion , Si =1 o no=0;M: menstruation, Yes = 1 or not = 0;

IC: insulina Circulante, unidades de insulina;IC: Circulating insulin, insulin units;

IP: intervalo entre comienzo de la infusion de insulina prandial y comienzo de la ingesta, en intervalos de 15 minutos;IP: interval between the beginning of the infusion of prandial insulin and the beginning of the intake, in 15-minute intervals;

DI: tiempo de duracion de la ultima ingesta en intervalos de 15 minutos;DI: duration of the last intake in 15 minute intervals;

OC: orden en que se consumen los alimentos; (numero natural correspondiente a una fila en una tabla de posibles ordenaciones)OC: order in which food is consumed; (natural number corresponding to a row in a table of possible ordinations)

TI: tiempo desde la ultima ingesta en intervalos de 15 minutos;TI: time since the last intake in 15 minute intervals;

FV: factor de variabilidad de absorcion, valor entre 0 y 1;FV: absorption variability factor, value between 0 and 1;

VI: variabilidad de la insulina, valor entre 0 y 1;VI: insulin variability, value between 0 and 1;

PC: preparation de la comida (fritos, asados, condimentos..), valor entre 0 y 1;PC: preparation of the food (fried, roasted, condiments ..), value between 0 and 1;

FTSI: factor transitorio de sensibilidad a la insulina, vendra determinado por el efecto de distintos tipos de enfermedades que tiene el paciente y por los farmacos que tomaFTSI: transient insulin sensitivity factor, will be determined by the effect of different types of diseases that the patient has and by the drugs he takes

55

1010

15fifteen

20twenty

2525

3030

el paciente, que aumentan o disminuyen la glucosa, y el efecto de la insulina. Lo definimos como un valor que va de -1 a 1;the patient, which increase or decrease glucose, and the effect of insulin. We define it as a value that goes from -1 to 1;

Z: es una constante; en cuanto a historicos:Z: is a constant; as for historical:

G() es el historico de la glucemia (o parte de el);G () is the blood glucose history (or part of it);

C() es el historico de carbohidratos;C () is the history of carbohydrates;

IS() es la insulina de action corta;IS () is short-acting insulin;

IL() es la insulina de accion larga;IL () is long-acting insulin;

F() es el ejercicio fisico; y,F () is the physical exercise; Y,

E() es el nivel de estres.E () is the stress level.

Respecto de la funcion de mapeo indicada anteriormente, esta comprende la siguiente expresion:Regarding the mapping function indicated above, this includes the following expression:

Choice^ = (CIV)MOD (# of choicesf)Choice ^ = (CIV) MOD (# of choicesf)

donde Choicei es la election seleccionada para el no-terminal i, CIV es el codon que estamos decodificando, MOD es la funcion modulo y (# of choices^ es el numero de opciones posibles para la regla en el terminal i.where Choicei is the selected election for non-terminal i, CIV is the codon we are decoding, MOD is the module function and (# of choices ^ is the number of possible options for the rule in terminal i.

Hasta aqu queda descrito el metodo de la presente invention cuando partimos de cero. Es decir, no existe un modelo anterior de la presente invencion aplicado al paciente. En caso de existir un modelo anterior, metodo de la presente invencion, entre los pasos i) y ii), opcionalmente comprendia evaluar si es o no correcta la funcion GL (=modelo) de prediction de la glucosa.So far the method of the present invention is described when we start from scratch. That is, there is no previous model of the present invention applied to the patient. If there is an earlier model, method of the present invention, between steps i) and ii), optionally it included assessing whether or not the function GL (= model) of glucose prediction is correct.

En otro aspecto de la presente invencion, la presente invencion comprende un programa de ordenador para la ejecucion de un metodo para el modelado del nivel de glucemia la prediccion de la glucosa segun una cualquiera de la realizaciones descritas anteriormente o en el apartado “description de una o varias formas de realization de la invencion”.In another aspect of the present invention, the present invention comprises a computer program for the execution of a method for modeling blood glucose level glucose prediction according to any one of the embodiments described above or in the "description of a or various forms of realization of the invention ”.

En otro aspecto de la presente invencion, la presente invencion comprende un medio de almacenamiento que contiene un programa de ordenador para la ejecucion de unIn another aspect of the present invention, the present invention comprises a storage medium containing a computer program for the execution of a

1212

55

1010

15fifteen

20twenty

2525

3030

metodo para el modelado del nivel de glucemia la prediction de la glucosa segun una cualquiera de la realizaciones descritas anteriormente o en el apartado “description de una o varias formas de realization de la invention”.method for modeling the blood glucose level the prediction of glucose according to any one of the embodiments described above or in the section "description of one or more embodiments of the invention".

El ultimo aspecto de la presente invencion esta comprendido por un sistema computacional en el que se carga el programa de ordenador anteriormente descrito.The last aspect of the present invention is comprised of a computer system in which the computer program described above is loaded.

BREVE DESCRIPCION DE LAS FIGURASBRIEF DESCRIPTION OF THE FIGURES

Figura 1.- Representa un diagrama de flujo para calcular el modelo de prediccion de la glucosa.Figure 1.- Represents a flow chart to calculate the glucose prediction model.

Figura 2.- Representa un diagrama de flujo para calcular el modelo de prediccion de la glucosa en una implementation web.Figure 2.- Represents a flow chart to calculate the glucose prediction model in a web implementation.

Figura 3.- Es el ejemplo de gramatica en BNF disenada para regresion simbolica.Figure 3.- It is the example of grammar in BNF designed for symbolic regression.

Figura 4.- Es un primer ejemplo de gramatica BNF.Figure 4.- It is a first example of BNF grammar.

Figura 5.- Es un segundo ejemplo de gramatica BNF.Figure 5.- It is a second example of BNF grammar.

Figura 6.- Es un tercer ejemplo de gramatica BNF.Figure 6.- It is a third example of BNF grammar.

Figura 7.- Es un cuarto ejemplo de gramatica BNF.Figure 7.- It is a fourth example of BNF grammar.

DESCRIPCION DE UNA O VARIAS FORMAS DE REALIZACION DE LADESCRIPTION OF ONE OR VARIOUS FORMS OF REALIZATION OF THE

INVENCIONINVENTION

Seguidamente se realiza una description de una o varias formas de realizacion de la invencion que, de forma no limitativa, ayudan a la mejor comprension de la presente invencion.Next, a description is made of one or several embodiments of the invention that, in a non-limiting way, help to better understand the present invention.

La figura 1 muestra un diagrama de flujo del metodo de acuerdo con la presente invencion. Primeramente, se realiza una recogida de datos 1 durante un periodo deFigure 1 shows a flow chart of the method according to the present invention. First, data collection 1 is carried out during a period of

55

1010

15fifteen

20twenty

2525

3030

tiempo determinado k, por ejemplo siete d^as. Los datos recogidos son al menos los niveles de glucosa GL, los niveles de ingesta CH y los niveles de insulina de efecto rapido IS y de efecto lento IL. Posteriormente, se evalua 2 si el modelo (=funcion GL) es correcto (si ya existe previamente un modelo). En caso afirmativo, se continua recogiendo datos. En caso contrario, se aplica un algoritmo evolutivo 3 consistente, basicamente, en personalizar una gramatica en formato BNF 4 mediante la aplicacion de una funcion de mapeo 5. Como resultado de la aplicacion del algoritmo evolutivo 3, se obtiene un nuevo modelo caracterizado por la funcion 6:given time k, for example seven days. The data collected are at least GL glucose levels, CH intake levels and IS rapid and IL slow effect insulin levels. Subsequently, 2 is evaluated if the model (= GL function) is correct (if a model already exists previously). If yes, it continues to collect data. Otherwise, an evolutionary algorithm 3 is applied, basically consisting of customizing a grammar in BNF format 4 by applying a mapping function 5. As a result of the application of the evolutionary algorithm 3, a new model characterized by the function 6:

GL(k + 1) = f(Gl, CH, IS, IL)GL (k + 1) = f (Gl, CH, IS, IL)

que depende de los datos recogidos que son al menos GL, CH, IS e IL.It depends on the data collected that are at least GL, CH, IS and IL.

Los datos recogidos se pueden ampliar con una o varias variables de entrada hasta obtener un modelo caracterizado por una funcion con la siguiente expresion:The collected data can be extended with one or several input variables until a model characterized by a function with the following expression is obtained:

GL(k + 1) = f(P,E,k,SI,IG,PG,CI,M,IC,IP,DI,OC,TI,FV,VI,PC,TE,FA,G(),C(), IS(),GL (k + 1) = f (P, E, k, SI, IG, PG, CI, M, IC, IP, DI, OC, TI, FV, VI, PC, TE, FA, G (), C (), IS (),

il(),f(),e(),z)il (), f (), e (), z)

donde:where:

P: peso actual en kg;P: current weight in kg;

A: edad actual en anos; k: instante actual;A: current age in years; k: current instant;

FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina;FSI: insulin sensitivity or mg / dl that lowers blood glucose per unit of insulin;

IG: es el mdice glucemico u;IG: is the glycemic index u;

PG: unidades protema/grasa: cantidad de alimento que aporta 100Kcal en forma de grasa y/o protemas, se mide en unidades;PG: protein / fat units: amount of food that provides 100Kcal in the form of fat and / or protein, is measured in units;

CI: ratio Hidratos de carbono / insulina;CI: carbohydrate / insulin ratio;

M: menstruacion (dias desde la ultima menstruacion), Si =1 o no=0;M: menstruation (days since the last menstruation), Yes = 1 or not = 0;

IC: insulina Circulante, unidades de insulina;IC: Circulating insulin, insulin units;

IP: intervalo entre comienzo de la infusion de insulina prandial y comienzo de la ingesta, en intervalos de 15 minutos;IP: interval between the beginning of the infusion of prandial insulin and the beginning of the intake, in 15-minute intervals;

DI: tiempo de duracion de la ultima ingesta en intervalos de 15 minutos;DI: duration of the last intake in 15 minute intervals;

OC: orden en que se consumen los alimentos; (numero natural correspondiente a unaOC: order in which food is consumed; (natural number corresponding to one

1414

55

1010

15fifteen

20twenty

2525

3030

fila en una tabla de posibles ordenaciones)row in a table of possible ordinations)

TI: tiempo desde la ultima ingesta en intervalos de 15 minutos;TI: time since the last intake in 15 minute intervals;

FV: factor de variabilidad de absorcion, valor entre 0 y 1;FV: absorption variability factor, value between 0 and 1;

VI: variabilidad de la insulina, valor entre 0 y 1;VI: insulin variability, value between 0 and 1;

PC: preparation de la comida (fritos, asados, condimentos..), valor entre 0 y 1;PC: preparation of the food (fried, roasted, condiments ..), value between 0 and 1;

FTSI: factor transitorio de sensibilidad a la insulina, vendra determinado por el efecto de distintos tipos de enfermedades que tiene el paciente y por los farmacos que toma el paciente, que aumentan o disminuyen la glucosa, y el efecto de la insulina. Lo definimos como un valor que va de -1 a 1;FTSI: transient insulin sensitivity factor, will be determined by the effect of different types of diseases that the patient has and by the drugs taken by the patient, which increase or decrease glucose, and the effect of insulin. We define it as a value that goes from -1 to 1;

Z: es una constante; en cuanto a historicos:Z: is a constant; as for historical:

G() es el historico de la glucemia (o parte de el);G () is the blood glucose history (or part of it);

C() es el historico de carbohidratos;C () is the history of carbohydrates;

IS() es la insulina de action corta;IS () is short-acting insulin;

IL() es la insulina de accion larga;IL () is long-acting insulin;

F() es el ejercicio fisico; y,F () is the physical exercise; Y,

E() es el nivel de estres.E () is the stress level.

La figura 2 muestra un diagrama de flujo donde el metodo de la presente invention se encuentra implementado dentro de un sistema computacional que comprende una base de datos 7 y una aplicacion web 8, a traves de la cual, un paciente 9 puede introducir 11 en la base de datos 7 los datos correspondientes a los niveles de glucosa medidos por un medidor continuo de glucosa 10. El sistema computacional adicionalmente comprende unos medios computacionales 15 tales como memorias, microprocesadores, unidades de entrada/salida. Los medios computacionales 15 estan encargados de almacenar las gramaticas y procesar el algoritmo evolutivo para obtener el modelo o expresion matematica para GL(k+1) 6 con el que obtener la prediction de la glucosa 13. Los modelos computaciones 15 pueden ampliarse con medios computacionales opcionales 15’ que servirian para predecir la glucosa 14 e indicar los bolos de insulina en un tiempo futuro (por ejemplo 2 horas) combination la funcion GL(k+1) con los datos "instantaneos” de glucosa, ingesta prevista, ejercicio fisico e insulina pautada 12.Figure 2 shows a flow chart where the method of the present invention is implemented within a computer system comprising a database 7 and a web application 8, through which, a patient 9 can enter 11 into the database 7 data corresponding to glucose levels measured by a continuous glucose meter 10. The computer system additionally comprises computational means 15 such as memories, microprocessors, input / output units. The computational means 15 are in charge of storing the grammar and processing the evolutionary algorithm to obtain the mathematical model or expression for GL (k + 1) 6 with which to obtain the prediction of glucose 13. The computational models 15 can be extended with computational means optional 15 'that would serve to predict glucose 14 and indicate insulin boluses in a future time (for example 2 hours) combining the GL function (k + 1) with the "instantaneous" glucose data, expected intake, physical exercise and insulin regulated 12.

55

1010

15fifteen

20twenty

2525

3030

A continuation se detalla como se aplica el algoritmo evolutivo para modelar el nivel de glucemia en individuos mediante Programacion Genetica, y especialmente en sujetos con Diabetes Mellitus.Next, it is detailed how the evolutionary algorithm is applied to model the level of glycemia in individuals by means of Genetic Programming, and especially in subjects with Diabetes Mellitus.

1. Aproximacion Evolutiva1. Evolutionary Approach

El objetivo de la presente invention es encontrar una expresion que modele el nivel de glucosa de un paciente diabetico. Esta expresion debe ser obtenida, al menos, a partir de datos previos de glucosa, carbohidratos e insulina almacenados en un sistema o base de datos. Por lo tanto, estamos ante un problema similar al problema de la regresion simbolica. La regresion simbolica trata de obtener expresiones matematicas que reproduzcan un conjunto discreto de datos.The objective of the present invention is to find an expression that models the glucose level of a diabetic patient. This expression must be obtained, at least, from previous glucose, carbohydrate and insulin data stored in a system or database. Therefore, we are facing a problem similar to the problem of symbolic regression. Symbolic regression tries to obtain mathematical expressions that reproduce a discrete set of data.

La Programacion Genetica (PG) ha demostrado ser efectiva en un alto numero de problemas de regresion simbolica, aunque tiene algunas limitaciones, que a menudo vienen del modo de representation como por ejemplo el "bloating”. Otro punto que hay que considerar es que en Programacion Genetica (PG), la evolution se produce en el fenotipo del individuo y no en su representacion (genotipo). Durante los ultimos anos, variantes de la programacion genetica, las gramaticas evolutivas han aparecido para proponer diferentes aproximaciones a la evolucion. La Gramatica Evolutiva (GE) permite la generation de programas de computador en un lenguaje arbitrario. Esto se consigue mediante la utilization de gramaticas para especificar las reglas de obtencion de programas. Espedficamente, la presente invencion utiliza gramaticas expresadas en la forma de BNF (Backus Naur form).Genetic Programming (PG) has proven effective in a large number of symbolic regression problems, although it has some limitations, which often come from the mode of representation such as "bloating." Another point to consider is that in Genetic Programming (PG), evolution occurs in the phenotype of the individual and not in its representation (genotype) During the last years, variants of genetic programming, evolutionary grammar have appeared to propose different approaches to evolution. Evolutionary (GE) allows the generation of computer programs in an arbitrary language.This is achieved through the use of grammar to specify the rules for obtaining programs.Specifically, the present invention uses grammar expressed in the form of BNF (Backus Naur form ).

En contraste con los algoritmos geneticos, que trabajan con representacion de soluciones, la Gramatica Evolutiva GE trabaja (evoluciona) con un codigo genetico que determina el proceso de production de la solution. El proceso de traduction de codigo se determina por las Gramaticas representadas como BNF.In contrast to the genetic algorithms, which work with representation of solutions, the Evolutionary Grammar GE works (evolves) with a genetic code that determines the production process of the solution. The process of code translation is determined by the Grammar represented as BNF.

BNF es una notation tecnica para expresar gramaticas libres de contexto. Una representacion en BNF puede ser cualquier especificacion de un lenguaje completo oBNF is a technical notation to express context-free grammar. A representation in BNF can be any specification of a complete language or

55

1010

15fifteen

20twenty

2525

3030

un subconjunto de un lenguaje orientado al problema. Una especificacion BNF es un conjunto de reglas de derivation, expresadas en la forma:a subset of a problem oriented language. A BNF specification is a set of derivation rules, expressed in the form:

<s^bolo> ::= <expresion><s ^ bolus> :: = <expression>

Las reglas estan compuestas de secuencias de terminales y no terminales. Los s^bolos que aparecen a la izquierda son no-terminales, mientras que los terminales nunca aparecen al lado izquierdo. En este caso, se puede afirmar que <s^bolo> es no-terminal y, aunque no es una especificacion BNF completa, tambien se puede afirmar para la presente invention que <expresion> sera un no-terminal ya que siempre aparecen entre el par <>. Por tanto, en este caso, el no-terminal <simbolo> sera remplazado por una expresion. La operation de remplazo se representa con “::=”. El resto de la gramatica debe indicar las diferentes posibilidades.The rules are composed of terminal and non-terminal sequences. The symbols that appear on the left are non-terminal, while the terminals never appear on the left side. In this case, it can be affirmed that <symbol ^ is non-terminal and, although it is not a complete BNF specification, it can also be affirmed for the present invention that <expression> will be a non-terminal since they always appear between the pair <>. Therefore, in this case, the non-terminal <symbol> will be replaced by an expression. The replacement operation is represented with ":: =". The rest of the grammar must indicate the different possibilities.

Una gramatica esta representada por una 4-tupla {N, T, P, S}, siendo N el conjunto de no-terminales, T es el conjunto de terminales, P son las reglas de production para la asignacion de elementos de N a T, y S es un simbolo de comienzo que deberia aparecer en N. Las opciones dentro de una regla de produccion estan separadas por el simbolo “|”.A grammar is represented by a 4-tuple {N, T, P, S}, where N is the set of non-terminals, T is the set of terminals, P are the production rules for the assignment of elements from N to T , and S is a start symbol that should appear in N. The options within a production rule are separated by the symbol "|".

La Figura 3 representa un ejemplo de gramatica en BNF disenado para regresion simbolica. El codigo que representa una expresion consistira de elementos de un conjunto de terminales T. Estos han sido combinados con las reglas de la gramatica como se explica mas adelante.Figure 3 represents an example of grammar in BNF designed for symbolic regression. The code that represents an expression will consist of elements of a set of T terminals. These have been combined with the rules of grammar as explained below.

Ademas las gramaticas pueden ser adaptadas para sesgar la busqueda del proceso evolutivo porque hay un numero finito de opciones de reglas de produccion, la cual limita el espacio de busqueda.In addition the grammar can be adapted to skew the search of the evolutionary process because there is a finite number of options of production rules, which limits the search space.

2. Proceso de Mapeo.2. Mapping process.

Como se ha mencionado anteriormente, la presente invencion aplica un algoritmo evolutivo para evolucionar genotipos, los cuales se representan como una cadena deAs mentioned above, the present invention applies an evolutionary algorithm to evolve genotypes, which are represented as a chain of

55

1010

15fifteen

20twenty

2525

3030

valores enteros. Cada genotipo mapea el s^bolo de comienzo a s^bolos terminales leyendo los codones, los cuales, en este ejemplo de realization, tienen una longitud de 8 bits. El proceso es similar al explicado en la section previa pero, en vez de hacer elecciones aleatorias, tomaremos las decisiones leyendo el genotipo. Cada codon es por tanto un valor entero del genotipo, el cual es procesado mediante la siguiente funcion de mapeo:integer values Each genotype maps the start symbol to terminal symbols by reading the codons, which, in this example of realization, are 8 bits long. The process is similar to the one explained in the previous section but, instead of making random choices, we will make the decisions by reading the genotype. Each codon is therefore an integer value of the genotype, which is processed by the following mapping function:

Choice^ = (CIV)MOD (# of choicesf)Choice ^ = (CIV) MOD (# of choicesf)

donde Choicei es la election seleccionada para el no-terminal i, CIV es el codon que se esta decodificando, MOD es la funcion modulo y (# of choices) es el numero de opciones posibles para la regla en el terminal i.where Choicei is the selected election for the non-terminal i, CIV is the codon that is being decoded, MOD is the module function and (# of choices) is the number of possible options for the rule in terminal i.

La funcion de mapeo toma el valor entero del cromosoma, calcula el modulo respecto al numero de posibilidades de la regla y selecciona la option de acuerdo con el resultado. Dado que la funcion modulo devuelve valores entre 0 y (# of choices) - 1, la primera opcion corresponded al primer valor, 0, la segunda a 1, y asi sucesivamente. Por tanto, si una regla tiene solo una posibilidad, esta siempre sera seleccionada.The mapping function takes the integer value of the chromosome, calculates the module with respect to the number of possibilities of the rule and selects the option according to the result. Since the module function returns values between 0 and (# of choices) - 1, the first option corresponds to the first value, 0, the second to 1, and so on. Therefore, if a rule has only one possibility, it will always be selected.

En el presente ejemplo de realizacion, el proceso de mapeado usa la gramatica de la Figura 3, disenada para resolver un problema de regresion simbolica y los problemas del modelo de la glucosa, a falta de particularizar el conjunto terminal, lo cual se describe en la siguiente seccion. Un individuo se compone de una serie de genes (valores enteros). Cada gen puede tomar un valor entre 0 y 255 ya que los codones son de 8 bits. Supongamos por ejemplo el siguiente individuo de 7 genes:In the present embodiment, the mapping process uses the grammar of Figure 3, designed to solve a problem of symbolic regression and glucose model problems, in the absence of particularizing the terminal set, which is described in the Next section An individual is made up of a series of genes (integer values). Each gene can take a value between 0 and 255 since the codons are 8 bits. Assume for example the following individual of 7 genes:

12 - 55 - 23 - 47 - 38 - 254 - 212 - 55 - 23 - 47 - 38 - 254 - 2

El simbolo comienzo es S = { expr }, por tanto la expresion de la solution comenzara con este no-terminal:The start symbol is S = {expr}, so the expression of the solution will start with this non-terminal:

Solucion = <expr>Solution = <expr>

Para obtener el fenotipo aplicamos la funcion de mapeo al primer gen (CIV = 12) usando la regla del primer no-terminal de la expresion. En este punto solo aparece unTo obtain the phenotype we apply the mapping function to the first gene (CIV = 12) using the rule of the first non-terminal of the expression. At this point only one

55

1010

15fifteen

20twenty

2525

3030

no-terminal, <expr>, el cual se corresponde con la regla I de la Figura 3. El numero de opciones en esa regla es tres. Por tanto, la funcion mapeo aplicada es:non-terminal, <expr>, which corresponds to rule I of Figure 3. The number of options in that rule is three. Therefore, the mapping function applied is:

12 MOD 3 = 012 MOD 3 = 0

Por lo que se selecciona la primera opcion, <expr> <op> <expr>, y se continua con el proceso de mapeo. La opcion seleccionada sustituye los no-terminales decodificados. Como resultado la expresion es, en este punto,:So the first option is selected, <expr> <op> <expr>, and the mapping process is continued. The option selected replaces the decoded non-terminals. As a result, the expression is, at this point:

Solucion = <expr> <op> <expr>Solution = <expr> <op> <expr>

El proceso continuara con el siguiente gen, 55, el cual se emplea en decodificar el primer no-terminal de la expresion en su estado de desarrollo actual. A continuation se aplica de nuevo el mapeo, ahora a la regla I:The process will continue with the following gene, 55, which is used to decode the first non-terminal of the expression in its current state of development. Then the mapping is applied again, now to rule I:

55 MOD 3 = 155 MOD 3 = 1

La segunda opcion, <pre_op> (<expr>), es entonces seleccionada. La expresion pasa a ser:The second option, <pre_op> (<expr>), is then selected. The expression becomes:

Solucion = <pre op> (<expr>) <op> <expr>Solution = <pre op> (<expr>) <op> <expr>

El siguiente gen, 23, pasa a ser descodificado. En este punto del proceso, el primer no-terminal que aparece en la expresion es <pre_op>. Por tanto, se puede aplicar la funcion de mapeo a la regla III, la cual tiene tres posibilidades:The next gene, 23, becomes decoded. At this point in the process, the first non-terminal that appears in the expression is <pre_op>. Therefore, the mapping function can be applied to rule III, which has three possibilities:

23 MOD 3 = 223 MOD 3 = 2

Al tomar el valor 2 se selecciona la tercera opcion, el simbolo terminal Abs.When taking the value 2, the third option is selected, the terminal symbol Abs.

La expresion pasa a ser:The expression becomes:

Solucion = Abs(<expr>) <op> <expr> El siguiente gen, 47, descodifica <expr> con la regla I:Solution = Abs (<expr>) <op> <expr> The following gene, 47, decodes <expr> with rule I:

55

1010

15fifteen

20twenty

2525

3030

47 MOD 3 = 247 MOD 3 = 2

Por lo que se selecciona la tercera opcion, <var>. La expresion pasa a ser:So the third option is selected, <var>. The expression becomes:

Solucion = Abs(<var>) <op> <expi>Solution = Abs (<var>) <op> <expi>

El gen 38 descodifica <var> con la regla IV:Gene 38 decodes <var> with rule IV:

38 MOD 2 = 038 MOD 2 = 0

Dicho valor selecciona la primera opcion, el no-terminal X.This value selects the first option, the non-terminal X.

Solution = Abs(X) <op> <expi>Solution = Abs (X) <op> <expi>

El no-terminal <op> se descodifica con 254 y la regla II:The non-terminal <op> is decoded with 254 and rule II:

254 MOD 4 = 2254 MOD 4 = 2

Este valor selecciona la tercera opcion, el terminal *.This value selects the third option, the * terminal.

Solucion = Abs(X) * <expi>Solution = Abs (X) * <expi>

El siguiente gen, 2, descodifica <expr> con la regla I:The following gene, 2, decodes <expr> with rule I:

2 MOD 3 = 22 MOD 3 = 2

Este valor selecciona la tercera opcion, el no-terminal <var>.This value selects the third option, the non-terminal <var>.

Solucion = Abs(X) * <vai>Solution = Abs (X) * <vai>

En este punto el proceso de transformation de genotipo a fenotipo ha agotado los codones. Es decir, se han utilizado todos los genes o codones pero no se ha llegado a una expresion con terminales en todos sus componentes.At this point the process of transformation from genotype to phenotype has depleted the codons. That is to say, all the genes or codons have been used but an expression with terminals in all its components has not been reached.

55

1010

15fifteen

20twenty

2525

3030

La solucion es reusar los codones comenzando por el primero otra vez. Esto representa una novedad respecto de los algoritmos evolutivos distintos de las Gramaticas Evolutivas, del estado de la tecnica. De hecho es posible reutilizar los codones varias veces. Esta tecnica se conoce como "wrapping” y simula el fenomeno de solapamiento de genes que se da en muchos organismos. Reusar codones no es un problema ya que en Gramatica Evolutiva (GE), un codon siempre genera el mismo valor entero y, si se aplica a la misma regla, genera la misma solucion. Sin embargo, si los usamos con reglas diferentes obtendremos diferentes partes de fenotipos. Asi, las Gramaticas Evolutivas (GE) aseguran que un genotipo individual siempre produce el mismo fenotipo. Por tanto, el "wrapping” no supone un problema.The solution is to reuse the codons starting with the first one again. This represents a novelty regarding evolutionary algorithms other than Evolutionary Grammar, of the state of the art. In fact it is possible to reuse the codons several times. This technique is known as "wrapping" and simulates the phenomenon of gene overlapping that occurs in many organisms. Reusing codons is not a problem since in Evolutionary Grammar (GE), a codon always generates the same integer value and, if it applies to the same rule, it generates the same solution. However, if we use them with different rules we will obtain different parts of phenotypes. Thus, Evolutionary Grammar (GE) ensures that an individual genotype always produces the same phenotype. Therefore, the " wrapping ”is not a problem.

De esta manera, aplicando el "wrapping”, el proceso vuelve atras, al primer gen, 12, el cual se utiliza para decodificar <var> con la regla IV:Thus, applying "wrapping", the process goes back, to the first gene, 12, which is used to decode <var> with rule IV:

12 MOD 2 = 012 MOD 2 = 0

Este valor selecciona la primera opcion, el no-terminal X, dando lugar a la expresion definitiva del fenotipo:This value selects the first option, the non-terminal X, giving rise to the definitive expression of the phenotype:

Solucion = Abs(X) * XSolution = Abs (X) * X

En la siguiente seccion se describen cuatro gramaticas correspondientes a cuatro ejemplos de realization para representar diferentes espacios de busqueda para obtener expresiones que modelen los niveles de glucosa en sangre.The following section describes four grammar corresponding to four realization examples to represent different search spaces to obtain expressions that model blood glucose levels.

3. Description del modelo.3. Description of the model.

Para que un modelo sea completo, dicho modelo, para los niveles de glucosa, deberia basarse en factores observables asi como en otras caracteristicas ocultas e intrinsecas al organismo del paciente. Los factores observables son aquellos datos que ha recogido el paciente manualmente o un dispositivo automatico, mientras que los no observables deben ser inferidos. Por estos motivos, la presente invention propone un modelo que considera todos estos factores, aplicando GramaticasFor a model to be complete, that model, for glucose levels, should be based on observable factors as well as other features hidden and intrinsic to the patient's organism. The observable factors are those data that the patient has collected manually or an automatic device, while the unobservable ones must be inferred. For these reasons, the present invention proposes a model that considers all these factors, applying Grammar

Evolutivas (GE) para inferir una expresion que caracterice el comportamiento de la glucosa en pacientes diabeticos.Evolutionary (GE) to infer an expression that characterizes the behavior of glucose in diabetic patients.

3.1. Datos disponibles y modelo general de la glucosa.3.1. Available data and general glucose model.

55

El nivel del glucosa en un instante dado depende de varios factores, algunos de ellos intrinsecos al funcionamiento del organismo. En el caso de un paciente de diabetes, los mas relevantes son el nivel de glucosa que habia hasta la ultima medida, los carbohidratos ingeridos y la insulina inyectada. Estos factores estan incluidos en los 10 conjuntos de datos de nuestros pacientes. Es importante destacar que estos datos son faciles de recopilar para un paciente real. El valor de la glucosa se mide con analizadores de sangre, los carbohidratos se miden en unidades ingeridas a partir de las comidas diarias, y la cantidad de insulina asi como el tipo, son datos que el paciente obviamente conoce.The level of glucose at any given time depends on several factors, some of them intrinsic to the functioning of the organism. In the case of a diabetes patient, the most relevant are the level of glucose that was until the last measurement, the ingested carbohydrates and the injected insulin. These factors are included in the 10 data sets of our patients. It is important to note that these data are easy to collect for a real patient. The glucose value is measured with blood analyzers, carbohydrates are measured in units ingested from daily meals, and the amount of insulin as well as the type, are data that the patient obviously knows.

15fifteen

Para el primer ejemplo de realization, se han obtenido datos con un periodo de medicion entre dos consecutivos de 15 minutos a lo largo de 24 horas. La Tabla 1 muestra el conjunto de datos obtenido para un paciente "X1”. En cada fila de la tabla k se representa el tiempo, donde k = 1 son las 00:00AM, GL es el nivel de glucosa en 20 dicho instante, CH las unidades de carbohidratos ingeridas, IS la insulina de efecto rapido inyectada e IL la de efecto lento.For the first example of realization, data were obtained with a measurement period between two consecutive 15 minutes over 24 hours. Table 1 shows the data set obtained for a patient "X1". In each row of table k the time is represented, where k = 1 is 00:00 AM, GL is the glucose level at that time, CH the units of ingested carbohydrates, IS the insulin of rapid effect injected and IL the one of slow effect.

55

1010

k  k
GL CH IS IL  GL CH IS IL

1  one
209.1453 0 0 0  209.1453 0 0 0

2  2
209.1453 0 0 0  209.1453 0 0 0

3  3
205.79354 0 0 0  205.79354 0 0 0

4  4
Q02.5G395 0 Q 0  Q02.5G395 0 Q 0

5  5
199.43946 0 Q 0  199.43946 0 Q 0

6  6
196.41567 0 0 0  196.41567 0 0 0

7  7
193.49677 0 0 0  193.49677 0 0 0

S  S
190.69246 0 Q 0  190.69246 0 Q 0

9  9
188.01547 0 Q 0  188.01547 0 Q 0

IQ  IQ
185.47971 0 Q 0  185.47971 0 Q 0

ii  ii
183.09885 0 Q 0  183.09885 0 Q 0

12  12
180.88533 0 0 0  180.88533 0 0 0

13  13
178.84963 0 Q 0  178.84963 0 Q 0

14  14
176.9999 0 Q 0  176.9999 0 Q 0

IS  IS
175.34167 0 Q 0  175.34167 0 Q 0

16  16
173.87786 0 0 0  173.87786 0 0 0

17  17
172.60884 0 0 0  172,608 0 0 0 0

13  13
171.53263 0 0 0  171.53263 0 0 0

19  19
170.6451 0 Q 0  170.6451 0 Q 0

20  twenty
169.94031 0 Q 0  169.94031 0 Q 0

21  twenty-one
169.41076 0 0 0  169.41076 0 0 0

22  22
169.04771 0 0 0  169.04771 0 0 0

23  2. 3
168.84148 0 Q 0  168.84148 0 Q 0

24  24
168.78173 0 Q 0  168.78173 0 Q 0

25  25
168.85766 0 Q 0  168.85766 0 Q 0

26  26
169.05827 0 Q 0  169.05827 0 Q 0

27  27
169.37254 0 0 0  169.37254 0 0 0

2S  2S
169.78957 0 Q 0  169.78957 0 Q 0

29  29
170.29872 0 Q 0  170.29872 0 Q 0

30  30
170.88974 0 Q 0  170.88974 0 Q 0

31  31
171.55425 0 0 0  171.55425 0 0 0

32  32
172.27976 0 3 12  172.27976 0 3 12

33  33
173.05923 30 Q 0  173.05923 30 Q 0

k  k
GL CH IS IL k GL CH IS IL  GL CH IS IL k GL CH IS IL

34  3. 4
174.09018 0 0 0 6G 272.82541 0 0 0  174.09018 0 0 0 6G 272.82541 0 0 0

35  35
176.68898 0 0 0 67 271.4209 0 0 0  176.68898 0 0 0 67 271.4209 0 0 0

36  36
184.17896 0 0 0 68 272.60383 0 0 0  184.17896 0 0 0 68 272.60383 0 0 0

37  37
195.61325 0 0 0 69 271.58261 0 0 0  195.61325 0 0 0 69 271.58261 0 0 0

38  38
209.11478 0 0 0 70 268 30335 0 0 0  209.11478 0 0 0 70 268 30335 0 0 0

39  39
223.51534 0 0 0 71 263 63006 0 4 0  223.51534 0 0 0 71 263 63006 0 4 0

40  40
237.54628 0 0 0 72 258.18738 0 0 0  237.54628 0 0 0 72 258.18738 0 0 0

41  41
247.25104 20 0 0 73 252.2917 30 0 0  247.25104 20 0 0 73 252.2917 30 0 0

42  42
250.72465 0 0 0 74 246.13977 0 0 0  250.72465 0 0 0 74 246.13977 0 0 0

43  43
251.90543 0 0 0 75 240.98451 0 0 0  251.90543 0 0 0 75 240.98451 0 0 0

44  44
255.86031 0 0 0 76 241.19843 0 0 0  255.86031 0 0 0 76 241.19843 0 0 0

45  Four. Five
262.91532 0 0 0 77 246.19998 0 0 0  262.91532 0 0 0 77 246.19998 0 0 0

46  46
271.63911 0 0 0 78 254.31449 0 0 0  271.63911 0 0 0 78 254.31449 0 0 0

47  47
277.89942 0 0 0 79 264.42406 0 0 0  277.89942 0 0 0 79 264.42406 0 0 0

48  48
278.70943 0 0 0 80 275 21267 0 0 0  278,70943 0 0 0 80 275 21267 0 0 0

49  49
275.38173 40 0 0 81 282 61864 0 0 0  275.38173 40 0 0 81 282 61864 0 0 0

50  fifty
269.9759 0 0 0 82 284.42698 0 0 0  269.9759 0 0 0 82 284.42698 0 0 0

51  51
264.80613 0 0 0 S3 282.33176 0 0 0  264.80613 0 0 0 S3 282.33176 0 0 0

52  52
264.5835 0 0 0 84 277.80323 0 0 0  264.5835 0 0 0 84 277.80323 0 0 0

53  53
269.03811 0 0 0 85 271.88307 0 0 0  269.03811 0 0 0 85 271.88307 0 0 0

54  54
276.56921 0 0 0 86 265 29768 0 0 0  276.56921 0 0 0 86 265 29768 0 0 0

55  55
286.01609 0 0 0 87 258.54258 0 0 0  286.01609 0 0 0 87 258.54258 0 0 0

56  56
296.54932 0 0 0 88 251.94544 0 0 0  296.54932 0 0 0 88 251.94544 0 0 0

57  57
307.58483 0 0 0 89 245.71299 0 0 0  307.58483 0 0 0 89 245.71299 0 0 0

58  58
317.78442 0 0 0 90 239.91877 0 0 0  317.78442 0 0 0 90 239.91877 0 0 0

59  59
322.9634 0 0 0 91 234.68683 0 0 IS  322.9634 0 0 0 91 234.68683 0 0 IS

60  60
322.05895 0 0 0 92 230.03136 0 0 0  322.05895 0 0 0 92 230.03136 0 0 0

61  61
317.01482 0 0 0 93 225.93797 0 0 0  317.01482 0 0 0 93 225.93797 0 0 0

62  62
309.34854 0 0 0 94 222.23379 0 0 0  309.34854 0 0 0 94 222.23379 0 0 0

63  63
300.16725 0 0 0 95 218.78458 0 0 0  300.16725 0 0 0 95 218.78458 0 0 0

64  64
290.26909 10 0 0 96 215.4919 0 0 0  290.26909 10 0 0 96 215.4919 0 0 0

65  65
280.21928 0 0 0 97 212.29133 0 0 0  280.21928 0 0 0 97 212.29133 0 0 0

Tabla 1.- Ejemplo de datos tomados para un paciente "X1” para los valores GL, CH, IS IL.Table 1.- Example of data taken for a patient "X1" for the values GL, CH, IS IL.

El modelo propuesto nos proporciona los valores estimados de la glucosa, representados por GL. En cada iteracion, la glucosa estimada se obtiene usando los valores estimados anteriores, y los valores de los carbohidratos e insulina en dicho instante, formalmente:The proposed model provides us with the estimated glucose values, represented by GL. In each iteration, the estimated glucose is obtained using the previous estimated values, and the values of carbohydrates and insulin at that instant, formally:

GL(k + 1) = f(GL;CH; IS; IL); 1 < k< N (ec.1)GL (k + 1) = f (GL; CH; IS; IL); 1 <k <N (ec.1)

dondeGt(k + 1) es el futuro valor estimado para la glucosa, un instante posterior al actual, y el resto de variables tiene la misma interpretation que la anteriormente descrita. De esta manera el motor de la Gramatica Evolutiva (GE) deberia ser capaz de decidir el aspecto de f. Para guiar la busqueda necesitamos una gramatica que limite el espacio de busqueda y capture la dinamica de los niveles de glucosa en sangre. A continuation detallamos las gramaticas empleadas en la presente invention.where Gt (k + 1) is the future estimated value for glucose, an instant after the current one, and the rest of the variables have the same interpretation as the one described above. In this way the Evolutionary Grammar (GE) engine should be able to decide the aspect of f. To guide the search we need a grammar that limits the search space and captures the dynamics of blood glucose levels. Below we detail the grammar used in the present invention.

3.2. Gramaticas BNF para el modelado de los niveles de glucosa.3.2. BNF grammar for modeling glucose levels.

55

1010

15fifteen

20twenty

2525

3030

Siguiendo el modelo general mostrado en (ec.1), se han disenado cuatro gramaticas donde la glucosa estimada depende unicamente de factores observables. La incorporation de conocimiento del problema en la gramatica mejora el rendimiento de la exploration. As^ las gramaticas disenadas siguen los consejos de los medicos en el equipo de investigation. Segun sus indicaciones, el comportamiento esperado de la glucosa puede variar a lo largo del dia, por lo que se han anadido las posibles influencias en forma de ventanas de tiempo. En definitiva, hay cuatro gramaticas que mezclan las diferentes observaciones.Following the general model shown in (ec.1), four grammar have been designed where the estimated glucose depends solely on observable factors. The incorporation of knowledge of the problem into grammar improves the performance of the exploration. Thus ^ the grammar designed follow the advice of the doctors in the research team. According to its indications, the expected behavior of glucose can vary throughout the day, so that possible influences have been added in the form of time windows. In short, there are four grammar that mix the different observations.

Gramatica 1Grammar 1

Es bien conocido que la ingesta de carbohidratos eleva la glucosa mientras que las inyecciones la disminuyen. Por este motivo en la primera gramatica los carbohidratos siempre suman mientras que la insulina siempre resta. Ademas permite utilizar cualquier valor anterior de la glucosa, los carbohidratos o la insulina al construir la expresion.It is well known that carbohydrate intake raises glucose while injections lower it. For this reason in the first grammar carbohydrates always add while insulin always subtracts. It also allows you to use any previous value of glucose, carbohydrates or insulin when building the expression.

GL(k + 1)= fg(Gl (k-m))+fch(CH(k-m))-fin(IS(k-m); IL(k-m)); 0< m< k; (gr.1)GL (k + 1) = fg (Gl (k-m)) + fch (CH (k-m)) - end (IS (k-m); IL (k-m)); 0 <m <k; (gr.1)

La forma concreta de fg, fch y fin se obtiene mediante GE con la Gramatica 1, mostrada en la Figura 4. Los tres terminos <exprgluc>, <exprch> y <exprins> se corresponden con fgi, fch y fin, respectivamente y son las expresiones que pueden usar prefijos (operandos) como aquellos de la regla IX, variables para cada uno de los terminos o combinaciones de ellos a traves de la regla VIII.The concrete form of fg, fch and end is obtained by GE with Grammar 1, shown in Figure 4. The three terms <exprgluc>, <exprch> and <exprins> correspond to fgi, fch and end, respectively and are expressions that may use prefixes (operands) such as those in rule IX, variables for each of the terms or combinations thereof through rule VIII.

Gramatica 2Grammar 2

Esta gramatica es un caso particular de la anterior que limita el historico de valores de glucosa, carbohidratos e insulina al instante actual k y el anterior k-1. El modelo resultante tiene la expresion general:This grammar is a particular case of the previous one that limits the historical values of glucose, carbohydrates and insulin to the current instant k and the previous k-1. The resulting model has the general expression:

Gl(k + 1)= fgl((TL (k-m))+fch(CH(k-m))-fin(IS(k-m); IL(k-m)); 0 <m <1; (gr.2)Gl (k + 1) = fgl ((TL (k-m)) + fch (CH (k-m)) - end (IS (k-m); IL (k-m)); 0 <m <1; (gr. 2)

55

1010

15fifteen

20twenty

2525

3030

La Figura 5 muestra la gramatica empleada. Simplemente hay que limitar a 00 y 01 los indices en las reglas III, V y VII.Figure 5 shows the grammar used. You simply have to limit the indexes in rules III, V and VII to 00 and 01.

Gramatica 3Grammar 3

Para dotar de mas libertad a la busqueda, se dejan libres las operaciones conectivas, ampliandolas a las operaciones aritmeticas basicas. La expresion general del modelo es (gr.3), donde f es la funcion que conecta las tres subexpresiones para la glucosa, carbohidratos e insulina.To give more freedom to the search, the connective operations are left free, extending them to the basic arithmetic operations. The general expression of the model is (gr.3), where f is the function that connects the three subexpressions for glucose, carbohydrates and insulin.

Gl(k + 1)= f (fg(Gl(k - m)); fch(CH(k - m)); fn(IS(k - m); IL(k - m))); 0< m< k; (gr.3)Gl (k + 1) = f (fg (Gl (k - m)); fch (CH (k - m)); fn (IS (k - m); IL (k - m))); 0 <m <k; (gr.3)

La gramatica 3 es la encargada de definir este modelo, el cual presenta una ligera modification en la regla I de la gramatica 1. Se trata de cambiar las operaciones fijas + y - por el no-terminal <op> y a continuation se define en la regla VIII. La figura 6 muestra la gramatica 3.Grammar 3 is in charge of defining this model, which presents a slight modification in rule I of grammar 1. It is to change the fixed operations + and - by the non-terminal <op> and continuation is defined in the rule VIII. Figure 6 shows grammar 3.

Gramatica 4Grammar 4

El modelo general es similar a la gramatica 2 pero anade libertad a funcion f que relaciona las subexpresiones de la glucosa, los carbohidratos y la insulina.The general model is similar to grammar 2 but adds freedom to function f that relates the subexpressions of glucose, carbohydrates and insulin.

Gl(k + 1) = f(fgl(Gl (k - m)); fch(CH(k - m)); fn(IS(k - m); IL(k. m))); 0< m <1; (gr. 4)Gl (k + 1) = f (fgl (Gl (k - m)); fch (CH (k - m)); fn (IS (k - m); IL (k. M))); 0 <m <1; (gr. 4)

Para ello la gramatica 4 es similar a la gramatica 2 pero dotando de libertad a las operaciones en la regla I. La gramatica se muestra en la Figura 7.For this, grammar 4 is similar to grammar 2 but giving freedom to the operations in rule I. The grammar is shown in Figure 7.

3.3. Evaluation fitness o aptitud (error ek)3.3. Evaluation fitness or aptitude (error ek)

Si las gramaticas limitan el espacio de busqueda de la Gramatica Evolutiva GE, la mision de las funciones de "fitness” (tambien conocidas como aptitud) es guiar la evolucion hacia una buena solucion. Para calcular el “fitness”, primero se obtiene laIf the grammar limits the search space of the Evolutionary Grammar GE, the mission of the "fitness" functions (also known as fitness) is to guide the evolution towards a good solution. To calculate the "fitness", first you get the

2525

serie temporal de la glucosa completa, GL, a partir del fenotipo generado por el genotipo del individuo y la gramatica empleada. En este paso la glucosa estimada en k se realimenta para estimar la glucosa en los siguientes k.Time series of the complete glucose, GL, from the phenotype generated by the genotype of the individual and the grammar used. In this step the estimated glucose in k is fed back to estimate the glucose in the following k.

5 A continuation se mide el error ek, definido como la diferencia absoluta entre el valor real, en el conjunto de entrenamiento, y el valor estimado para cada k.5 The error ek, defined as the absolute difference between the actual value, in the training set, and the estimated value for each k is measured below.

ek = \GL(k) - Gl(k)\, l<k<Nek = \ GL (k) - Gl (k) \, l <k <N

10 Finalmente se emplean las cinco funciones de fitness diferentes, basadas en el error ek, recogidas en la Tabla 2. Las funciones de fitness contenidas en la Tabla 2 son: F1 (mmimos cuadrados), F2 (error medio), F3 (error maximo), F4 (error cuadratico medio) y F5 (desviacion absoluta media).10 Finally, the five different fitness functions are used, based on the error ek, shown in Table 2. The fitness functions contained in Table 2 are: F1 (square mm), F2 (average error), F3 (maximum error ), F4 (mean square error) and F5 (mean absolute deviation).

Objective  Objective
Fitness Function  Fitness Function

Least Squares  Least Squares
Fi = ELi  Fi = ELi

Average Error  Average Error
^ = F EL *  ^ = F EL *

Maximum Error  Maximum Error
F3 = max(ek), 1 < k < N  F3 = max (ek), 1 <k <N

RSME  RSME

MAD  MAD
P _ 1 eh N 1 GL{k)  P _ 1 eh N 1 GL {k)

15fifteen

Tabla 2.- Ejemplos de funciones de fitness.Table 2.- Examples of fitness functions.

Claims (11)

55 1010 15fifteen 20twenty 2525 3030 REIVINDICACIONES 1.- Metodo para el modelado del nivel de glucemia mediante programacion genetica que comprende los siguientes pasos:1.- Method for modeling the blood glucose level through genetic programming comprising the following steps: i) obtener de un individuo unos datos que comprendan, para un tiempo k, al menos:i) obtain from an individual data that includes, for a period of time k, at least: o unos niveles de glucosa GL;or GL glucose levels; o unos niveles de ingesta CH;or levels of CH intake; o unos niveles de insulina inyectada de efecto rapido IS e insulina inyectada de efecto lento IL;or levels of insulin injected with rapid effect IS and insulin injected with slow effect IL; ii) aplicar un Algoritmo Evolutivo a un conjunto de soluciones y a los datos anteriormente obtenidos;ii) apply an Evolutionary Algorithm to a set of solutions and to the data previously obtained; iii) calcular una funcion GL de prediccion de la glucosa para un tiempo posterior (k+1) al tiempo k, tal que:iii) calculate a glucose prediction function GL for a later time (k + 1) at time k, such that: GL(k +1) = /(GL, CH, IS, IL)GL (k +1) = / (GL, CH, IS, IL) caracterizado por que el paso ii) adicionalmente comprende llevar a cabo los siguientes pasos:characterized in that step ii) additionally comprises carrying out the following steps: a) generar el conjunto de soluciones con N-soluciones aleatorias donde cada solucion esta formada por una cadena de caracteres (cromosoma);a) generate the set of solutions with random N-solutions where each solution is formed by a string of characters (chromosome); b) calcular N-expresiones GLk para k=1,...,N obtenidas mediante la decodificacion del conjunto de las N-soluciones aleatorias aplicando una gramatica BNF y una funcion de mapeo;b) calculate N-expressions GLk for k = 1, ..., N obtained by decoding the set of random N-solutions by applying a BNF grammar and a mapping function; c) calcular el error Ek que conlleva: calcular ek como la diferencia entre los datos obtenidos del paciente y las N-expresiones GLk; y, aplicar una funcion de fitness a cada uno de los errores anteriormente calculados ek; de tal forma que se obtiene para cada expresion GLk, un error asociado Ek;c) calculate the error Ek that entails: calculate ek as the difference between the data obtained from the patient and the N-expressions GLk; and, apply a fitness function to each of the previously calculated errors ek; such that an associated error Ek is obtained for each GLk expression; d) seleccionar N-1 soluciones resultado de: tomar las N-soluciones y apartar la solucion de menor error Ek de las N-soluciones; enfrentar las N-1 soluciones tomadas de dos en dos, seleccionando la solucion de menor error Ek;d) select N-1 solutions resulting from: taking the N-solutions and separating the solution with the lowest error Ek from the N-solutions; face the N-1 solutions taken two by two, selecting the solution with the lowest error Ek; e) cruzar las N-1 soluciones anteriores mediante un algoritmo de probabilidad de cruce;e) cross the previous N-1 solutions using a crossover probability algorithm; f) mutar un caracter de las N-1 soluciones anteriores mediante un algoritmo de probabilidad de mutacion;f) mutate a character of the previous N-1 solutions using a mutation probability algorithm; 55 1010 15fifteen 20twenty 2525 3030 g) anadir la solucion de menor error Ek apartada en el paso d) a las N-1 soluciones anteriores;g) add the least error solution Ek set aside in step d) to the previous N-1 solutions; h) repetir los pasos c) a g) hasta cumplir una condicion de parada predefinida.h) Repeat steps c) to g) until a predefined stop condition is met. 2. - Metodo segun la reivindicacion 1, caracterizado por que el algoritmo de2. - Method according to claim 1, characterized in that the algorithm of probabilidad de cruce comprende:crossover probability includes: i) tomar las N-1 soluciones de dos en dos;i) take the N-1 solutions two at a time; ii) establecer una probabilidad de cruce entre 0 y 1;ii) establish a probability of crossing between 0 and 1; iii) generar un numero aleatorio entre 0 y 1;iii) generate a random number between 0 and 1; iv) si el numero aleatorio generado es mayor que la probabilidad de cruce, no hay cruce;iv) if the random number generated is greater than the probability of crossing, there is no crossing; v) si el numero aleatorio generado es menor o igual que la probabilidad de cruce, se cruza parte de una solucion con parte de la otra solucion de tal forma que se mantiene la longitud de la cadena de caracteres.v) if the random number generated is less than or equal to the probability of crossover, part of one solution is crossed with part of the other solution in such a way that the length of the character string is maintained. 3. - Metodo segun la reivindicacion 1, caracterizado por que el algoritmo de3. - Method according to claim 1, characterized in that the algorithm of probabilidad de mutacion comprende:probability of mutation includes: i) tomar las N-1 soluciones de una en una;i) take the N-1 solutions one at a time; ii) establecer una probabilidad de mutacion entre 0 y 1;ii) establish a probability of mutation between 0 and 1; iii) generar un numero aleatorio entre 0 y 1;iii) generate a random number between 0 and 1; iv) si el numero aleatorio generado es mayor que la probabilidad de mutacion, no hay mutacion;iv) if the random number generated is greater than the probability of mutation, there is no mutation; v) si el numero aleatorio generado es menor o igual que la probabilidad de mutacion, se muta un caracter de la cadena de caracteres de tal forma que se mantiene la longitud de la cadena de caracteres.v) if the random number generated is less than or equal to the probability of mutation, a character in the character string is mutated so that the length of the character string is maintained. 4. - Metodo segun la reivindicacion 1, caracterizado por que la condicion de parada predefinida es al menos una de las siguientes condiciones:4. - Method according to claim 1, characterized in that the predefined stop condition is at least one of the following conditions: • maximo numero de iteraciones;• maximum number of iterations; • convergencia: no mejora en un numero "p” de iteraciones;• convergence: does not improve in a number "p" of iterations; • estar cerca de un optimo teorico.• be close to an optimal theoretician. 55 1010 15fifteen 20twenty 2525 3030 5. - Metodo segun la reivindicacion 1, caracterizado por que la funcion de fitness es una de las siguientes funciones:5. - Method according to claim 1, characterized in that the fitness function is one of the following functions: • mlnimos cuadrados;• least squares; • error medio;• average error; • error maximo;• maximum error; • error cuadratico medio;• mean square error; • desviacion absoluta media.• mean absolute deviation. 6. - Metodo segun la reivindicacion 1, caracterizado por que la solucion GL(k + 1) tiene la siguiente expresion:6. - Method according to claim 1, characterized in that the solution GL (k + 1) has the following expression: GL(k + 1) = f(P,E,k,SI,IG,PG,CI,M,IC,IP,DI,OC, TI,FV, VI,PC, TE,FA,G(■),C(■), IS(■), IL(),F(),E(),Z)GL (k + 1) = f (P, E, k, SI, IG, PG, CI, M, IC, IP, DI, OC, TI, FV, VI, PC, TE, FA, G (■), C (■), IS (■), IL (), F (), E (), Z) donde el operador • representa cualquier instante actual o anterior en el tiempo y donde f es una funcion que se calcula mediante una gramatica BNF que comprende la siguiente forma:where the operator • represents any current or previous moment in time and where f is a function that is calculated using a BNF grammar comprising the following form: <f> ::= <f><OP><f><f> :: = <f><OP> <f> | (<f><OP><f>)| (<f> <OP> <f>) | <PREOP>(<f>)| <PREOP> (<f>) | <V>| <V> I <Z>I <Z> <OP> ::= +<OP> :: = + |/| / <PREOP> ::= SIN<PREOP> :: = SIN |COS| COS |EXP| EXP |TAN| SO |LOG| LOG |ABS| ABS |LN| LN 55 1010 15fifteen 20twenty 2525 3030 TANHTanh COSHCOSH SENHSENH DERIVADA_CON_RESPECTO_AL_TIEMPO DERIVADA_CUADRADO_CON_RESPECTO_AL_TIEMPO DERIVADA_TERCERA_CON_RESPECTO_AL_TIEMPO <V> ::= <P>DERIVADA_CON_RESPECTO_AL_TIMPO DERIVADA_CUADRADO_CON_RESPECTO_AL_TIMPO DERIVADA_TERCERA_CON_RESPECTO_AL_TIEMPO <V> :: = <P> <A><A> #{k}# {k} <SI><SI> <IG><IG> <PG><PG> <CI><CI> <M><M> <IC><IC> <IP><IP> <DI><DI> <OC><OC> <TI><TI> <FV><FV> <VI><VI> <PC><PC> <TE><TE> <FA><FA> #{G[k-<J>]}# {G [k- <J>]} #{C[k-<J>]}# {C [k- <J>]} #{IS[k-<J>]}# {IS [k- <J>]} #{IL[k-<J>]}# {IL [k- <J>]} #{F[k-<J>]}# {F [k- <J>]} #{E[k-<J>]}# {E [k- <J>]} #<Z># <Z> <P> ::= "el peso del individuo en kg.”; <E> ::= "edad del individuo en anos”;<P> :: = "the weight of the individual in kg."; <E> :: = "age of the individual in years"; 55 1010 15fifteen 20twenty 2525 3030 <SI> ::= “unidades de glucemia que baja 1 unidad de insulina en mg/dl”;<SI> :: = "glycemic units that lower 1 unit of insulin in mg / dl"; <IG> ::= “rndice glucemico de la ingesta” (el de la glucosa es 1, y puede ser mayor o menor;)<IG> :: = "glycemic intake index" (that of glucose is 1, and may be higher or lower;) <PG> ::= <D>.<D><PG> :: = <D>. <D> <CI> ::= <D>.<D><CI> :: = <D>. <D> <M> ::= 0<M> :: = 0 <IC> ::= 5<IC> :: = 5 <IP> ::= 0<IP> :: = 0 <DI> ::= 2<DI> :: = 2 <OC> ::= 3<OC> :: = 3 <TI> ::= 12<TI> :: = 12 <FV> ::= 0.2<FV> :: = 0.2 <VI> ::= 0.8<VI> :: = 0.8 <PC> ::= 0.6<PC> :: = 0.6 <FTSI> ::= +<D>.<D><FTSI> :: = + <D>. <D> |-<D>.<D>| - <D>. <D> <J> ::= 0 |1 |2 |3<J> :: = 0 | 1 | 2 | 3 I -I - | “instantes de tiempo” (por ejemplo: 96 ^ 24 horas a intervalos de 15 minutos = 96 instantes de tiempo. En el caso de usar otro horizonte de prediccion u otro periodo de muestreo habria que modificar esta regla);| “Time instants” (for example: 96 ^ 24 hours at 15 minute intervals = 96 time instants. In the case of using another prediction horizon or another sampling period, this rule would have to be modified); <Z> ::= <D>.<D><Z> :: = <D>. <D> <D> ::= 0 |1 |2 |3 |4 |5 |6 |7<D> :: = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 55 1010 15fifteen 20twenty 2525 3030 |8| 8 |9| 9 donde los distintos parametros de entrada son:where the different input parameters are: P: peso actual en kg;P: current weight in kg; A: edad actual en anos; k: instante actual;A: current age in years; k: current instant; FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina;FSI: insulin sensitivity or mg / dl that lowers blood glucose per unit of insulin; IG: es el Indice glucemico;IG: is the glycemic Index; PG: unidades protelna/grasa: cantidad de alimento que aporta 100Kcal en forma de grasa y/o protelnas, se mide en unidades;PG: protelna / fat units: amount of food that provides 100Kcal in the form of fat and / or protelnas, is measured in units; CI: ratio Hidratos de carbono / insulina;CI: carbohydrate / insulin ratio; M: menstruacion , SI =1 o no=0;M: menstruation, YES = 1 or not = 0; IC: insulina Circulante, unidades de insulina;IC: Circulating insulin, insulin units; IP: intervalo entre comienzo de la infusion de insulina prandial y comienzo de la ingesta, en intervalos de 15 minutos;IP: interval between the beginning of the infusion of prandial insulin and the beginning of the intake, in 15-minute intervals; DI: tiempo de duracion de la ultima ingesta en intervalos de 15 minutos;DI: duration of the last intake in 15 minute intervals; OC: orden en que se consumen los alimentos; (numero natural correspondiente a una fila en una tabla de posibles ordenaciones)OC: order in which food is consumed; (natural number corresponding to a row in a table of possible ordinations) TI: tiempo desde la ultima ingesta en intervalos de 15 minutos;TI: time since the last intake in 15 minute intervals; FV: factor de variabilidad de absorcion, valor entre 0 y 1;FV: absorption variability factor, value between 0 and 1; VI: variabilidad de la insulina, valor entre 0 y 1;VI: insulin variability, value between 0 and 1; PC: preparation de la comida (fritos, asados, condimentos..), valor entre 0 y 1;PC: preparation of the food (fried, roasted, condiments ..), value between 0 and 1; FTSI: factor transitorio de sensibilidad a la insulina: valor de -1 a 1;FTSI: transient insulin sensitivity factor: value from -1 to 1; Z: es una constante; en cuanto a historicos:Z: is a constant; as for historical: G() es el historico de la glucemia (o parte de el);G () is the blood glucose history (or part of it); C() es el historico de carbohidratos;C () is the history of carbohydrates; IS() es la insulina de action corta;IS () is short-acting insulin; IL() es la insulina de accion larga;IL () is long-acting insulin; F() es el ejercicio flsico; y,F () is the physical exercise; Y, E() es el nivel de estres.E () is the stress level. 7. - Metodo segun la reivindicacion 1, caracterizado por que la funcion de mapeo comprende la siguiente expresion:7. - Method according to claim 1, characterized in that the mapping function comprises the following expression: Choicei = (CIV)MOD (# of choicesChoicei = (CIV) MOD (# of choices donde Choicei es la eleccion seleccionada para el no-terminal i, CIV es el codon que estamos decodificando, MOD es la funcion modulo y (# of choices^ es el numero de 5 opciones posibles para la regla en el terminal i.where Choicei is the choice selected for non-terminal i, CIV is the codon we are decoding, MOD is the module function and (# of choices ^ is the number of 5 possible options for the rule in terminal i. 8. - Metodo segun la reivindicacion 1, caracterizado por que el metodo, entre los pasos i) y ii), opcionalmente comprende evaluar la funcion GL de prediction de la glucosa anteriormente calculada cuando existe un modelo de glucosa anteriormente calculado.8. - Method according to claim 1, characterized in that the method, between steps i) and ii), optionally comprises evaluating the GL function of predicting glucose previously calculated when there is a previously calculated glucose model. 1010 9. - Programa de ordenador caracterizado por que comprende la ejecucion de un metodo definido de acuerdo con una cualquiera de las reivindicaciones 1 a 8.9. - Computer program characterized in that it comprises the execution of a defined method according to any one of claims 1 to 8. 10.- Medio de almacenamiento caracterizado por que comprende un programa de 15 ordenador definido segun la reivindicacion 9.10. Storage medium characterized in that it comprises a computer program defined according to claim 9. 11.- Sistema computacional caracterizado por que en dicho sistema computacional se carga el programa de ordenador definido en la reivindicacion 9.11.- Computer system characterized in that said computer system loads the computer program defined in claim 9.
ES201331726A 2013-11-27 2013-11-27 Method for modeling blood glucose level by genetic programming Active ES2540159B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
ES201331726A ES2540159B1 (en) 2013-11-27 2013-11-27 Method for modeling blood glucose level by genetic programming
PCT/ES2014/000190 WO2015079079A1 (en) 2013-11-27 2014-11-05 Method for modelling the level of glycemia by means of genetic programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201331726A ES2540159B1 (en) 2013-11-27 2013-11-27 Method for modeling blood glucose level by genetic programming

Publications (2)

Publication Number Publication Date
ES2540159A1 ES2540159A1 (en) 2015-07-08
ES2540159B1 true ES2540159B1 (en) 2016-03-09

Family

ID=53198407

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201331726A Active ES2540159B1 (en) 2013-11-27 2013-11-27 Method for modeling blood glucose level by genetic programming

Country Status (2)

Country Link
ES (1) ES2540159B1 (en)
WO (1) WO2015079079A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7651845B2 (en) * 2004-05-13 2010-01-26 The Regents Of The University Of California Method and apparatus for glucose control and insulin dosing for diabetics
US20080154513A1 (en) * 2006-12-21 2008-06-26 University Of Virginia Patent Foundation Systems, Methods and Computer Program Codes for Recognition of Patterns of Hyperglycemia and Hypoglycemia, Increased Glucose Variability, and Ineffective Self-Monitoring in Diabetes
US20110077930A1 (en) * 2008-02-12 2011-03-31 Alferness Clifton A Computer-implemented method for providing a personalized tool for estimating 1,5-anhydroglucitol
US8762306B2 (en) * 2008-08-14 2014-06-24 The University Of Toledo Neural network for glucose therapy recommendation

Also Published As

Publication number Publication date
WO2015079079A1 (en) 2015-06-04
ES2540159A1 (en) 2015-07-08

Similar Documents

Publication Publication Date Title
ES2755879T3 (en) Procedure and system for providing both an estimated actual mean blood glucose value and an estimated glycohemoglobin (HbA1C) value from structured point blood glucose measurements
Nouwen et al. Comparison of the role of self-efficacy and illness representations in relation to dietary self-care and diabetes distress in adolescents with type 1 diabetes
ES2644345T3 (en) Patient information input interface for a therapy system
CN103959291B (en) Glucose predictions device based on the regularization network with adaptively selected core and regularization parameter
ES2748399T3 (en) Monitoring of changes in average blood glucose in diabetics
Keegan et al. What every intensivist should know about prognostic scoring systems and risk-adjusted mortality
Midroni et al. Predicting glycemia in type 1 diabetes patients: experiments with XGBoost
Rubin-Falcone et al. Deep Residual Time-Series Forecasting: Application to Blood Glucose Prediction.
EP3359039B1 (en) Medical arrangements and a method for determining parameters related to insulin therapy, predicting glucose values and for providing insulin dosing recommendations
Bhimireddy et al. Blood glucose level prediction as time-series modeling using sequence-to-sequence neural networks
CN103238154B (en) There is the hand-held diabetes management equipment of data base management system
Zhu et al. Blood glucose prediction in type 1 diabetes using deep learning on the edge
Zhou et al. Multivariate logistic regression analysis of postoperative complications and risk model establishment of gastrectomy for gastric cancer: A single-center cohort report
CN103250158A (en) Medical devices that support enhanced system extensibility for diabetes care
Martin et al. Clinical prediction models to predict the risk of multiple binary outcomes: a comparison of approaches
US20230329650A1 (en) Medical monitoring systems and methods
Cappon et al. A Personalized and Interpretable Deep Learning Based Approach to Predict Blood Glucose Concentration in Type 1 Diabetes.
Xie et al. AutoScore-Survival: Developing interpretable machine learning-based time-to-event scores with right-censored survival data
ES2540159B1 (en) Method for modeling blood glucose level by genetic programming
Chalkis et al. Geometric algorithms for sampling the flux space of metabolic networks
Sheikhalishahi et al. Benchmarking machine learning models on eICU critical care dataset
Fedichev Hacking aging: a strategy to use big data from medical studies to extend human life
US20140089004A1 (en) Patient cohort laboratory result prediction
LUO et al. An interpretable prediction model for acute kidney injury based on xgboost and shap
Liu et al. A hybrid neural network model predictive control with zone penalty weights for type 1 diabetes mellitus

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2540159

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20160309