WO2015079079A1 - Método para el modelado del nivel de glucemia mediante programación genética - Google Patents
Método para el modelado del nivel de glucemia mediante programación genética Download PDFInfo
- Publication number
- WO2015079079A1 WO2015079079A1 PCT/ES2014/000190 ES2014000190W WO2015079079A1 WO 2015079079 A1 WO2015079079 A1 WO 2015079079A1 ES 2014000190 W ES2014000190 W ES 2014000190W WO 2015079079 A1 WO2015079079 A1 WO 2015079079A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- insulin
- glucose
- solutions
- time
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/20—ICT 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H50/00—ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
- G16H50/50—ICT 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/30—Prediction of properties of chemical compounds, compositions or mixtures
Definitions
- the present invention proposes to apply genetic programming to find a personalized model that describes and predicts a patient's glucose levels.
- the present invention describes a method that, from the historical data of a patient consisting of previous values of glucose, carbohydrates taken and insulin injected, obtains an expression that can be used to predict glucose values in the near future. .
- 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.
- 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. In both cases the result is that the cells do not assimilate sugar and as a result, there is an increase in blood glucose levels or hyperglycemia.
- ADA American Diabetes Association
- Type 1 Diabetes Cells do not produce insulin due to an autoimmune process. This currently makes it necessary for the person to inject exogenous insulin, either by point injections or using an insulin pump.
- Type 2 Diabetes T2DM: It is the result of insulin resistance, where cells fail to use insulin properly. Sometimes it is combined with an absence, either partial or total insulin.
- 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.
- 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 "simple" conceptually speaking 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 work with a set of solutions. 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.
- GE evolutionary grammar is an evolutionary computing technique established in 1998 by Conor Ryan's 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 string which simplifies the application of search in different programming languages. It also has no memory problems, unlike basic genetic programming, where representation in Tree can lead to the known problem of bloating (an excessive growth of computer data structures in memory).
- the present invention proposes a new technique that involves obtaining the particularized patient model using "GP" genetic programming.
- the "GP” genetic programming eliminates the barriers related to the construction of the model, such as linearity or the limitation of the input parameters.
- 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.
- 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) obtain from an individual data that comprise, for a time k, at least: o GL glucose levels;
- GL (k + 1) f (GL, CH, IS, IL).
- Step ii) additionally comprises carrying out the following sub-steps:
- a) generate the set of solutions with random N-solutions where each solution is formed by a string of characters (chromosome);
- c) calculate the error Ek that entails: calculate ek as the difference between the data obtained from the patient and the N-expressions GL k ; and, to apply a function of f ⁇ tness to each one of the errors previously calculated ei ⁇ ; such that an associated error Ek is obtained for each GL k expression;
- 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 E;
- the crossover probability algorithm comprises:
- the mutation probability algorithm comprises:
- the predefined stop condition is at least one of the following conditions:
- the fitness function is one of the following functions (see table 2):
- the predicted glucose prediction was 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 had 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 (-),
- IL (-), F (-), E (-), Z) where the operator ⁇ represents any current or previous instant in time and where / is a function that is calculated using a BNF grammar comprising the following form:
- ⁇ P> :: "the individual's weight in kg.”
- ⁇ SI> :: "glycemic units that lower 1 unit of insulin in mg / dl";
- ⁇ IG> :: "glycemic intake index” (that of glucose is 1, and may be higher or lower;)
- FSI insulin sensitivity or mg / dl that lowers blood glucose per unit of insulin
- IG is the glycemic index
- PG protein / fat units: amount of food provided by lOOKcal in the form of fat and / or proteins, is measured in units;
- IC Circulating insulin, insulin units
- IP interval between the beginning of the infusion of prandial insulin and the beginning of the intake, in 15-minute intervals
- DI duration of the last intake in 15 minute intervals
- OC order in which food is consumed; (natural number corresponding to a row in a table of possible ordinations)
- FV absorption variability factor, value between 0 and 1;
- VI insulin variability, value between 0 and 1;
- PC food preparation (fried, roasted, condiments %), value between 0 and 1;
- FTSI transient insulin sensitivity factor
- G (-) is the history of blood glucose (or part of it);
- C (-) is the carbohydrate history
- IS (-) is short-acting insulin
- IL (-) is long-acting insulin
- F (-) is physical exercise
- ⁇ ( ⁇ ) is the stress level.
- mapping function indicated above, it includes the following expression:
- Choice ⁇ is the selected choice for non-terminal i
- CIV is the codon we are decoding
- MOD is the module function
- (# of choices ⁇ ) is the number of possible options for the rule in terminal i.
- 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 section "description of a or various embodiments of the invention. "
- the present invention comprises a storage medium containing 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 section "description of one or more embodiments of the invention".
- the last aspect of the present invention is comprised of a computer system in which the computer program described above is loaded.
- Figure 1. Represents a flow chart to calculate the glucose prediction model.
- Figure 2. Represents a flow chart to calculate the glucose prediction model in a web implementation.
- Figure 6. It is a third example of BNF grammar.
- Figure 7. It is a fourth example of BNF grammar. DESCRIPTION OF ONE OR SEVERAL FORMS OF REALIZATION OF THE
- Figure 1 shows a flow chart of the method according to the present invention.
- a collection of data 1 is carried out during a certain period of time k, for example seven days.
- the data collected are at least GL glucose levels, CH intake levels and insulin levels with rapid effect IS and slow effect -IL.
- an evolutionary algorithm 3 is applied, basically consisting of customizing a grammar in BNF 4 format by applying a mapping function 5.
- a new model characterized by the function 6 characterized by the function 6:
- G ⁇ L ⁇ k + 1) f (Gl, CH, IS, IL)
- GL (k + 1) f (P, E, k, SIIG, PG, CIM, IC, IP, DI OC, TIFV, VI, PC, TE, FA, G (-), C (-), IS ( -),
- FSI insulin sensitivity or mg / dl that lowers blood glucose per unit of insulin
- IG is the glycemic index u
- PG protein / fat units: amount of food provided by the OOKcal in the form of fat and / or protein, is measured in units;
- IC Circulating insulin, insulin units
- IP interval between the beginning of the infusion of prandial insulin and the beginning of the intake, in 15-minute intervals
- DI duration of the last intake in 15 minute intervals
- FV absorption variability factor, value between 0 and 1;
- VI insulin variability, value between 0 and 1;
- PC food preparation (fried, roasted, condiments %), value between 0 and 1;
- FTSI transient insulin sensitivity factor
- G (-) is the history of blood glucose (or part of it);
- C (-) is the carbohydrate history
- IS (-) is short-acting insulin
- IL (-) is long-acting insulin
- F (-) is physical exercise
- ⁇ ( ⁇ ) is the stress level
- 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 computing system additionally comprises computing means 15 such as memories, microprocessors, input / output units.
- the computational means 15 are in charge of storing the grammars and processing the evolutionary algorithm to obtain the mathematical model or expression for GL (k + l) 6 with which to obtain the glucose prediction 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) combine the GL function (k + l) with the "instantaneous" glucose data, expected intake, physical exercise and insulin regulated 12.
- computational means optional 15 'that would serve to predict glucose 14 and indicate insulin boluses in a future time combine the GL function (k + l) with the "instantaneous" glucose data, expected intake, physical exercise and insulin regulated 12.
- 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.
- Genetic Programming has proven effective in a high 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 their representation (genotype). During recent years, variants of genetic programming, evolutionary grammars have appeared to propose different approaches to evolution. Evolutionary Grammar (GE) allows the generation of computer programs in arbitrary language. This is achieved by using grammars to specify the rules for obtaining programs Specifically, the present invention uses grammars expressed in the form of BNF (Backus Naur form).
- BNF Backus Naur form
- the Evolutionary Grammar GE works (evolves) with a genetic code that determines the production process of the solution.
- the code translation process is determined by the Grammar represented as BNF.
- BNF is a technical notation for expressing context-free grammars.
- a representation in BNF can be any specification of a complete language or a subset of a problem-oriented language.
- a BNF specification is a set of derivation rules, expressed in the form:
- the rules are composed of terminal and non-terminal sequences.
- the symbols that appear on the left are non-terminals, while the terminals never appear on the left side.
- ⁇ 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 or . Therefore, in this case, the non-terminal ⁇ symbol> will be replaced by an expression.
- the rest of the grammar must indicate the different possibilities.
- 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 "
- 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 grammar rules as explained below.
- grammars can be adapted to skew the search for the evolutionary process because there is a finite number of production rule options, which limits the search space.
- mapping process As mentioned above, the present invention applies an evolutionary algorithm to evolve genotypes, which are represented as a chain of integer values. Each genotype maps the start symbol to terminal symbols by reading the codons, which, in this exemplary embodiment, 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 ⁇ is the selected choice for non-terminal i
- CIV is the codon being decoded
- MOD is the module function
- (# of chotees,) is the number of possible options for the rule in the terminal.
- 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 will correspond 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.
- 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:
- This value selects the first option, the non-terminal X.
- This value selects the third option, the non-terminal ⁇ var>.
- a model to be complete such a model, for glucose levels, should be based on observable factors as well as other hidden and intrinsic characteristics of the patient's organism.
- the observable factors are those data that the patient has collected manually or an automatic device, while the unobservable must be inferred.
- the present invention proposes a model that considers all these factors, applying Evolutionary Grammar (GE) to infer an expression that characterizes the behavior of glucose in diabetic patients. 3.1. Available data and general glucose model.
- GE Evolutionary Grammar
- 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 up to the last measure, the ingested carbohydrates and the injected insulin. These factors are included in the data sets of our patients. Importantly, this data is 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.
- Table 1 Example of data taken for a patient "XI" for the values GL, CH, IS IL.
- the proposed model provides us with the estimated glucose values, represented by GL.
- the estimated glucose is obtained using the previous estimated values, and the values of carbohydrates and insulin at that instant, formally:
- GL (+ 1) f (GL; CH; IS; IL); l ⁇ k ⁇ N (ec. l) where GL (k + 1) is the estimated future value for glucose, an instant after the current one, and the rest of the variables have the same interpretation as the one described above.
- GE Evolutionary Grammar
- Gl (k + 1) f g i (Gl (km)) + fc (CH (km)) - f in (IS (km); IL (km)); 0 ⁇ m ⁇ k; (gr.l)
- the concrete form of f g i, f cn and end is obtained by GE with Grammar 1, shown in Figure 4.
- the three terms ⁇ exprgluc>, ⁇ exprch> and ⁇ exprins> correspond to f g i, fch and end, respectively, and are the expressions that can use prefixes (operands) such as those of rule IX, variables for each of the terms or combinations of them through rule VIII.
- Gl (k + 1) f g i (Sl (km)) + fc h (CH (km)) - end (IS (km); IL (km)); 0 ⁇ m ⁇ 1; (gr.2)
- Figure 5 shows the grammar used. You simply have to limit the indexes in rules III, V and VII to 00 and 01.
- 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 (f g i (Gl (k - m)); f ch (CH (k - m)); figna(IS (k - m); IL (k - m))) ; 0 ⁇ m ⁇ k; (gr.3)
- Grammar 3 is responsible for defining this model, which presents a slight modification in rule I of grammar 1. It is about changing the fixed operations + and - for the non-terminal ⁇ op> already The following is defined in rule VIII.
- Figure 6 shows grammar 3.
- the general model is similar to grammar 2 but adds freedom to function / which relates the subexpressions of glucose, carbohydrates and insulin.
- GL (k + 1) f (f g i (GL (k - m)); f ch (CH (k - m)); f in (IS (k - m); IL (k. M))) ; 0 ⁇ m ⁇ 1; (gr. 4)
- grammar 4 is similar to grammar 2 but giving freedom to the operations in rule I.
- the grammar is shown in Figure 7.
- the mission of the "fitness" functions (also known as fitness) is to guide the evolution towards a good solution.
- “fitness” the first time series of the complete glucose, GL, is obtained 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.
- ek ⁇ GL (k) - GL (k) ⁇ , l ⁇ k ⁇ N
- the fitness functions contained in Table 2 are: Fi (least squares), F 2 (medium error), F 3 (error maximum), F 4 (mean square error) and F 5 (mean absolute deviation).
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Public Health (AREA)
- Biomedical Technology (AREA)
- Pathology (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Investigating Or Analysing Biological Materials (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
Abstract
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.
Description
MÉTODO PARA EL MODELADO DEL NIVEL DE GLUCEMIA MEDIANTE PROGRAMACIÓN GENÉTICA
OBJETO DE LA INVENCIÓN
La presente invención propone aplicar la programación genética para encontrar un modelo personalizado que describa y prediga los niveles de glucosa de un paciente. De esta forma, la presente invención describe un método que, a partir de los datos históricos de un paciente que consisten en valores previos de glucosa, carbohidratos tomados e insulinas inyectadas, obtiene una expresión que puede usarse para predecir valores de glucosa en un futuro próximo.
El campo de aplicación de la presente invención es la estimación de la glucosa de un paciente a partir de los datos medidos. Debido a la naturaleza de la invención, la estimación de la glucosa de la presente invención permite a dispositivos que operen según el método de la presente invención, predecir 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.
ANTECEDENTES DE LA INVENCIÓN
La Diabetes Mellitus es una enfermedad causada por un defecto en la secreción o en la acción de la insulina, que es esencial para el control de los niveles de glucosa en sangre. En ambos casos el resultado es que las células no asimilan el azúcar 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. Según la ADA (American Diabetes Association) podemos distinguir cuatro tipos de DM:
• Diabetes Tipo 1 (T1DM): Las células no producen insulina debido a un proceso autoinmune. Actualmente esto hace necesario que la persona se inyecte insulina exógena, ya sea mediante inyecciones puntuales o que utilice una bomba de insulina.
Diabetes Tipo 2 (T2DM): El es resultado de una resistencia a la insulina, donde las células no consiguen utilizar la insulina correctamente. En ocasiones se combina con una ausencia, ya sea parcial o total de insulina.
Diabetes Gestacional: Aparece en los periodos de gestación en una de cada diez mujeres embarazada. El embarazo es un cambio en el metabolismo, ya que el feto utiliza la energía de la madre para obtener alimento, oxígeno y otros recursos. Esto hace que se produzca un descenso en la secreción de insulina por parte de la madre.
Otros tipos: como por ejemplo problemas en las células , defectos genéticos que afectan a la acción de la insulina, provocados por medicamentos, síndromes genéticos, etc.r
En la mayoría de los casos, los pacientes con una evolución larga de la enfermedad requieren la inyección de insulina exógena en varias dosis, o mediante una bomba de insulina. Es importante mantener un buen control glucémico para prevenir tanto las complicaciones agudas de la diabetes (cetoacidosis diabética e hipoglucemia, definida como un valor de glucosa en sangre inferior a 70mg=dl), como todas las complicaciones multi-crónicas asociadas a los pacientes diabéticos (nefropatía, retino patía, microangiopatía y macroangiopatía).
En los últimos años se ha demostrado que un control estricto del Nivel de glucemia en pacientes críticos mejora su evolución y reduce los costes médicos. El control de los niveles de glucosa es una tarea difícil 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 predicción para saber que nivel de glucosa tendría 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 sólo periodos de hiperglucemia (niveles de glucosa > 180 mg=dl) sino también episodios de Hipoglucemia severa (niveles de glucosa < 40mg=dl) que pueden llevar al paciente a la muerte.
Uno de los aspectos que hace difícil el control de glucosa en sangre es la ausencia de un modelo general de respuesta tanto a la insulina como a los diversos factores mencionados anteriormente, debido principalmente a las particularidades de cada paciente. Los modelos presentes en el estado de la técnica aplican técnicas de modelado clásico que resultan en el uso de ecuaciones lineales, perfiles definidos o modelos con un conjunto limitado de entradas.
Otro tipo de técnicas conocidas del estado de la técnica y que nunca han sido utilizadas para realizar modelos de estimación de la glucosa son las técnicas evolutivas. Las técnicas evolutivas como la programación genética -(PG) -tienen ciertas características que las hacen especialmente útiles para abordar problemas de optimización y modelado complejo. En primer lugar son "simples" conceptualmente hablando y también lo es su aplicación. Sin embargo tienen una base teórica bien definida y ampliamente estudiada. La programación genética ha demostrado su aplicabilidad a multitud de problemas reales y es intrínsecamente paralelizables por trabajar con un conjunto de soluciones. Es más, los algoritmos evolutivos tienen un gran potencial para incorporar conocimiento acerca del dominio en el que trabajan y para incorporar otros mecanismos de búsqueda no necesariamente evolutivos.
Una de las aplicaciones más conocidas de la programación genética es la regresión simbólica y la aplicación de una de las variantes de la PG, las gramáticas evolutivas o en inglés Grammatical Evolution (GE) nos permite obtener soluciones para incorporar términos no-lineales. La gramática evolutiva GE es una técnica de computación evolutiva establecida en 1998 por el grupo de Conor Ryan en la Universidad de Limerick (Irlanda). La programación genética trata de encontrar programas ejecutables o funciones que respondan a unos datos de referencia. La principal ventaja es que la gramática evolutiva GE aplica operadores genéticos a una cadena completa lo que simplifica la aplicación de la búsqueda en diferentes lenguajes de programación. Además no tiene problemas de memoria, al contrario que la programación genética básica, donde la representación en
árbol puede llevar al conocido problema de bloating (un crecimiento excesivo de las estructuras de datos del computador en la memoria).
Por todo ello, nosotros proponemos aplicar PG para encontrar un modelo personalizado que describa y prediga los niveles de glucosa de un paciente. Nuestro método tomará los datos históricos de un paciente que consisten en valores previos de glucosa carbohidratos tomados e insulinas inyectadas y a partir de ellos obtendrá una expresión que puede usarse para predecir valores de glucosa en un futuro próximo. Mediante los modelos del estado de la técnica no es posible conocer una estimación de la glucosa en sangre en pacientes ni de forma genérica 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 técnicas de computación evolutiva. Esta solución no se ha abordado hasta la fecha debido a su complejidad mediante el uso de técnicas clásicas.
DESCRIPCIÓN DE LA INVENCIÓN
La presente invención propone una técnica nueva que implica obtener el modelo del paciente particularizado utilizando programación genética "GP" (del inglés "Genetic Programming"). La programación genética "GP" elimina las barreras relacionadas con la construcción del modelo, tales como la linealidad o la limitación en los parámetros de entrada. Mediante la aplicación de la programación genética "GP" en la forma divulgada por la presente invención, es posible encontrar un modelo personalizado que describa y prediga los niveles de glucosa de un paciente. El método de la presente invención toma los datos históricos de un paciente que consisten en valores previos de glucosa carbohidratos tomados e insulinas inyectadas y, a partir de ellos, obtiene una expresión que puede usarse para predecir valores de glucosa en un futuro próximo.
Un primer aspecto de la invención es un método para el modelado del nivel de glucemia que permite predecir la glucosa de un individuo. El método comprende los siguientes pasos:
i) obtener de un individuo unos datos que comprendan, para un tiempo k, al menos: o unos niveles de glucosa GL;
o unos niveles de ingesta CH;
o unos niveles de insulina inyectada de efecto rápido IS e insulina inyectada de efecto lento IL;
ii) aplicar un Algoritmo Evolutivo a un conjunto de soluciones y a los datos anteriormente obtenidos;
iii) calcular una función GL de predicción de la glucosa para un tiempo posterior (k+1) al tiempo k, tal que:
GL(k + 1) = f(GL, CH, IS, IL).
El paso ii) adicionalmente comprende llevar a cabo los siguientes sub-pasos:
a) generar el conjunto de soluciones con N-soluciones aleatorias donde cada solución está formada por una cadena de caracteres (cromosoma);
b) calcular N-expresiones GLk para k=l ,.. . ,N obtenidas mediante la decodifícación del conjunto de las N-soluciones aleatorias aplicando una gramática BNF y una función de mapeo;
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 función de fítness a cada uno de los errores anteriormente calculados ei<; de tal forma que se obtiene para cada expresión GLk, un error asociado Ek;
d) seleccionar N-1 soluciones resultado de: tomar las N-soluciones y apartar la solución de menor error Ek de las N-soluciones; enfrentar las N-1 soluciones tomadas de dos en dos, seleccionando la solución de menor error E ;
e) cruzar las N-1 soluciones anteriores mediante un algoritmo de probabilidad de cruce;
f) mutar un carácter de las N-1 soluciones anteriores mediante un algoritmo de probabilidad de mutación;
g) añadir la solución de menor error Ek apartada en el paso d) a las N-1 soluciones anteriores;
h) repetir los pasos c) a g) hasta cumplir una condición de parada predefinida.
El algoritmo de probabilidad de cruce comprende:
i) tomar las N-l soluciones de dos en dos;
ii) establecer una probabilidad de cruce entre 0 y 1 ;
iii) generar un número aleatorio entre 0 y 1 ;
iv) si el número aleatorio generado es mayor que la probabilidad de cruce, no hay cruce;
v) si el número aleatorio generado es menor o igual que la probabilidad de cruce, se cruza parte de una solución con parte de la otra solución de tal forma que se mantiene la longitud de la cadena de caracteres.
Por otro lado, el algoritmo de probabilidad de mutación comprende:
i) tomar las N-l soluciones de una en una;
ii) establecer una probabilidad de mutación entre 0 y 1 ;
iii) generar un número aleatorio entre 0 y 1 ;
iv) si el número aleatorio generado es mayor que la probabilidad de mutación, no hay mutación;
v) si el número aleatorio generado es menor o igual que la probabilidad de mutación, se muta uno o más carácteres de la cadena de caracteres de tal forma que se mantiene la longitud de la cadena de caracteres.
Adicionalmente, la condición de parada predefinida es al menos una de las siguientes condiciones:
• máximo número de iteraciones;
· convergencia: no mejora en un número "p" de iteraciones;
• estar cerca de un óptimo teórico.
Por otro lado, la función de fitness es una de las siguientes funciones (ver tabla 2):
• mínimos cuadrados Fi (Least Squares);
· error medio F2 (Average Error);
• error máximo F3 (Máximum Error);
• error cuadrático medio F4 (RSME);
• desviación absoluta media F5 (MAD).
La predicción de la glucosa anteriormente calculada se obtenía a partir de cuatro datos de entrada tomado del paciente. No obstante, el número de datos de entrada puede ser variable hasta un total de veinticinco variables de entrada. Así, la solución GL(k + 1) de partida se ampliaría hasta tener una expresión como la siguiente:
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 / es una función que se calcula mediante una gramática BNF que comprende la siguiente forma:
<f> ::= <f><OP><f>
I (<f><OP><f>)
I <PREOP>(<f>)
I <v>
I <z>
<OP> ::= +
/
<PREOP> ::= SIN
COS
EXP
TAN
LOG
ABS
LN
TANH COSH SENH
DERIVAD A CON RESPECTO AL TIEMPO
DERIVAD A CUADRADO CON RESPECTO AL TIEMPO
DERIVAD A TERCERA CON RESPECTO AL TIEMPO
<V> ::= <P>
<A>
#{k}
<SI>
<IG>
<PG>
<CI>
<M>
<IC>
<IP>
<DI>
<OC>
<TI>
<FV>
<VI>
|<PC>
|<TE>
|<FA>
|#{G[k-<J>]}
|#{C[k-<J>]}
|#{IS[k-<J>]}
|#{IL[k-<J>]}
|#{F[k-<J>]}
|#{E[k-<J>]}
|#<Z>
<P> ::= "el peso del individuo en kg.";
<E> ::= "edad del individuo en años";
<SI> ::= "unidades de glucemia que baja 1 unidad de insulina en mg/dl";
<IG> ::= "índice glucémico de la ingesta" (el de la glucosa es 1, y puede ser mayor o menor;)
<PG> ::=<D>.<D>
<CI> ::= <D>.<D>
<M> ::=0
<IC> ::= 5
<IP>::=0
<DI> ::=2
<OC> ::=3
<TI> ::= 12
<FV> ::=0.2
<VI>::=0.8
<PC> ::= 0.6
<FTSI> ::= +<D>.<D>
|-<D>.<D>
<J> ::=0
|1
12
13
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 predicción u otro -periodo de muestreo habría que modificar esta regla)
<Z> ::= <D>.<D>
<D> ::= 0
|1
12
|3
14
15
16
17
|8
19 donde los distintos parámetros de entrada son:
P: peso actual en kg;
A: edad actual en años;
k: instante actual;
FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina; IG: es el índice glucémico;
PG: unidades proteína/grasa: cantidad de alimento que aporta lOOKcal en forma de grasa y/o proteínas, se mide en unidades;
CI: ratio Hidratos de carbono / insulina;
M: menstruación-, Sí =1 ó no=0;
IC: insulina Circulante, unidades de insulina;
IP: intervalo entre comienzo de la infusión de insulina prandial y comienzo de la ingesta, en intervalos de 15 minutos;
DI: tiempo de duración de la última ingesta en intervalos de 15 minutos;
OC: orden en que se consumen los alimentos; (número natural correspondiente a una fila en una tabla de posibles ordenaciones)
TI: tiempo desde la última ingesta en intervalos de 15 minutos;
FV: factor de variabilidad de absorción, valor entre 0 y 1 ;
VI: variabilidad de la insulina, valor entre 0 y 1 ;
PC: preparación de la comida (fritos, asados, condimentos...), valor entre 0 y 1 ;
FTSI: factor transitorio de sensibilidad a la insulina, vendrá determinado por el efecto de distintos tipos de enfermedades que tiene el paciente y por los fármacos 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 l ;
Z: es una constante;
en cuanto a históricos:
G(-) es el histórico de la glucemia (o parte de él);
C(-) es el histórico de carbohidratos;
IS(-) es la insulina de acción corta;
IL(-) es la insulina de acción larga;
F(-) es el ejercicio físico; y,
Ε(·) es el nivel de estrés. Respecto de la función de mapeo indicada anteriormente, ésta comprende la siguiente expresión:
Choicei = (CIV)MOD (# of choices )
donde Choice¡ es la elección seleccionada para el no-terminal i, CIV es el codón que estamos decodificando, MOD es la función módulo y (# of choices¡) es el número de opciones posibles para la regla en el terminal i.
Hasta aquí queda descrito el método de la presente invención cuando partimos de cero. Es decir, no existe un modelo anterior de la presente invención aplicado al paciente. En caso de existir un modelo anterior, método de la presente invención, entre los pasos i) y ii), opcionalmente comprendía evaluar si es o no correcta la función GL (=modelo) de predicción de la glucosa.
En otro aspecto de la presente invención, la presente invención comprende un programa de ordenador para la ejecución de un método para el modelado del nivel de glucemia la predicción de la glucosa según una cualquiera de la realizaciones descritas anteriormente o en el apartado "descripción de una o varias formas de realización de la invención".
En otro aspecto de la presente invención, la presente invención comprende un medio de almacenamiento que contiene un programa de ordenador para la ejecución de un método para el modelado del nivel de glucemia la predicción de la glucosa según una cualquiera de la realizaciones descritas anteriormente o en el apartado "descripción de una o varias formas de realización de la invención".
El último aspecto de la presente invención está comprendido por un sistema computacional en el que se carga el programa de ordenador anteriormente descrito.
BREVE DESCRIPCIÓN DE LAS FIGURAS
Figura 1.- Representa un diagrama de flujo para calcular el modelo de predicción de la glucosa.
Figura 2.- Representa un diagrama de flujo para calcular el modelo de predicción de la glucosa en una implementación web.
Figura 3.- Es el ejemplo de gramática en BNF diseñada para regresión simbólica.
Figura 4.- Es un primer ejemplo de gramática BNF.
Figura 5.- Es un segundo ejemplo de gramática BNF.
Figura 6.- Es un tercer ejemplo de gramática BNF. Figura 7.- Es un cuarto ejemplo de gramática BNF.
DESCRIPCIÓN DE UNA O VARIAS FORMAS DE REALIZACIÓN DE LA
INVENCIÓN
Seguidamente se realiza una descripción de una o varias formas de realización de la invención que, de forma no limitativa, ayudan a la mejor comprensión de la presente invención.
La figura 1 muestra un diagrama de flujo del método de acuerdo con la presente invención. Primeramente, se realiza una recogida de datos 1 durante un periodo de 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 rápido IS y de efecto lento -IL. Posteriormente, se evalúa 2 si el modelo (=función GL) es correcto (si ya existe previamente un modelo). En caso afirmativo, se continúa recogiendo datos. En caso contrario, se aplica un algoritmo evolutivo 3 consistente, básicamente, en personalizar una gramática en formato BNF 4 mediante la aplicación de una función de mapeo 5. Como resultado de la aplicación del algoritmo evolutivo 3, se obtiene un nuevo modelo caracterizado por la función 6:
G~L{k + 1) = f(Gl, CH, IS, IL)
que depende de los datos recogidos que son al menos GL, CH, IS e IL. Los datos recogidos se pueden ampliar con una o varias variables de entrada hasta obtener un modelo caracterizado por una función con la siguiente expresión:
GL(k + 1) =f(P,E,k,SIIG,PG, CIM,IC,IP,DI OC, TIFV, VI,PC, TE,FA, G(-), C(-), IS(-),
IL(-),F(-),E(-),Z)
donde:
P: peso actual en kg;
A: edad actual en años;
k: instante actual;
FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina; IG: es el índice glucémico u;
PG: unidades proteína/grasa: cantidad de alimento que aporta l OOKcal en forma de
grasa y/o proteínas, se mide en unidades;
CI: ratio Hidratos de carbono / insulina;
M: menstruación (días desde la última menstruación), Sí =1 ó no=0;
IC: insulina Circulante, unidades de insulina;
IP: intervalo entre comienzo de la infusión de insulina prandial y comienzo de la ingesta, en intervalos de 15 minutos;
DI: tiempo de duración de la última ingesta en intervalos de 15 minutos;
OC: orden en que se consumen los alimentos; (número natural correspondiente a una fila en una tabla de posibles ordenaciones)
TI: tiempo desde la última ingesta en intervalos de 15 minutos;
FV: factor de variabilidad de absorción, valor entre 0 y 1 ;
VI: variabilidad de la insulina, valor entre 0 y 1 ;
PC: preparación de la comida (fritos, asados, condimentos..), valor entre 0 y 1 ;
FTSI: factor transitorio de sensibilidad a la insulina, vendrá determinado por el efecto de distintos tipos de enfermedades que tiene el paciente y por los fármacos 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 ;
Z: es una constante;
en cuanto a históricos:
G(-) es el histórico de la glucemia (o parte de él);
C(-) es el histórico de carbohidratos;
IS(-) es la insulina de acción corta;
IL(-) es la insulina de acción larga;
F(-) es el ejercicio físico; y,
Ε(·) es el nivel de estrés.
La figura 2 muestra un diagrama de flujo donde el método de la presente invención se encuentra implementado dentro de un sistema computacional que comprende una base de datos 7 y una aplicación web 8, a través 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 están encargados de almacenar las gramáticas y procesar el algoritmo evolutivo para obtener el modelo o expresión matemática para GL(k+l) 6 con el que obtener la predicción de la glucosa 13. Los modelos computaciones 15 pueden ampliarse con medios computacionales opcionales 15' que servirían para predecir la glucosa 14 e indicar los bolos de insulina en un tiempo futuro (por ejemplo 2 horas) combinación la función GL(k+l ) con los datos "instantáneos" de glucosa, ingesta prevista, ejercicio físico e insulina pautada 12. A continuación se detalla cómo se aplica el algoritmo evolutivo para modelar el nivel de glucemia en individuos mediante Programación Genética, y especialmente en sujetos con Diabetes Mellitus.
1. Aproximación Evolutiva
El objetivo de la presente invención es encontrar una expresión que modele el nivel de glucosa de un paciente diabético. Esta expresión 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 regresión simbólica. La regresión simbólica trata de obtener expresiones matemáticas que reproduzcan un conjunto discreto de datos.
La Programación Genética (PG) ha demostrado ser efectiva en un alto número de problemas de regresión simbólica, aunque tiene algunas limitaciones, que a menudo vienen del modo de representación como por ejemplo el "bloating". Otro punto que hay que considerar es que en Programación Genética (PG), la evolución se produce en el fenotipo del individuo y no en su representación (genotipo). Durante los últimos años, variantes de la programación genética, las gramáticas evolutivas han aparecido para proponer diferentes aproximaciones a la evolución. La Gramática Evolutiva (GE) permite la generación de programas de computador en un lenguaje arbitrario. Esto se consigue mediante la utilización de gramáticas para especificar las reglas de obtención de
programas. Específicamente, la presente invención utiliza gramáticas expresadas en la forma de BNF (Backus Naur form).
En contraste con los algoritmos genéticos, que trabajan con representación de soluciones, la Gramática Evolutiva GE trabaja (evoluciona) con un código genético que determina el proceso de producción de la solución. El proceso de traducción de código se determina por las Gramáticas representadas como BNF.
BNF es una notación técnica para expresar gramáticas libres de contexto. Una representación en BNF puede ser cualquier especificación de un lenguaje completo o un subconjunto de un lenguaje orientado al problema. Una especificación BNF es un conjunto de reglas de derivación, expresadas en la forma:
<símbolo> ::= <expresión>
Las reglas están compuestas de secuencias de terminales y no terminales. Los símbolos 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ímbolo> es no-terminal y, aunque no es una especificación BNF completa, también se puede afirmar para la presente invención que <expresión> será un no-terminal ya que siempre aparecen entre el par o. Por tanto, en este caso, el no-terminal <símbolo> será remplazado por una expresión. La operación de remplazo se representa con "::=". El resto de la gramática debe indicar las diferentes posibilidades. Una gramática está 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 producción para la asignación de elementos de N a T, y S es un símbolo de comienzo que debería aparecer en N. Las opciones dentro de una regla de producción están separadas por el símbolo "|". La Figura 3 representa un ejemplo de gramática en BNF diseñado para regresión simbólica. El código que representa una expresión consistirá de elementos de un conjunto
de terminales T. Estos han sido combinados con las reglas de la gramática como se explica más adelante.
Además las gramáticas pueden ser adaptadas para sesgar la búsqueda del proceso evolutivo porque hay un número finito de opciones de reglas de producción, la cual limita el espacio de búsqueda.
2. Proceso de Mapeo. Como se ha mencionado anteriormente, la presente invención aplica un algoritmo evolutivo para evolucionar genotipos, los cuales se representan como una cadena de valores enteros. Cada genotipo mapea el símbolo de comienzo a símbolos terminales leyendo los codones, los cuales, en este ejemplo de realización, tienen una longitud de 8 bits. El proceso es similar al explicado en la sección previa pero, en vez de hacer elecciones aleatorias, tomaremos las decisiones leyendo el genotipo. Cada codón es por tanto un valor entero del genotipo, el cual es procesado mediante la siguiente función de mapeo:
Choicei = (CIV)MOD (# of choices )
donde Choice¡ es la elección seleccionada para el no-terminal i, CIV es el codón que se está decodificando, MOD es la función módulo y (# of chotees,) es el número de opciones posibles para la regla en el terminal .
La función de mapeo toma el valor entero del cromosoma, calcula el módulo respecto al número de posibilidades de la regla y selecciona la opción de acuerdo con el resultado. Dado que la función módulo devuelve valores entre 0 y (# of choices,) - 1 , la primera opción corresponderá al primer valor, 0, la segunda a 1 , y así sucesivamente. Por tanto, si una regla tiene sólo una posibilidad, ésta siempre será seleccionada.
En el presente ejemplo de realización, el proceso de mapeado usa la gramática de la Figura 3, diseñada para resolver un problema de regresión simbólica y los problemas del modelo de la glucosa, a falta de particularizar el conjunto terminal, lo cual se describe en la
siguiente sección. 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:
12 - 55 - 23 - 47 - 38 - 254 - 2
El símbolo comienzo es S = { expr }, por tanto la expresión de la solución comenzará con este no-terminal:
Solución = <expr>
Para obtener el fenotipo aplicamos la función de mapeo al primer gen (CIV = 12) usando la regla del primer no-terminal de la expresión. En este punto sólo aparece un no-terminal, <expr>, el cual se corresponde con la regla I de la Figura 3. El número de opciones en esa regla es tres. Por tanto, la función mapeo aplicada es:
12 MOD 3 = 0
Por lo que se selecciona la primera opción, <expr> <op> <expr>, y se continúa con el proceso de mapeo. La opción seleccionada sustituye los no-terminales decodifícados. Como resultado la expresión es, en este punto,:
Solución = <expr> <op> <expr>
El proceso continuará con el siguiente gen, 55, el cual se emplea en decodifícar el primer no-terminal de la expresión en su estado de desarrollo actual. A continuación se aplica de nuevo el mapeo, ahora a la regla I:
55 MOD 3 = 1
La segunda opción, <pre_op> (<expr>), es entonces seleccionada. La expresión pasa a ser:
Solución = <pre op> (<expr>) <op> <expr>
El siguiente gen, 23, pasa a ser descodifícado. En este punto del proceso, el primer no- terminal que aparece en la expresión es <pre_op>. Por tanto, se puede aplicar la función de mapeo a la regla III, la cual tiene tres posibilidades:
23 MOD 3 = 2
Al tomar el valor 2 se selecciona la tercera opción, el símbolo terminal Abs.
La expresión pasa a ser:
Solución = Abs(<expr>) <op> <expr> El siguiente gen, 47, descodifíca <expr> con la regla I:
47 MOD 3 = 2
Por lo que se selecciona la tercera opción, <var>. La expresión pasa a ser:
Solución = Abs(<var>) <op> <expr> El gen 38 descodifíca <var> con la regla IV:
38 MOD 2 = 0
Dicho valor selecciona la primera opción, el no-terminal X.
Solution = Abs(X) <op> <expr> El no-terminal <op> se descodifica con 254 y la regla II:
254 MOD 4 = 2
Este valor selecciona la tercera opción, el terminal * .
Solución = Abs(X) * <expr> El siguiente gen, 2, descodifica <expr> con la regla I:
2 MOD 3 = 2
Este valor selecciona la tercera opción, el no-terminal <var>.
Solución = Abs(X) * <var>
En este punto el proceso de transformación 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 expresión con terminales en todos sus componentes.
La solución es reusar los codones comenzando por el primero otra vez. Esto representa una novedad respecto de los algoritmos evolutivos distintos de las Gramáticas Evolutivas, del estado de la técnica. De hecho es posible reutilizar los codones varias veces. Esta técnica se conoce como "wrapping" y simula el fenómeno de solapamiento de genes que se da en muchos organismos. Reusar codones no es un problema ya que en Gramática Evolutiva (GE), un codón siempre genera el mismo valor entero y, si se aplica a la misma regla, genera la misma solución. Sin embargo, si los usamos con reglas diferentes obtendremos diferentes partes de fenotipos. Así, las Gramáticas Evolutivas (GE) aseguran que un genotipo individual siempre produce el mismo fenotipo. Por tanto, el "wrapping" no supone un problema.
De esta manera, aplicando el "wrapping", el proceso vuelve atrás, al primer gen, 12, el cual se utiliza para decodificar <var> con la regla IV:
12 MOD 2 = 0
Este valor selecciona la primera opción, el no-terminal X, dando lugar a la expresión definitiva del fenotipo:
Solución = Abs(X) * X
En la siguiente sección se describen cuatro gramáticas correspondientes a cuatro ejemplos de realización para representar diferentes espacios de búsqueda para obtener expresiones que modelen los niveles de glucosa en sangre. 3. Descripción del modelo.
Para que un modelo sea completo, dicho modelo, para los niveles de glucosa, debería basarse en factores observables así como en otras características ocultas e intrínsecas al organismo del paciente. Los factores observables son aquellos datos que ha recogido el paciente manualmente o un dispositivo automático, mientras que los no observables deben ser inferidos. Por estos motivos, la presente invención propone un modelo que considera todos estos factores, aplicando Gramáticas Evolutivas (GE) para inferir una expresión que caracterice el comportamiento de la glucosa en pacientes diabéticos. 3.1. Datos disponibles y modelo general de la glucosa.
El nivel del glucosa en un instante dado depende de varios factores, algunos de ellos intrínsecos al funcionamiento del organismo. En el caso de un paciente de diabetes, los más relevantes son el nivel de glucosa que había hasta la última medida, los carbohidratos ingeridos y la insulina inyectada. Estos factores están incluidos en los conjuntos de datos de nuestros pacientes. Es importante destacar que estos datos son fáciles 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 así como el tipo, son datos que el paciente obviamente conoce.
Para el primer ejemplo de realización, se han obtenido datos con un periodo de medición entre dos consecutivos de 15 minutos a lo largo de 24 horas. La Tabla 1 muestra el conjunto de datos obtenido para un paciente "XI". 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 dicho instante, CH las unidades de carbohidratos ingeridas, IS la insulina de efecto rápido inyectada e IL la de efecto lento.
Tabla 1.- Ejemplo de datos tomados para un paciente "XI " para los valores GL, CH, IS IL.
El modelo propuesto nos proporciona los valores estimados de la glucosa, representados por GL. En cada iteración, la glucosa estimada se obtiene usando los valores estimados anteriores, y los valores de los carbohidratos e insulina en dicho instante, formalmente:
GL( + 1) = f(GL;CH; IS; IL); l < k< N (ec. l) donde GL(k + 1 ) es el futuro valor estimado para la glucosa, un instante posterior al actual, y el resto de variables tiene la misma interpretación que la anteriormente descrita. De esta
manera el motor de la Gramática Evolutiva (GE) debería ser capaz de decidir el aspecto de f. Para guiar la búsqueda necesitamos una gramática que limite el espacio de búsqueda y capture la dinámica de los niveles de glucosa en sangre. A continuación detallamos las gramáticas empleadas en la presente invención.
3.2. Gramáticas BNF para el modelado de los niveles de glucosa.
Siguiendo el modelo general mostrado en (ec.l), se han diseñado cuatro gramáticas donde la glucosa estimada depende únicamente de factores observables. La incorporación de conocimiento del problema en la gramática mejora el rendimiento de la exploración. Así, las gramáticas diseñadas siguen los consejos de los médicos en el equipo de investigación. Según sus indicaciones, el comportamiento esperado de la glucosa puede variar a lo largo del día, por lo que se han añadido las posibles influencias en forma de ventanas de tiempo. En definitiva, hay cuatro gramáticas que mezclan las diferentes observaciones.
Gramática 1
Es bien conocido que la ingesta de carbohidratos eleva la glucosa mientras que las inyecciones la disminuyen. Por este motivo en la primera gramática los carbohidratos siempre suman mientras que la insulina siempre resta. Además permite utilizar cualquier valor anterior de la glucosa, los carbohidratos o la insulina al construir la expresión.
Gl(k + 1) =fgi(Gl (k-m))+fc(CH(k-m))-fin(IS(k-m); IL(k-m)); 0< m< k; (gr.l) La forma concreta de fgi, fcn y fin se obtiene mediante GE con la Gramática 1 , mostrada en la Figura 4. Los tres términos <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 términos o combinaciones de ellos a través de la regla VIII.
Gramática 2
Esta gramática es un caso particular de la anterior que limita el histórico de valores de glucosa, carbohidratos e insulina al instante actual k y el anterior k-1. El modelo resultante tiene la expresión general:
Gl(k + 1) =fgi(Sl (k-m))+fch(CH(k-m))-fin(IS(k-m); IL(k-m)); 0 < m <1; (gr.2)
La Figura 5 muestra la gramática empleada. Simplemente hay que limitar a 00 y 01 los índices en las reglas III, V y VII.
Gramática 3
Para dotar de más libertad a la búsqueda, se dejan libres las operaciones conectivas, ampliándolas a las operaciones aritméticas básicas. La expresión general del modelo es (gr.3), donde f es la función que conecta las tres subexpresiones para la glucosa, carbohidratos e insulina.
Gl(k + 1) =f(fgi(Gl(k - m));fch(CH(k - m));fi„(IS(k - m); IL(k - m))); 0< m< k; (gr.3) La gramática 3 es la encargada de definir este modelo, el cual presenta una ligera modificación en la regla I de la gramática 1. Se trata de cambiar las operaciones fijas + y - por el no-terminal <op> y a continuación se define en la regla VIII. La figura 6 muestra la gramática 3. Gramática 4
El modelo general es similar a la gramática 2 pero añade libertad a función / que relaciona las subexpresiones de la glucosa, los carbohidratos y la insulina.
GL(k + 1) = f(fgi(GL (k - m));fch(CH(k - m));fin(IS(k - m); IL(k . m))); 0< m <1; (gr. 4)
Para ello la gramática 4 es similar a la gramática 2 pero dotando de libertad a las operaciones en la regla I. La gramática se muestra en la Figura 7.
3.3. Evaluación fitness o aptitud (error ek)
Si las gramáticas limitan el espacio de búsqueda de la Gramática Evolutiva GE, la misión de las funciones de "fitness" (también conocidas como aptitud) es guiar la evolución hacia una buena solución. Para calcular el "fitness", primero se obtiene la serie temporal de la glucosa completa, GL, a partir del fenotipo generado por el genotipo del individuo y la gramática empleada. En este paso la glucosa estimada en k se realimenta para estimar la glucosa en los siguientes k.
A continuación 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. ek = \ GL(k) - GL(k) \, l≤ k≤N
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: Fi (mínimos cuadrados), F2 (error medio), F3 (error máximo), F4 (error cuadrático medio) y F5 (desviación absoluta media).
Tabla 2.- Ejemplos de funciones de fitness.
Claims
1.- Método para el modelado del nivel de glucemia mediante programación genética que comprende los siguientes pasos:
i) obtener de un individuo unos datos que comprendan, para un tiempo k, al menos:
o unos niveles de glucosa GL;
o unos niveles de ingesta CH;
o unos niveles de insulina inyectada de efecto rápido IS e insulina inyectada de efecto lento IL;
ii) aplicar un Algoritmo Evolutivo a un conjunto de soluciones y a los datos anteriormente obtenidos;
iii) calcular una función GL de predicción de la glucosa para un tiempo posterior (k+1) al tiempo k, tal que:
G~L(k + 1) = f(GL, CH, IS, IL)
2 - Método según la reivindicación 1 , caracterizado por que el paso ii) adicionalmente comprende llevar a cabo los siguientes pasos:
a) generar el conjunto de soluciones con N-soluciones aleatorias donde cada solución está formada por una cadena de caracteres (cromosoma);
b) calcular N-expresiones GLk para k=l ,...,N obtenidas mediante la decodifícación del conjunto de las N-soluciones aleatorias aplicando una gramática BNF y una función de mapeo;
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 función de fítness a cada uno de los errores anteriormente calculados ek; de tal forma que se obtiene para cada expresión GLk, un error asociado Ek;
d) seleccionar N-1 soluciones resultado de: tomar las N-soluciones y apartar la solución de menor error Ek de las N-soluciones; enfrentar las N-1 soluciones tomadas de dos en dos, seleccionando la solución de menor error Ek;
e) cruzar las N-1 soluciones anteriores mediante un algoritmo de probabilidad de cruce;
f) mutar un carácter de las N-l soluciones anteriores mediante un algoritmo de probabilidad de mutación;
g) añadir la solución de menor error Ek apartada en el paso d) a las N-l soluciones anteriores;
h) repetir los pasos c) a g) hasta cumplir una condición de parada predefinida.
3. - Método según la reivindicación 2, caracterizado por que el algoritmo de probabilidad de cruce comprende:
i) tomar las N-l soluciones de dos en dos;
ii) establecer una probabilidad de cruce entre 0 y 1 ;
iii) generar un número aleatorio entre 0 y 1 ;
iv) si el número aleatorio generado es mayor que la probabilidad de cruce, no hay cruce;
v) si el número aleatorio generado es menor o igual que la probabilidad de cruce, se cruza parte de una solución con parte de la otra solución de tal forma que se mantiene la longitud de la cadena de caracteres.
4. - Método según la reivindicación 2, caracterizado por que el algoritmo de probabilidad de mutación comprende:
i) tomar las N- 1 soluciones de una en una;
ii) establecer una probabilidad de mutación entre 0 y 1 ;
iii) generar un número aleatorio entre 0 y 1 ;
iv) si el número aleatorio generado es mayor que la probabilidad de mutación, no hay mutación;
v) si el número aleatorio generado es menor o igual que la probabilidad de mutación, se muta un carácter de la cadena de caracteres de tal forma que se mantiene la longitud de la cadena de caracteres.
5. - Método según la reivindicación 2, caracterizado por que la condición de parada predefinida es al menos una de las siguientes condiciones:
• máximo número de iteraciones;
• convergencia: no mejora en un número "p" de iteraciones;
• estar cerca de un óptimo teórico.
6. - Método según la reivindicación 2, caracterizado por que la función de fitness es una de las siguientes funciones:
• mínimos cuadrados;
• error medio;
• error máximo;
• error cuadrático medio;
· desviación absoluta media.
7. - Método según la reivindicación 2, caracterizado por que la solución GL(k + 1) tiene la siguiente expresión:
GL(k + 1) =f(P,E,k,SI,IG,PG,CI,M,IC,IP,DI, OC, TI,FV, VI,PC E,FA,G(-),CO, IS(-),
IL(-),F(-),E(-),Z) donde el operador · representa cualquier instante actual o anterior en el tiempo y donde / es una función que se calcula mediante una gramática BNF que comprende la siguiente forma:
<f> ::= <f><OP><f>
I (<f><OP><f>)
I <PREOP>(<f>)
I <v>
I <Z>
<OP> ::= +
I*
V
<PREOP> ::= SIN
|COS
|EXP
|TAN
|LOG
|ABS
|LN
|TANH
|COSH
|SENH
|DERIVADA_CON_RESPECTO_AL_TIEMPO
|DERIVADA_CUADRADO_CON_RESPECTO_AL_TIEMPO (DERIVAD A TERCERA CON RESPECTO AL TIEMPO
<V> ;;= <P>
|<A>
|#{k}
|<SI>
|<IG>
|<PG>
|<CI>
|<M>
|<IC>
|<IP>
|<DI>
|<OC>
|<TI>
|<FV>
|<VI>
|<PC>
|<TE>
|<FA>
|#{G[k-<J>]}
|#{C[k-<J>]}
|#{IS[k-<J>]}
|#{IL[k-<J>]}
|#{F[k-<J>]}
|#{E[k-<J>]}
|#<Z>
<P> ::= "el peso del individuo en kg.";
<E> ::= "edad del individuo en años";
<SI> ::= "unidades de glucemia que baja 1 unidad de insulina en mg/dl";
<IG> ::= "índice glucémico de la ingesta" (el de la glucosa es 1 , y puede ser mayor o menor;)
<PG> ::= <D>.<D>
<CI> ::= <D>.<D>
<M> ::= 0
<IC> ::= 5
<IP> ::= 0
<DI> ::= 2
<OC> : := 3
<TI> ::= 12
<FV> ::= 0.2
<VI> ::= 0.8
<PC> ::= 0.6
<FTSI> ::= +<D>.<D>
|-<D>.<D>
<J> ::= 0
| 1
|2
13
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 predicción u otro periodo de muestreo habría que modificar esta regla);
<Z> ::= <D>.<D>
<D> ::= 0
| 1
12
|3
|4
|5
|6
17
|8
|9 donde los distintos parámetros de entrada son:
P: peso actual en kg;
A: edad actual en años;
k: instante actual;
FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina; IG: es el índice glucémico;
PG: unidades proteína/grasa: cantidad de alimento que aporta l OOKcal en forma de grasa y/o proteínas, se mide en unidades;
CI: ratio Hidratos de carbono / insulina;
M: menstruación , Sí =1 ó no=0;
IC: insulina Circulante, unidades de insulina;
IP: intervalo entre comienzo de la infusión de insulina prandial y comienzo de la ingesta, en intervalos de 15 minutos;
DI: tiempo de duración de la última ingesta en intervalos de 15 minutos;
OC: orden en que se consumen los alimentos; (número natural correspondiente a una fila en una tabla de posibles ordenaciones)
TI: tiempo desde la última ingesta en intervalos de 15 minutos;
FV: factor de variabilidad de absorción, valor entre 0 y 1 ;
VI: variabilidad de la insulina, valor entre 0 y 1 ;
PC: preparación de la comida (fritos, asados, condimentos..), valor entre 0 y 1 ;
FTSI: factor transitorio de sensibilidad a la insulina: valor de -1 a l ;
Z: es una constante;
en cuanto a históricos:
G(-) es el histórico de la glucemia (o parte de él);
C(-) es el histórico de carbohidratos;
IS(-) es la insulina de acción corta;
IL(-) es la insulina de acción larga;
F(-) es el ejercicio físico; y,
Ε(·) es el nivel de estrés.
8. - Método según la reivindicación 2, caracterizado por que la función de mapeo comprende la siguiente expresión:
Choicet = (CIV)MOD (# of choices^)
donde Choice¡ es la elección seleccionada para el no-terminal i, CIV es el codón que estamos decodificando, MOD es la función módulo y (# of choices,) es el número de opciones posibles para la regla en el terminal i.
9. - Método según la reivindicación 1 , caracterizado por que el método, entre los pasos i) y ii), opcionalmente comprende evaluar la función GL de predicción de la glucosa anteriormente calculada cuando existe un modelo de glucosa anteriormente calculado.
10. - Programa de ordenador caracterizado por que comprende la ejecución de un método definido de acuerdo con una cualquiera de las reivindicaciones 1 a 9.
1 1. - Medio de almacenamiento caracterizado por que comprende un programa de ordenador definido según la reivindicación 10.
12. - Sistema computacional caracterizado por que en dicho sistema computacional se carga el programa de ordenador definido en la reivindicación 10.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| ES201331726A ES2540159B1 (es) | 2013-11-27 | 2013-11-27 | Método para el modelado del nivel de glucemia mediante programación genética |
| ESP201331726 | 2013-11-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015079079A1 true WO2015079079A1 (es) | 2015-06-04 |
Family
ID=53198407
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/ES2014/000190 Ceased WO2015079079A1 (es) | 2013-11-27 | 2014-11-05 | Método para el modelado del nivel de glucemia mediante programación genética |
Country Status (2)
| Country | Link |
|---|---|
| ES (1) | ES2540159B1 (es) |
| WO (1) | WO2015079079A1 (es) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023135346A1 (es) | 2022-01-12 | 2023-07-20 | Universidad Complutense De Madrid | Método y sistema para predicción de valores de glucosa y generación de alertas de hipoglucemia e hiperglucemia |
| US12205686B2 (en) * | 2020-02-27 | 2025-01-21 | The Cleveland Clinic Foundation | Identifying patients for intensive hyperglycemia management |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005113036A1 (en) * | 2004-05-13 | 2005-12-01 | 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 |
| WO2010019919A1 (en) * | 2008-08-14 | 2010-02-18 | University Of Toledo | Multifunctional neural network system and uses thereof for glycemic forecasting |
| US20110077930A1 (en) * | 2008-02-12 | 2011-03-31 | Alferness Clifton A | Computer-implemented method for providing a personalized tool for estimating 1,5-anhydroglucitol |
-
2013
- 2013-11-27 ES ES201331726A patent/ES2540159B1/es active Active
-
2014
- 2014-11-05 WO PCT/ES2014/000190 patent/WO2015079079A1/es not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005113036A1 (en) * | 2004-05-13 | 2005-12-01 | 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 |
| WO2010019919A1 (en) * | 2008-08-14 | 2010-02-18 | University Of Toledo | Multifunctional neural network system and uses thereof for glycemic forecasting |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12205686B2 (en) * | 2020-02-27 | 2025-01-21 | The Cleveland Clinic Foundation | Identifying patients for intensive hyperglycemia management |
| WO2023135346A1 (es) | 2022-01-12 | 2023-07-20 | Universidad Complutense De Madrid | Método y sistema para predicción de valores de glucosa y generación de alertas de hipoglucemia e hiperglucemia |
Also Published As
| Publication number | Publication date |
|---|---|
| ES2540159B1 (es) | 2016-03-09 |
| ES2540159A1 (es) | 2015-07-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112133439B (zh) | 一种基于高斯过程的餐前胰岛素剂量个体化决策系统 | |
| Rubin-Falcone et al. | Deep Residual Time-Series Forecasting: Application to Blood Glucose Prediction. | |
| Barcellos et al. | Education can reduce health differences related to genetic risk of obesity | |
| Bhimireddy et al. | Blood glucose level prediction as time-series modeling using sequence-to-sequence neural networks | |
| CN105190316B (zh) | 跟踪糖尿病中的平均血糖的变化 | |
| Thapa et al. | Early prediction of severe acute pancreatitis using machine learning | |
| Zhu et al. | Blood glucose prediction in type 1 diabetes using deep learning on the edge | |
| CA2846854C (en) | Method, system and computer readable medium for adaptive advisory control of diabetes | |
| Midroni et al. | Predicting glycemia in type 1 diabetes patients: experiments with XGBoost | |
| CN108289642B (zh) | 确定胰岛素疗法相关的参数、预测葡萄糖值和提供胰岛素给药建议的医学布置和方法 | |
| EP2470256A1 (en) | System, method and computer program product for adjustment of insulin delivery (aid) in diabetes using nominal open-loop profiles | |
| US10854326B2 (en) | Systems and methods for full body circulation and drug concentration prediction | |
| WO2021007485A1 (en) | System and method for online domain adaptation of models for hypoglycemia prediction in type 1 diabetes | |
| De Falco et al. | A genetic programming-based regression for extrapolating a blood glucose-dynamics model from interstitial glucose measurements and their first derivatives | |
| ES2540159B1 (es) | Método para el modelado del nivel de glucemia mediante programación genética | |
| Sheikhalishahi et al. | Benchmarking machine learning models on eICU critical care dataset | |
| Wang et al. | Dating the bacterial tree of life based on ancient symbiosis | |
| CN118522468A (zh) | 基于机器学习的血药浓度监测系统 | |
| Arefeen et al. | Glysim: Modeling and simulating glycemic response for behavioral lifestyle interventions | |
| CN119694501B (zh) | 基于数字孪生的重症能量-蛋白质摄入量智能预测系统 | |
| Lu et al. | A pretrained transformer model for decoding individual glucose dynamics from continuous glucose monitoring data | |
| US20140089004A1 (en) | Patient cohort laboratory result prediction | |
| Hidalgo et al. | Identification of models for glucose blood values in diabetics by grammatical evolution | |
| Chen et al. | A Switched Neural Process for Long-Term Postprandial Glucose Trajectory Prediction Based on Insulin Sensitivity Estimation | |
| Katsarou et al. | Glucose Prediction Using Population-based Models and Genetic Data in Type 1 Diabetes Patients |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14866046 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14866046 Country of ref document: EP Kind code of ref document: A1 |