WO2015079079A1 - Method for modelling the level of glycemia by means of genetic programming - Google Patents

Method for modelling the level of glycemia by means of genetic programming Download PDF

Info

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
Application number
PCT/ES2014/000190
Other languages
Spanish (es)
French (fr)
Inventor
José Ignacio HIDALGO PÉREZ
Antonio Oscar GARNICA ALCAZAR
Juan LANCHARES DÁVILA
Jose Luis RISCO MARTÍN
Jose Manuel COLMENAR VERDUGO
Alfredo CUESTA INFANTE
Estjer MÁQUEDA VILLAIZÁN
Marta BOTELLA SERRANO
José Antonio RUBIO GARCÍA
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
Publication of WO2015079079A1 publication Critical patent/WO2015079079A1/en

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
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • 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

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).

Abstract

The invention relates to a method which, by applying evolutionary algorithms to random solutions and data taken from a patient with glycemia, allows the level of glycemia to be modelled in order to obtain a modelling of the level of glucose in future moments when the patient's data is obtained. The data of the patient comprises at least the levels of glucose, intake and rapid-acting and slow-acting insulin over a time interval. The evolutionary algorithm basically consists in applying genetic programming in its variant of evolutionary grammars or grammatical evolution, i.e. applying personalised grammars in a BNF format, personalised mapping processes and concrete error evaluations to the random solutions or to previously generated models in order to obtain an expression that describes and predicts the glucose levels of a patient. The method of the invention is especially suitable for patients suffering from diabetes mellitus.

Description

MÉTODO PARA EL MODELADO DEL NIVEL DE GLUCEMIA MEDIANTE PROGRAMACIÓN GENÉTICA  METHOD FOR MODELING THE GLUCEMY LEVEL THROUGH GENETIC PROGRAMMING
OBJETO DE LA INVENCIÓN OBJECT OF THE INVENTION
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.  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 insulin injected, obtains an expression that can be used to predict glucose values in the near future. .
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. 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 INVENCIÓN BACKGROUND OF THE INVENTION
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 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. 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 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. • Type 1 Diabetes (T1DM): 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.
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.  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 células , defectos genéticos que afectan a la acción de la insulina, provocados por medicamentos, síndromes genéticos, etc.r  Other types: such as cell problems, genetic defects that affect the action of insulin, caused by medications, genetic syndromes, 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). In most cases, patients with a long course of the disease require exogenous insulin injection 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 ( nephropathy, retino patía, microangiopatía and 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. 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. Controlling 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. One 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 mentioned above, mainly due to the particularities of each patient. 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 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. 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 "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.
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). One of the best known applications of genetic programming is the symbolic regression and the application of one of the variants of the PG, evolutionary grammars or in English Grammatical Evolution (GE) allows us to obtain solutions to incorporate non-linear terms. 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).
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. 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. Using the state-of-the-art models it is not possible to know an estimate 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 computing techniques. This solution has not been addressed to date due to its complexity through the use of classical techniques.
DESCRIPCIÓN DE LA INVENCIÓN DESCRIPTION OF THE INVENTION
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.  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. By applying the "GP" genetic programming in the manner disclosed by the present invention, it is possible to find a customized 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 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; 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;
o unos niveles de ingesta CH;  or levels of CH intake;
o unos niveles de insulina inyectada de efecto rápido 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 función GL de predicción de la glucosa para un tiempo posterior (k+1) al tiempo k, tal que:  iii) calculate a glucose prediction GL function for a later time (k + 1) at time k, such that:
GL(k + 1) = f(GL, CH, IS, IL).  GL (k + 1) = f (GL, CH, IS, IL).
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 solución está 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=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; b) calculate N-expressions GL k for k = l, ... , 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 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; 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;
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 ;  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 E;
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 carácter de las N-1 soluciones anteriores mediante un algoritmo de probabilidad de mutación;  f) mutate a character from the previous N-1 solutions using a mutation probability algorithm;
g) añadir la solución 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 condición de parada predefinida. El algoritmo de probabilidad de cruce comprende: h) repeat steps c) ag) until a predefined stop condition is met. The crossover probability algorithm comprises:
i) tomar las N-l soluciones de dos en dos;  i) take the N-1 solutions in pairs;
ii) establecer una probabilidad de cruce entre 0 y 1 ;  ii) establish a probability of crossing between 0 and 1;
iii) generar un número aleatorio entre 0 y 1 ;  iii) generate a random number between 0 and 1;
iv) si el número 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 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.  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 mutación comprende: On the other hand, the mutation probability algorithm comprises:
i) tomar las N-l soluciones de una en una;  i) take the N-1 solutions one at a time;
ii) establecer una probabilidad de mutación entre 0 y 1 ;  ii) establish a probability of mutation between 0 and 1;
iii) generar un número aleatorio entre 0 y 1 ;  iii) generate a random number between 0 and 1;
iv) si el número aleatorio generado es mayor que la probabilidad de mutación, no hay mutación;  iv) if the random number generated is greater than the probability of mutation, there is no mutation;
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.  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 condición de parada predefinida es al menos una de las siguientes condiciones: Additionally, the predefined stop condition is at least one of the following conditions:
• máximo número de iteraciones;  • maximum number of iterations;
· convergencia: no mejora en un número "p" de iteraciones;  · Convergence: does not improve in a number "p" of iterations;
• estar cerca de un óptimo teórico.  • be close to a theoretical optimum.
Por otro lado, la función 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):
• mínimos cuadrados Fi (Least Squares);  • Fi least squares (Least Squares);
· error medio F2 (Average Error); · Average error F 2 (Average Error);
• error máximo F3 (Máximum Error); • error cuadrático medio F4 (RSME); • maximum error F 3 (Maximum Error); • mean square error F 4 (RSME);
• desviación absoluta media F5 (MAD). • mean absolute deviation F 5 (MAD).
Figure imgf000009_0001
Tabla 2.- Funciones de Fitness.
Figure imgf000009_0001
Table 2.- Fitness functions.
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: 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(-),  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: 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:
<f> ::= <f><OP><f> <f> :: = <f><OP> <f>
I (<f><OP><f>) I (<f> <OP> <f>)
I <PREOP>(<f>) I <PREOP> (<f>)
I <v>  I <v>
I <z> I <z>
<OP> ::= + / <OP> :: = + /
<PREOP> ::= SIN  <PREOP> :: = SIN
COS COS
EXPEXP
TANSO
LOGLOG
ABSABS
LNLN
TANH COSH SENHTANH COSH SENH
DERIVAD A CON RESPECTO AL TIEMPOTIME DERIVATIVE
DERIVAD A CUADRADO CON RESPECTO AL TIEMPOSQUARE DERIVATIVE WITH RESPECT TO TIME
DERIVAD A TERCERA CON RESPECTO AL TIEMPO THIRD DERIVATIVE WITH RESPECT TO TIME
<V> ::= <P>  <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> |<PC> <VI> | <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.";  <P> :: = "the individual's weight in kg.";
<E> ::= "edad del individuo en años"; <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> ::= "índice glucémico 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  <J> :: = 0
|1  | 1
12 13 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) I "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 should be modified)
<Z> ::= <D>.<D> <Z> :: = <D>. <D>
<D> ::= 0 <D> :: = 0
|1 | 1
12  12
|3 | 3
14  14
15 fifteen
16 16
17 17
|8 | 8
19 donde los distintos parámetros de entrada son:  19 where the different input parameters are:
P: peso actual en kg; P: current weight in kg;
A: edad actual en años; A: current age in years;
k: instante actual; k: current instant;
FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina; IG: es el índice glucémico;  FSI: insulin sensitivity or mg / dl that lowers blood glucose per unit of insulin; IG: is the glycemic index;
PG: unidades proteína/grasa: cantidad de alimento que aporta lOOKcal en forma de grasa y/o proteínas, se mide en unidades;  PG: protein / fat units: amount of food provided by lOOKcal in the form of fat and / or proteins, is measured in units;
CI: ratio Hidratos de carbono / insulina;  CI: carbohydrate / insulin ratio;
M: menstruación-, Sí =1 ó no=0; M: menstruation-, Yes = 1 or no = 0;
IC: insulina Circulante, unidades de insulina; IC: Circulating insulin, insulin units;
IP: intervalo entre comienzo de la infusión 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 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) 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)
TI: tiempo desde la última ingesta en intervalos de 15 minutos; TI: time since the last intake in 15 minute intervals;
FV: factor de variabilidad de absorción, 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: preparación de la comida (fritos, asados, condimentos...), valor entre 0 y 1 ;  PC: food preparation (fried, roasted, condiments ...), value between 0 and 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 ; 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 l;
Z: es una constante; Z: is a constant;
en cuanto a históricos: as for historical:
G(-) es el histórico de la glucemia (o parte de él);  G (-) is the history of blood glucose (or part of it);
C(-) es el histórico de carbohidratos; C (-) is the carbohydrate history;
IS(-) es la insulina de acción corta; IS (-) is short-acting insulin;
IL(-) es la insulina de acción larga; IL (-) is long-acting insulin;
F(-) es el ejercicio físico; y, F (-) is physical exercise; Y,
Ε(·) es el nivel de estrés. Respecto de la función de mapeo indicada anteriormente, ésta comprende la siguiente expresión: Ε (·) is the stress level. Regarding the mapping function indicated above, it includes the following expression:
Choicei = (CIV)MOD (# of choices )  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. where Choice¡ is the selected choice 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 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". 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), it optionally included assessing whether or not the GL (= model) glucose prediction function is correct. 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 section "description of a or various embodiments of the invention. "
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". In another aspect of the present 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".
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. The last aspect of the present invention is comprised of a computer system in which the computer program described above is loaded.
BREVE DESCRIPCIÓN DE LAS FIGURAS BRIEF DESCRIPTION OF THE FIGURES
Figura 1.- Representa un diagrama de flujo para calcular el modelo de predicción 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 predicción de la glucosa en una implementación web. Figure 2.- Represents a flow chart to calculate the glucose prediction model in a web implementation.
Figura 3.- Es el ejemplo de gramática en BNF diseñada para regresión simbólica. Figure 3.- It is the example of grammar in BNF designed for symbolic regression.
Figura 4.- Es un primer ejemplo de gramática BNF. Figure 4.- It is a first example of BNF grammar.
Figura 5.- Es un segundo ejemplo de gramática BNF. Figure 5.- It is a second example of BNF grammar.
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 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
INVENCIÓN  INVENTION
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.  Next, a description is made of one or several embodiments of the invention that, in a non-limiting way, help the better understanding of the present invention.
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: Figure 1 shows a flow chart of the method according to the present invention. First, 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. 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 4 format 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:
G~L{k + 1) = f(Gl, CH, IS, IL) 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: It depends on the data collected that are at least GL, CH, IS and IL. 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,SIIG,PG, CIM,IC,IP,DI OC, TIFV, VI,PC, TE,FA, G(-), C(-), IS(-), 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)  IL (-), F (-), E (-), Z)
donde: where:
P: peso actual en kg;  P: current weight in kg;
A: edad actual en años; A: current age in years;
k: instante actual; k: current instant;
FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina; IG: es el índice glucémico u;  FSI: insulin sensitivity or mg / dl that lowers blood glucose per unit of insulin; IG: is the glycemic index 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; PG: protein / fat units: amount of food provided by the OOKcal in the form of fat and / or protein, is measured in units;
CI: ratio Hidratos de carbono / insulina; CI: carbohydrate / insulin ratio;
M: menstruación (días desde la última menstruación), Sí =1 ó no=0;  M: menstruation (days since the last menstruation), Yes = 1 or no = 0;
IC: insulina Circulante, unidades de insulina; IC: Circulating insulin, insulin units;
IP: intervalo entre comienzo de la infusión 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 duración de la última ingesta en intervalos de 15 minutos;  DI: duration of the last intake in 15 minute intervals;
OC: orden en que se consumen los alimentos; (número 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 última ingesta en intervalos de 15 minutos; TI: time since the last intake in 15 minute intervals;
FV: factor de variabilidad de absorción, 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: preparación de la comida (fritos, asados, condimentos..), valor entre 0 y 1 ;  PC: food preparation (fried, roasted, condiments ...), value between 0 and 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 ;  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;  Z: is a constant;
en cuanto a históricos: as for historical:
G(-) es el histórico de la glucemia (o parte de él); G (-) is the history of blood glucose (or part of it);
C(-) es el histórico de carbohidratos;  C (-) is the carbohydrate history;
IS(-) es la insulina de acción corta;  IS (-) is short-acting insulin;
IL(-) es la insulina de acción larga;  IL (-) is long-acting insulin;
F(-) es el ejercicio físico; y,  F (-) is physical exercise; Y,
Ε(·) es el nivel de estrés. Ε (·) is the stress level.
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. 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. Below is a detailed description of 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. Aproximación Evolutiva 1. Evolutionary Approach
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. 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 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). Genetic Programming (PG) 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).
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. In contrast to 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 code translation process is determined by the Grammar represented as 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: 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:
<símbolo> ::= <expresión> <symbol> :: = <expression>
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. 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. 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 or . 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. 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. 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.
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. In addition, 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.
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: 2. 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:
Choicei = (CIV)MOD (# of choices )  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 . where Choice¡ is the selected choice for non-terminal i, CIV is the codon being decoded, MOD is the module function and (# of chotees,) is the number of possible options for the rule in the 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. 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.
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: 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 - 2 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: The start symbol is S = {expr}, so the solution expression will start with this non-terminal:
Solución = <expr>  Solution = <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: To 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 non-terminal appears, <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 = 0 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,: So the first option is selected, <expr> <op> <expr>, and the mapping process continues. The selected option replaces the decoded non-terminals. As a result, the expression is, at this point:
Solución = <expr> <op> <expr> Solution = <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: 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. The mapping is then applied again, now to rule I:
55 MOD 3 = 1 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> The second option, <pre_op>(<expr>), is then selected. The expression becomes: Solution = <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: 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 = 2  23 MOD 3 = 2
Al tomar el valor 2 se selecciona la tercera opción, el símbolo terminal Abs.  When taking value 2, the third option is selected, the terminal symbol Abs.
La expresión pasa a ser: The expression becomes:
Solución = Abs(<expr>) <op> <expr> El siguiente gen, 47, descodifíca <expr> con la regla I: Solution = Abs (<expr>) <op> <expr> The following gene, 47, decodes <expr> with rule I:
47 MOD 3 = 2 47 MOD 3 = 2
Por lo que se selecciona la tercera opción, <var>. La expresión pasa a ser: So the third option is selected, <var>. The expression becomes:
Solución = Abs(<var>) <op> <expr> El gen 38 descodifíca <var> con la regla IV: Solution = Abs (<var>) <op> <expr> Gene 38 decodes <var> with rule IV:
38 MOD 2 = 0 38 MOD 2 = 0
Dicho valor selecciona la primera opción, el no-terminal X. This value selects the first option, the non-terminal X.
Solution = Abs(X) <op> <expr> El no-terminal <op> se descodifica con 254 y la regla II: Solution = Abs (X) <op> <expr> The non-terminal <op> is decoded with 254 and rule II:
254 MOD 4 = 2 Este valor selecciona la tercera opción, el terminal * . 254 MOD 4 = 2 This value selects the third option, the * terminal.
Solución = Abs(X) * <expr> El siguiente gen, 2, descodifica <expr> con la regla I: Solution = Abs (X) * <expr> The following gene, 2, decodes <expr> with rule I:
2 MOD 3 = 2 2 MOD 3 = 2
Este valor selecciona la tercera opción, el no-terminal <var>. This value selects the third option, the non-terminal <var>.
Solución = Abs(X) * <var> Solution = 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. At this point the process of transformation from genotype to phenotype has depleted the codons. That is, all genes or codons have been used but no expression has been reached with terminals in all its components.
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. The solution is to reuse the codons starting with the first one again. This represents a novelty with respect to 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 overlap 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 applied to the same rule, generates the same solution. However, if we use them with different rules we will get different parts of phenotypes. Thus, Evolutionary Grammar (GE) ensures that an individual genotype always produces the same phenotype. Therefore, "wrapping" is not a problem.
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: Thus, by applying "wrapping", the process goes back to the first gene, 12, which is used to decode <var> with rule 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: 12 MOD 2 = 0 This value selects the first option, the non-terminal X, giving rise to the definitive expression of the phenotype:
Solución = Abs(X) * X  Solution = 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. The following section describes four grammars corresponding to four realization examples to represent different search spaces to obtain expressions that model blood glucose levels. 3. Description of the model.
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. For 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. For these reasons, 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.
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. 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. For the first embodiment, data have been obtained with a measurement period between two consecutive 15 minutes over 24 hours. Table 1 shows the data set obtained for a patient "XI". In each row of table k the time is represented, where k = 1 is 00:00 AM, GL is the level of glucose at that moment, CH the units of ingested carbohydrates, IS the insulin of rapid effect injected and IL that of slow effect
Figure imgf000024_0001
Figure imgf000024_0002
Figure imgf000024_0001
Figure imgf000024_0002
Tabla 1.- Ejemplo de datos tomados para un paciente "XI " para los valores GL, CH, IS IL. Table 1.- Example of data taken for a patient "XI" for the values 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: 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( + 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. 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. This The Evolutionary Grammar (GE) engine should be able to decide the appearance 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 grammars used in the present invention.
3.2. Gramáticas BNF para el modelado de los niveles de glucosa. 3.2. BNF grammar for modeling glucose levels.
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. Following the general model shown in (ec.l), four grammars 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 designed grammars follow the advice of doctors in the research team. According to their 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 grammars that mix the different observations.
Gramática 1 Grammar 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. 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) =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. 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.
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: Grammar 2 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 one k-1. The resulting model has the general expression:
Gl(k + 1) =fgi(Sl (k-m))+fch(CH(k-m))-fin(IS(k-m); IL(k-m)); 0 < m <1; (gr.2) Gl (k + 1) = f g i (Sl (km)) + fc h (CH (km)) - end (IS (km); IL (km)); 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. Figure 5 shows the grammar used. You simply have to limit the indexes in rules III, V and VII to 00 and 01.
Gramática 3 Grammar 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. 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(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 Gl (k + 1) = f (f g i (Gl (k - m)); f ch (CH (k - m)); fi „(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. Grammar 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.  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(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. 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) 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. Evaluación fitness o aptitud (error ek) 3.3. Fitness or fitness assessment (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. If the grammars limit 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 "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.
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 Next, 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. e k = \ 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). 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: Fi (least squares), F 2 (medium error), F 3 (error maximum), F 4 (mean square error) and F 5 (mean absolute deviation).
Figure imgf000027_0001
Figure imgf000027_0001
Tabla 2.- Ejemplos de funciones de fitness. Table 2.- Examples of fitness functions.

Claims

REIVINDICACIONES
1.- Método para el modelado del nivel de glucemia mediante programación genética que comprende los siguientes pasos: 1.- Method for modeling glycemia level through genetic programming that includes the following steps:
i) obtener de un individuo unos datos que comprendan, para un tiempo k, al menos: i) obtain data from an individual that includes, for a time k, at least:
o unos niveles de glucosa GL; or GL glucose levels;
o unos niveles de ingesta CH; or CH intake levels;
o unos niveles de insulina inyectada de efecto rápido IS e insulina inyectada de efecto lento IL; or levels of fast-acting injected insulin IS and slow-acting injected insulin 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 función GL de predicción de la glucosa para un tiempo posterior (k+1) al tiempo k, tal que: iii) calculate a glucose prediction function GL for a time later (k+1) than time k, such that:
G~L(k + 1) = f(GL, CH, IS, IL) 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: 2 - Method according to claim 1, characterized in that step ii) additionally comprises carrying out the following steps:
a) generar el conjunto de soluciones con N-soluciones aleatorias donde cada solución está formada por una cadena de caracteres (cromosoma); a) generate the set of solutions with N-random solutions where each solution is made up of a string of characters (chromosome);
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; b) calculate N-GL k expressions for k=l,...,N obtained by decoding the set of N-random solutions 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 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; 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, apply a fitness function to each of the previously calculated errors ek; in such a way that for each expression GL k , an associated error Ek is obtained;
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; d) select N-1 solutions resulting from: taking the N-solutions and separating the solution with the lowest error Ek from the N-solutions; confront 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; f) mutar un carácter de las N-l soluciones anteriores mediante un algoritmo de probabilidad de mutación; e) cross the N-1 previous solutions using a crossover probability algorithm; f) mutate a character from the Nl previous solutions using a mutation probability algorithm;
g) añadir la solución de menor error Ek apartada en el paso d) a las N-l soluciones anteriores; g) add the solution with the lowest error Ek set out in step d) to the N-l previous solutions;
h) repetir los pasos c) a g) hasta cumplir una condición de parada predefinida. h) repeat steps c) to g) until a predefined stop condition is met.
3. - Método según la reivindicación 2, caracterizado por que el algoritmo de probabilidad de cruce comprende: 3. - Method according to claim 2, characterized in that the crossover probability algorithm comprises:
i) tomar las N-l soluciones de dos en dos; i) take the N-l solutions two by two;
ii) establecer una probabilidad de cruce entre 0 y 1 ; ii) establish a crossing probability between 0 and 1;
iii) generar un número aleatorio entre 0 y 1 ; iii) generate a random number between 0 and 1;
iv) si el número aleatorio generado es mayor que la probabilidad de cruce, no hay cruce; iv) if the random number generated is greater than the crossover probability, there is no crossover;
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. v) if the generated random number is less than or equal to the crossover probability, 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.
4. - Método según la reivindicación 2, caracterizado por que el algoritmo de probabilidad de mutación comprende: 4. - Method according to claim 2, characterized in that 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 mutación entre 0 y 1 ; ii) establish a mutation probability between 0 and 1;
iii) generar un número aleatorio entre 0 y 1 ; iii) generate a random number between 0 and 1;
iv) si el número aleatorio generado es mayor que la probabilidad de mutación, no hay mutación; iv) if the random number generated is greater than the mutation probability, there is no mutation;
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. v) if the generated random number is less than or equal to the mutation probability, a character in the character string is mutated in such a way that the length of the character string is maintained.
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: 5. - Method according to claim 2, characterized in that the predefined stop condition is at least one of the following conditions:
• máximo número de iteraciones; • convergencia: no mejora en un número "p" de iteraciones; • maximum number of iterations; • convergence: does not improve in a number "p" of iterations;
• estar cerca de un óptimo teórico. • be close to a theoretical optimum.
6. - Método según la reivindicación 2, caracterizado por que la función de fitness es una de las siguientes funciones: 6. - Method according to claim 2, characterized in that the fitness function is one of the following functions:
• mínimos cuadrados; • Least Squares;
• error medio; • mean error;
• error máximo; • maximum error;
• error cuadrático medio; • mean square error;
· desviación absoluta media. · mean absolute deviation.
7. - Método según la reivindicación 2, caracterizado por que la solución GL(k + 1) tiene la siguiente expresión: 7. - Method according to claim 2, 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 E,FA,G(-),CO, IS(-), GL(k + 1) =f(P,E,k,SI,IG,PG,CI,M,IC,IP,DI, OC, TI,FV, VI,PC E,FA,G(-),CO , ES(-),
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: 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 that includes the following form:
<f> ::= <f><OP><f> <f> ::= <f><OP><f>
I (<f><OP><f>) I (<f><OP><f>)
I <PREOP>(<f>) I <PREOP>(<f>)
I <v> I <v>
I <Z> I <Z>
<OP> ::= + <OP> ::= +
I* YO*
V V
<PREOP> ::= SIN <PREOP> ::= WITHOUT
|COS |EXP |COS |EXP
|TAN |TAN
|LOG |LOG
|ABS |ABS
|LN |LN
|TANH |TANH
|COSH |COSH
|SENH |SENH
|DERIVADA_CON_RESPECTO_AL_TIEMPO |DERIVED_WITH_RESPECT_TO_TIME
|DERIVADA_CUADRADO_CON_RESPECTO_AL_TIEMPO (DERIVAD A TERCERA CON RESPECTO AL TIEMPO|SQUARE_DERIVATIVE_CON_RESPECTO_AL_TIME (DERIVED TO THIRD WITH RESPECT TO TIME
<V> ;;= <P> <V> ;;= <P>
|<A> |<A>
|#{k} |#{k}
|<SI> |<YES>
|<IG> |<IG>
|<PG> |<PG>
|<CI> |<CI>
|<M> |<M>
|<IC> |<IC>
|<IP> |<IP>
|<DI> |<DI>
|<OC> |<OC>
|<TI> |<IT>
|<FV> |<FV>
|<VI> |<VI>
|<PC> |<PC>
|<TE> |<TE>
|<FA> |<FA>
|#{G[k-<J>]} |#{G[k-<J>]}
|#{C[k-<J>]} |#{IS[k-<J>]} |#{C[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."; <P> ::= "the weight of the individual in kg.";
<E> ::= "edad del individuo en años"; <E> ::= "age of the individual in years";
<SI> ::= "unidades de glucemia que baja 1 unidad de insulina en mg/dl"; <SI> ::= "units of blood glucose lowered by 1 unit of insulin in mg/dl";
<IG> ::= "índice glucémico de la ingesta" (el de la glucosa es 1 , y puede ser mayor o menor;) <IG> ::= "glycemic index of intake" (that of glucose is 1, and can 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 <J> ::= 0
| 1 | 1
|2 |2
13 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> I "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>
<D> ::= 0 <D> ::= 0
| 1 | 1
12 12
|3 |3
|4 |4
|5 |5
|6 |6
17 17
|8 |8
|9 donde los distintos parámetros de entrada son: |9 where the different input parameters are:
P: peso actual en kg; P: current weight in kg;
A: edad actual en años; A: current age in years;
k: instante actual; k: current moment;
FSI: sensibilidad a la insulina o mg/dl que baja la glucemia por unidad de insulina; IG: es el índice glucémico; FSI: insulin sensitivity or mg/dl lowering blood glucose per unit of insulin; GI: is the glycemic index;
PG: unidades proteína/grasa: cantidad de alimento que aporta l OOKcal en forma de grasa y/o proteínas, se mide en unidades; PG: protein/fat units: amount of food that provides l OOKcal in the form of fat and/or proteins, measured in units;
CI: ratio Hidratos de carbono / insulina; CI: carbohydrate/insulin ratio;
M: menstruación , Sí =1 ó no=0; M: menstruation, Yes =1 or no =0;
IC: insulina Circulante, unidades de insulina; IC: Circulating insulin, insulin units;
IP: intervalo entre comienzo de la infusión de insulina prandial y comienzo de la ingesta, en intervalos de 15 minutos; PI: interval between the beginning of the prandial insulin infusion and the beginning of the intake, in 15-minute intervals;
DI: tiempo de duración de la última ingesta en intervalos de 15 minutos; DI: duration of the last intake in 15-minute intervals;
OC: orden en que se consumen los alimentos; (número 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 orderings)
TI: tiempo desde la última ingesta en intervalos de 15 minutos; TI: time since last intake in 15-minute intervals;
FV: factor de variabilidad de absorción, valor entre 0 y 1 ; FV: absorption variability factor, value between 0 and 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 ; VI: insulin variability, value between 0 and 1; PC: food preparation (fried, roasted, condiments...), value between 0 and 1;
FTSI: factor transitorio de sensibilidad a la insulina: valor de -1 a l ; FTSI: transient insulin sensitivity factor: value from -1 to l;
Z: es una constante; Z: is a constant;
en cuanto a históricos: As for historical:
G(-) es el histórico de la glucemia (o parte de él); G(-) is the blood glucose history (or part of it);
C(-) es el histórico de carbohidratos; C(-) is the carbohydrate history;
IS(-) es la insulina de acción corta; IS(-) is short-acting insulin;
IL(-) es la insulina de acción larga; IL(-) is long-acting insulin;
F(-) es el ejercicio físico; y, F(-) is physical exercise; and,
Ε(·) es el nivel de estrés. Ε(·) is the stress level.
8. - Método según la reivindicación 2, caracterizado por que la función de mapeo comprende la siguiente expresión: 8. - Method according to claim 2, characterized in that the mapping function comprises the following expression:
Choicet = (CIV)MOD (# of choices^) 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. where Choice¡ is the selected choice for non-terminal i, CIV is the codon we are decoding, MOD is the modulo function and (# of choices,) is the number of possible options for the rule at 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. 9. - Method according to claim 1, characterized in that the method, between steps i) and ii), optionally comprises evaluating the previously calculated glucose prediction function GL when there is a previously calculated glucose model.
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. 10. - Computer program characterized in that it comprises the execution of a method defined according to any one of claims 1 to 9.
1 1. - Medio de almacenamiento caracterizado por que comprende un programa de ordenador definido según la reivindicación 10. 1 1. - Storage medium characterized in that it comprises a computer program defined according to claim 10.
12. - Sistema computacional caracterizado por que en dicho sistema computacional se carga el programa de ordenador definido en la reivindicación 10. 12. - Computer system characterized in that the computer program defined in claim 10 is loaded into said computer system.
PCT/ES2014/000190 2013-11-27 2014-11-05 Method for modelling the level of glycemia by means of genetic programming WO2015079079A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2015079079A1 true WO2015079079A1 (en) 2015-06-04

Family

ID=53198407

Family Applications (1)

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

Country Status (2)

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

Citations (4)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
ES2540159A1 (en) 2015-07-08
ES2540159B1 (en) 2016-03-09

Similar Documents

Publication Publication Date Title
CA3052457C (en) Method, system, and computer readable medium for controlling insulin delivery using retrospective virtual basal rates
Midroni et al. Predicting glycemia in type 1 diabetes patients: experiments with XGBoost
US20150190098A1 (en) Method, System and Computer Readable Medium for Adaptive and Advisory Control of Diabetes
CN108289642B (en) Medical arrangement and method for determining insulin therapy related parameters, predicting glucose values and providing insulin delivery recommendations
CN103238154B (en) There is the hand-held diabetes management equipment of data base management system
CN105190316A (en) Tracking changes in average glycemia in diabetics
Bhimireddy et al. Blood glucose level prediction as time-series modeling using sequence-to-sequence neural networks
CN106999110A (en) Continuous glucose monitor method, system and equipment that the degree of accuracy is improved
US10854326B2 (en) Systems and methods for full body circulation and drug concentration prediction
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
Bogdan A cyber-physical systems approach to personalized medicine: challenges and opportunities for noc-based multicore platforms
Thapa et al. Early prediction of severe acute pancreatitis using machine learning
Mateják et al. Adair-based hemoglobin equilibrium with oxygen, carbon dioxide and hydrogen ion activity
Zanon et al. Non-invasive continuous glucose monitoring with multi-sensor systems: a Monte Carlo-based methodology for assessing calibration robustness
Kaleta-Duss et al. Myocardial injury and overload among amateur marathoners as indicated by changes in concentrations of cardiovascular biomarkers
Sheikhalishahi et al. Benchmarking machine learning models on eICU critical care dataset
WO2015079079A1 (en) Method for modelling the level of glycemia by means of genetic programming
CN113421646A (en) Method and device for predicting duration of illness, computer equipment and storage medium
US20140089004A1 (en) Patient cohort laboratory result prediction
De Falco et al. An Evolutionary Approach for Estimating the Blood Glucose by Exploiting Interstitial Glucose Measurements.
Beck et al. Challenges for outpatient closed loop studies: how to assess efficacy
CN116350196A (en) Noninvasive blood pressure value prediction method and system based on deep learning
Shazman Understanding Type 2 Diabetes Mellitus Risk Parameters through Intermittent Fasting: A Machine Learning Approach
De Falco et al. Grammatical evolution-based approach for extracting interpretable glucose-dynamics models

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