Sepsis diagnosis and prediction
Patent Information
- Application Number
- JP2024134501
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-08-28
- Filing Date
- 2024-08-09
- Publication Date
- 2025-03-12
Smart Images

Figure 2025032985000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to the diagnosis / prognosis of sepsis, and in particular to a computer-implemented method, a computer program, and an information programming device. [Background technology]
[0002] Sepsis may be defined as the body's extreme response to an infection. It is a life-threatening medical emergency. Sepsis occurs when an already existing infection sets off a chain reaction throughout the body. Sepsis can result in tissue damage, organ failure, and death.
[0003] Sepsis diagnosis / prediction is in high demand because accurate prediction can save lives and conserve hospital resources. In particular, early sepsis diagnosis / prediction is desirable. Sepsis diagnosis / prediction can be performed, for example, in an ICU (intensive care unit) environment. Summary of the Invention [Problem to be solved by the invention]
[0004] In view of the above, methods for sepsis prediction are desirable. [Means for solving the problem]
[0005] According to an embodiment of the first aspect, a computer-implemented method is disclosed herein, comprising performing a prediction process, the prediction process comprising the steps of: calculating (first) correlations in input data based on input data comprising values of physiological measurement variables of / related to a patient over a (first) time period, said calculating comprising calculating (short-range temporal) correlations (using an attention-based mechanism) between values of (different) physiological measurement variables at (different) successive time steps (and between values of the same physiological measurement variable at (different) successive time steps) and calculating (spatial) correlations (using a self-attention mechanism) between values of different physiological measurement variables at the same time step; generating first updated node embeddings based on the (first) correlations, each node corresponding to a (value of) a physiological measurement variable at a time step; updating the first updated node embeddings using a recurrent neural network RNN based on / using the (second) correlations between the first updated node embeddings to generate (temporally) updated embeddings; and generating a prediction / diagnosis using a neural network NN based on the (temporally) updated embeddings indicating whether the patient (currently has) sepsis or (at a future time point).
[0006] Features relating to any aspect / embodiment may be applied to any other aspect / embodiment. [Brief description of the drawings]
[0007] Reference will now be made, by way of example, to the accompanying drawings in which: [Figure 1] FIG. 11 is a diagram illustrating a first comparison method. [Diagram 2] FIG. 11 is a diagram illustrating a first comparison method. [Diagram 3] FIG. 11 is a diagram illustrating a second comparison method. [Figure 4] FIG. 1 illustrates a prediction process. [Diagram 5]FIG. 1 illustrates a prediction process. [Figure 6] FIG. 1 illustrates a prediction process. [Figure 7] FIG. 1 illustrates a prediction process. [Figure 8] FIG. 1 illustrates a prediction process. [Figure 9] This is a table. [Figure 10] FIG. 1 illustrates a prediction process. [Figure 11] A diagram illustrating the training process and the testing process. [Figure 12] FIG. 1 illustrates a prediction process. [Figure 13] FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] 1 and 2 are diagrams illustrating a first comparative method (Comparative Method 1). Comparative Method 1 is a method for road network traffic prediction. Such traffic prediction involves the use of spatial and temporal dependencies in a traffic network. The reasons why such a method is not suitable or useful for sepsis prediction based on physiological parameters are described below. A known adjacency matrix A based on the road network is used. The adjacency matrix A reduces the learning space of the spatial cross-correlation block 23 (sometimes referred to as the spatial feature block in this specification). As shown in the input block 21, the input data is time series data of traffic speed (x). The high-dimensional embedder 22 generates a high-dimensional representation (E) of the input data x.
[0009] The spatial features block 23 dynamically calculates edge weights based on the static adjacency matrix of the road network and the absolute difference between the high-dimensional representation (sometimes called node values) E. A vector "e" is generated based on the edge weights and the input data (i.e., using a weighted sum). Figure 2 shows the learning of spatial correlations (which may be called cross-correlation) between data of different roads in the so-called spatial dimension (not across time).
[0010] In the temporal convolution block 24 (specifically, the temporal convolution network 241), dilated convolution is performed on the data frame vectors (e) (i.e., e1, e2, etc.) of different timestamps to obtain a time-based aggregation of the data. Based on the output of the temporal convolution network 241, a binary prediction is made.
[0011] The methodology of the comparative method 1 is not suitable or useful for sepsis prediction based on physiological parameters. This is because, unlike the input data (traffic speed) in the comparative method 1, the physiological parameter data of different physiological variables do not share similar attributes (e.g., HR (heart rate) and O2Sat (O2 saturation) do not share similar attributes (e.g., HR (heart rate) and O2Sat (O2 saturation) do not share similar attributes -- at least not enough for the methodology of the comparative method 1 to be useful --), and therefore the absolute difference between them does not have any useful meaning in capturing edge strengths (weights). Furthermore, in the comparative method 1, the initial edges (weights) are known (i.e., via a static adjacency matrix of the road network). At each time step, the edges are simply updated using the previous traffic speed data using a graph convolutional network. In the case of sepsis prediction based on physiological parameter data, there is no such known adjacency matrix available.
[0012] FIG. 3 illustrates a second comparison method (comparison method 2). Comparison method 2 deals with irregularly sampled multivariate time series data. In the spatial correlation block 33 (sometimes called spatial feature extraction block) shown in FIG. 3, each layer takes as input the computed node embeddings and edge weights of the previous layer, computes as output the current node embeddings, and is used to dynamically compute the edge weights of the current layer. This computation multiplies the previous layer edge weights by a temporal aggregation of attention between node embeddings (a temporal aggregation means from the average of several given time series samples). Thus, a connection that no longer exists in a lower layer may well disappear in a higher layer as well. Each layer in this comparison method represents a different variable. For the edge weight computation in the spatial correlation block, a time-based aggregation of attention between node embeddings is performed, which is sensitive to the temporal order of a given data frame. A vector e is generated based on the final layer edge weights and node embeddings (i.e., using a weighted sum). In the temporal attention block 34 as shown, temporal self-attention is used. In this block, the steps are performed to concatenate the embedding of the time step with the key, query, and value.
[0013] A problem with applying the methodology of comparison method 2 to sepsis prediction based on time-series physiological parameter data is that useful temporal relationships between different variables are not captured by spatial correlation generation, nor by the temporal aggregation of attention weights between nodes. Another problem is that edge weights should not be calculated based on edge weights of the previous layer, since each layer represents different information corresponding to different physiological parameters.
[0014] FIG. 4 is a diagram illustrating the prediction process.
[0015] In step 1, (raw) data (indicated by "x" in FIG. 4) is input. The data includes patient physiological data in the form of continuous floating point values recorded at regular or irregular time intervals, e.g., hourly. For example, the data is recorded in an ICU environment and / or using at least one sensor attached to the patient's body. Additional data in the form of laboratory reported data (continuous floating point values) recorded at a lower frequency may also be used. Physiological data may be referred to as values of physiological measurement variables of / for a patient over a period of time. The input data includes multivariate time series data. A single feature at a single time step is a scalar value. Features and physiological measurement variables may be used interchangeably. Features / physiological measurement variables may include vital sign data, e.g. frequently recorded vital sign data (body temperature, pulse rate, respiratory rate, blood pressure, blood oxygen saturation, etc.) as well as infrequently recorded cardiovascular, respiratory, metabolic, and immunological data.
[0016] In step 2, data imputation and preprocessing takes place. Data imputation is a method for retaining most of the data and information of a dataset by, for example, replacing missing data with different values. Data preprocessing includes, for example, cleaning, transforming, and integrating data to prepare it for analysis. Imputation and preprocessing, of course, depend on the particular data that is input. The output of step 2 (preprocessed data) is denoted by an "x" in Figure 4 (as is the raw input data).
[0017] In step 3, a high-dimensional feature representation of the input numerical features / vitals (physiological parameters) is generated. The high-dimensional feature representation is sometimes called high-dimensional encoding or multidimensional encoding, and is denoted as "E" in Figure 4. In other words, each scalar value is mapped to a high-dimensional space for better representation.
[0018] In step 4, the correlation block (or “spatial and short-range temporal correlation block”) is processed. Here, a first correlation is generated between the values of the physiological measurement variables, as described below. In essence, spatial patterns (cross-correlation between features at the same time step, e.g., time t) as well as cross-correlation between features at time t and t-1 (i.e., short-range temporal correlation over two consecutive time steps) are captured by this block. As described below, computing the correlation in such a way extracts short-term temporal as well as spatial information, which are more useful information. This block generates a first updated node embedding (“e”) based on the high-dimensional encoding and the first correlation.
[0019] In step 5, a recurrent neural network (RNN) or an RNN-based network including at least one gated recurrent unit (GRU) generates long-term temporal patterns of features, i.e., second correlations between the first updated node embeddings. As described below, the long-term temporal patterns of features are captured using the GRU, which improves sepsis prediction. The RNN generates a temporally updated embedding ("h") based on the first updated node embeddings and the second correlations.
[0020] In step 6, a neural network (NN) is used to generate a prediction of sepsis or non-sepsis at time t+T (i.e., as a binary classification task). The NN includes a fully connected layer. A binary prediction is denoted in FIG. 4 as “Y t+T " is indicated.
[0021] Figure 5 illustrates a representation of a prediction process using an exemplary architecture according to one implementation, which may be considered as a more detailed representation of the prediction process of Figure 4. The architecture includes an input 41, a high-dimensional encoder 42, a spatial and short-range temporal correlation block 43 (which may be referred to as a correlation block and includes a feature embedding block 431, a short-range temporal correlation block 432, and a spatial cross-correlation block 433), a recurrent neural network (RNN) 45, and a neural network (NN) 46.
[0022] As shown, the input data has dimensions i×m, where i is the number of time steps and m is the number of features. A high-dimensional encoder 42 generates a high-dimensional encoding of the input data, or "high-dimensional features." The high-dimensional encoding is represented in FIG. 5 as "E" and has dimensions i×m×d, where d is the feature dimension.
[0023] These encodings are input (as input data) to a correlation block 43 so that a first correlation is calculated. Calculating the first correlation includes calculating short-range temporal correlations between values of different physiological measurement variables at different time steps and between values of the same physiological measurement variable at different time steps using an attention-based mechanism (i.e., a modified attention mechanism), and calculating spatial correlations between values of different physiological measurement variables at the same time step using a self-attention mechanism.
[0024] The correlation block 43 uses a key-query-value (KQV) scheme / mechanism to generate short-range (or short-term) temporal correlations (in short-range temporal correlation block 432) and spatial correlations (in spatial cross-correlation block 433). First, the encodings are multiplied by a weight vector (W, not shown) and a nonlinear transformation is performed to generate initial node embeddings E' (illustrated by a linear layer in the feature embedding block 431). In FIG. 5, a different weight vector W is used for each feature, as described below. In the KQV scheme, these initial node embeddings E' are further multiplied by additional weight vectors (different weight vectors are used for key, query, and value) to generate query, key, and value vectors. The values, or encodings, or embeddings of the features / variables may be referred to as nodes. That is, a "node" may be considered to correspond to a particular feature / physiological measurement variable in the sense that the initial node embeddings correspond to the values of the physiological measurement variable at a time step. For example, temperature is a node, for example blood pressure is another node, and for example respiration rate is a third node.
[0025] The first correlation for a given node (i.e., a given variable at time t) is determined in two stages: in the first stage (block 432), short-range temporal correlations are determined, and in the second stage (block 433), spatial correlations are determined.
[0026] To generate short-term temporal correlations, data (encodings) of successive pairs of time steps are considered. For example, considering successive time steps t=0 and t=1, for the key and value (vectors K, V), data of time step t=1 is used, and for the query (vector Q), data of time step t=0 is used, and a correlation weight (beta), sometimes called a short-range temporal correlation weight, is learned. Specifically, a modified attention mechanism is used to generate short-range temporal correlations. To generate spatial correlations, data (intermediate node embeddings s) of each time step are considered separately, and a correlation weight (alpha), sometimes called a spatial correlation weight, is determined using a key-query-value mechanism. Specifically, a self-attention mechanism is used to generate spatial correlations. The output of the correlation block 43 is the first updated node embedding “e”.
[0027] In the first stage, intermediate node embeddings ("s") are generated, which may be referred to as short-range temporal embeddings. This is done by using a modified attention mechanism (described in more detail later) to determine correlations between nodes at time t-1 and time t, referred to as short-range temporal correlations, and updating the initial node embeddings with those correlations to generate intermediate node embeddings (as in Figure 5). As described below, when generating intermediate node embeddings for the second time step, the initial node embeddings are used as the node embeddings of the previous time step to compute the correlations. When generating intermediate node embeddings for time steps where there are first updated node embeddings of the previous time step (i.e., for the third and subsequent time steps), those first updated node embeddings of the previous time step are used instead of the initial node embeddings as the node embeddings of the previous time step to compute the correlations. This is indicated in Figure 5 by the left arrow extending from the first updated node embedding to the initial node embedding. That is, e t-1 E' t-1Thus, a first updated node embedding is computed for each time step in turn (e.g., the first updated node embedding for time step t=4 is computed before the first updated node embedding for time step t=5).
[0028] In the second stage, the intermediate node embeddings generated in the first stage are used as input to determine a first updated node embedding (sometimes called spatio-nodal embedding) for each node (i.e., for each feature) using a self-attention mechanism (described in detail later). That is, spatial correlations are determined between the intermediate node embeddings of the same time step and used to update the intermediate node embeddings to generate the first updated embeddings (as shown in Figure 5).
[0029] Effectively, the initial node embeddings E′ are updated using the first correlations (spatial and short-range temporal) to produce the first updated node embeddings e.
[0030] As shown, a weighted sum is used in the calculation of the intermediate node embeddings and the first updated node embeddings (i.e., the initial node embedding at time t=1 is updated based on the node embedding at time t=0 weighted by its associated short-range temporal correlation weight (beta), and the intermediate node embedding at time t=1 is updated based on the other intermediate node embeddings at time t=1 weighted by their associated spatial correlation weights (alpha)).
[0031] The first correlation calculation and update process is performed L times (L is a positive integer equal to or greater than 1). That is, the process may be repeated. This is indicated by the text "L layers" in FIG. 5. The correlation block 43 may be considered as a single layer of the overall correlation block, in the sense that each layer performs an iteration step of the first correlation calculation and update process. The repeated iteration steps use the first updated node embeddings of the previous iteration step (layer) instead of the initial node embeddings.
[0032] The initial, intermediate, and first updated node embeddings may be referred to as the initial, intermediate, and first updated feature embeddings, embeddings, embedding vectors, or feature embedding vectors.
[0033] FIG. 6 is useful for understanding the difference between what is called spatial correlation and what is called short-range temporal correlation. On the left side, spatial correlation between variables at the same time step (e.g., t) is represented. On the right side, short-range temporal correlation between pairs of variables at two consecutive time steps, e.g., t and t-1, including between the same variables at the two consecutive time steps, are represented. Together, these are the first correlations. As shown at the top of FIG. 6, the first correlations include a set of first correlations for each time step. Any of these correlations may be referred to herein as cross-correlations. The first correlation calculations (and the difference between spatial and short-range temporal correlation calculations) are described in more detail below.
[0034] The bottom part of Figure 6 shows the intermediate node embeddings (or “short-term temporal cross-correlation embeddings”) s at time t. t and the first updated node embedding (or “spatial cross-correlation embedding”) e at time t t For the overall correlation calculation and update process to generate t-1 is the intermediate node embedding s t The overall correlation calculation and update process is shown as correlation block 43, which includes blocks 431, 432 and 433 as described above.
[0035] Returning to FIG. 5, the initial, intermediate, and first updated node embeddings E', s, and e have the same dimensions.
[0036] These first updated node embeddings are concatenated and input to RNN 45. This step may be thought of as inputting the first updated node embeddings to RNN 45.
[0037] RNN 45 processes the first updated node embeddings to learn long-range temporal correlations between them and updates the inputs with these correlations, sometimes called second correlations. The output of RNN 45 is called the temporally updated embeddings.
[0038] The temporally updated embeddings are input to the NN 46. The temporally updated embeddings contain information about the first correlations and the second correlations, and thus about the patterns across different features and different time steps. The NN 46 is trained to generate a sepsis / non-sepsis prediction based on such data as a binary classification task. The NN 46 makes the prediction.
[0039] FIG. 7 is a diagram illustrating the prediction process of FIG. 4, including some example dimensions to aid in understanding the process. In this example, the input data x has dimensions 30×6×1, the high / multidimensional features / encodings E have dimensions 30×6×10 (i.e., each feature has encoding vector dimensions 10, i.e., 10×1), the first updated node embeddings e (as well as the initial and intermediate node embeddings E' and s) have dimensions 30×6×128 (i.e., each feature has embedding vector dimensions 128, i.e., 128×1), and the temporally updated embeddings h have dimensions 128 equal to the number of hidden units in the GRU layer. The overall correlation calculation and update process is shown on the right as correlation block 43 as in FIG. 6, with the arrow from step 4 indicating that this process is performed in step 4.
[0040] A specific implementation of the first correlation calculation will be described.
[0041] Figure 8 is useful for understanding the short-range temporal correlation calculation. In the calculation of short-range temporal correlation, the key-query-value scheme is implemented using the following equation: The operations on the right hand side are given the reference number 432 to indicate that they are performed in the short-range temporal correlation block 432.
[0042] "Key" vector / matrix: K=W K e t-1 , where e t-1 represents the key feature at time step t-1 (i.e., embedding “e” at t-1, i.e., the first updated node embedding at time t-1), and W K represents the weight vector for performing the linear transformation (multiplying the embedding by the weights).
[0043] "Query" vector / matrix: Q=W Q E' t , where E' t represents the query features at time step t (i.e., the embedding “E′” at t, i.e., the initial node embedding at time t), and W Q represents a weight vector for performing a linear transformation.
[0044] "Value" vector / matrix: V=W V e t-1 , where e t-1 represents the value feature at time step t-1 (i.e., the embedding “e” at t-1, i.e., the first updated node embedding at time t-1), and W V represents a weight vector for performing a linear transformation.
[0045] Weights W for keys, queries, and values K , W Q , and W V are different from each other (not necessarily the same).
[0046] The attention weight β represents the learned / trainable weight of short-range temporal correlation between the key and the query.
[0047] β = softmax(QK T / sqrt(d)), where d is the dimension of the query and key vectors. Correlation uses the dot product between Q and K.
[0048] The final short-distance temporal embedding of the node (intermediate node embedding) s t s t =z t +Q, where z t = βV is a weighted sum of the values V and Q is the query vector.
[0049] These intermediate node embeddings s contain information about the correlation between physiological measurement variables (nodes) at time t and physiological measurement variables (nodes) at time t-1. They may also be considered to contain information about autocorrelation (i.e., because of the "+Q" term), which may be considered useful, for example, because the intermediate node embeddings are used to calculate spatial correlation. This "autocorrelation" is indicated in Figures 6 and 8 by the arrows that extend from each feature at time t back to itself. As mentioned above, this process may be called attention.
[0050] Referring back to FIG. 5, in computing spatial correlation, the key-query-value scheme is implemented using the following formula:
[0051] "Key" vector / matrix: K=W K s t , where s t represents the short-distance temporal node embedding (intermediate node embedding) at time step t, and W K represents the weight for the linear layer of the key vector.
[0052] "Query" vector / matrix: Q=W Q s t , where s t represents the short-distance temporal node embedding (intermediate node embedding) at time step t, and W Qrepresents the weight for the linear layer of the query vector.
[0053] "Value" vector / matrix: V=W V s t , where s t represents the short-distance temporal node embedding (intermediate node embedding) at time step t, and W V represents the weights of the linear layer of the value vector.
[0054] Weights W for keys, queries, and values K , W Q , and W V are different (not necessarily the same), and the weights W K , W Q , and W V It is different (not necessarily the same).
[0055] To compute the spatial correlation at time t, a self-attention mechanism is used to learn correlation weights between physiological parameters (nodes at time t) at time t. These weights represent the spatial correlation (as they are computed during the same time steps), denoted by α, and are expressed by the formula: α = softmax(QK T / sqrt(d) where d is the dimension of the query and key vectors. The correlation weight α is computed by performing a dot product between Q and K.
[0056] The first updated node embedding (e t ) is calculated by performing a weighted sum of the values V, i.e., e t =αV. These node embeddings (e t ) contain information about the correlations between physiological measurement variables (nodes) at the same time step t. They also contain information about the short-range correlations of nodes between time step t and the previous time step t-1.
[0057] As mentioned above, the above process is repeated (where, for a given time step t, the first updated node embedding e from the previous iteration is denoted as t, as shown in the above equation). t is the initial node embedding E' for the next iteration. t (used instead of ). That is, the modified attention process followed by the self-attention process is repeated. This process is done for each time step. When considering the first time step, there is no previous time step. In some implementations, the earliest data processed using the modified attention and self-attention process is the data of the second time step, so that the updated node embeddings for each time step contain both spatial and short-range temporal correlation information.
[0058] Returning to the process of short-range temporal correlation (e.g., FIG. 8), the following equations may be useful to aid understanding and may be considered as simplified partial descriptions: where T, B, R represent different physiological measurement variables. The subscript "1" indicates the value of that variable at the first time step (e.g., t=1) and the subscript "2" indicates the value of that variable at the subsequent second time step (e.g., t=2).
[0059] The key (K), query (Q), and value (V) vectors may be expressed as follows:
[0060] V=[T1,B1,R1] 3×128 K = [T1, B1, R1] 3×128 Q = [T2, B2, R2] 3×128
[0061] The intermediate node embedding may be expressed as follows:
[0062] [(QK T ) 3x3 V 3x128 ] 3x128 +Q 3x128
[0063] The above formula can be expanded as follows:
[0064] T2=β 11 T1+β 12 B1+β 13 R1+T2, where the weight β 11 , β 12 , β 13 is the attention / correlation weight.
[0065] B2=β 21 T1+β 22 B1+β 23 R1+B2: where the weight β 21 , β 22 , β 23 is the attention / correlation weight.
[0066] R2 = β 31 T1+β 32 B1+β 33 R1+R2: where the weight β 31 , β 32 , β 33 is the attention / correlation weight.
[0067] The generation of the first updated node embedding may be expressed similarly, in which case the time step for all quantities remains the same (e.g., t=2) and there is no “+Q” term.
[0068] It will be appreciated that the correlation calculations described above may be considered to include calculating correlations between values represented by the node embeddings.
[0069] 9 is a table showing some exemplary input data, where physiological measurement variables include temperature (Temp), heart rate (HR), respiratory rate (Resp), blood oxygen saturation (O2Sat), systolic blood pressure (SBP), diastolic blood pressure (DBP), mean arterial pressure (MAP), and end-tidal carbon dioxide (EtCO2).
[0070] The input data of FIG. 9 includes demographic data of "age", "gender". The input data of FIG. 9 includes laboratory / blood test results as additional physiological measurement variables, namely, base excess (BE), bicarbonate (HCO3), fibrinogen, platelets. Although not shown in FIG. 9, the input data can (additionally or alternatively) include any of the results of blood tests as physiological measurement variables, namely, inspired oxygen concentration (FiO2), pH, partial pressure of carbon dioxide (PaCO2), oxygen saturation of arterial blood (SaO2), aspartate aminotransferase (AST), blood urea nitrogen (BUN), alkaline phosphatase (ALP), calcium, chloride, creatinine, direct bilirubin, glucose, lactate, magnesium, phosphate, potassium, total bilirubin, troponin I, hematocrit (Hct), hemoglobin (Hgb), partial thromboplastin (PTT), white blood cells (WBC).
[0071] The input data may (additionally or alternatively) include biomarkers (molecules) released into blood or other bodily fluids in response to infection or inflammation, such as procalcitonin (PCT), C-reactive protein (CRP), and interleukin-6 (IL-6).
[0072] In general, the input data may include values of any of the physiological measurement variables mentioned above.
[0073] 10 is a diagram showing a prediction process according to an implementation. The prediction process includes steps S51 to S54.
[0074] Step S51 includes calculating a first correlation in the input data based on the input data including values of a patient's physiological measurement variables over a period of time, the calculation including calculating short-range temporal correlations between values of different physiological measurement variables at different time steps and between values of the same physiological measurement variable at different time steps using an attention-based mechanism, and calculating spatial correlations between values of different physiological measurement variables at the same time step using a self-attention mechanism.
[0075] Step S52 includes generating a first updated node embedding based on the input data and the first correlation.
[0076] Step S53 includes updating the first updated node embeddings based on the second correlation between the embedding vectors using a recurrent neural network (RNN) to generate temporally updated embeddings.
[0077] Step S54 involves using the neural network NN to generate a prediction / diagnosis indicating whether the patient has sepsis (or will have it, i.e., at a given time in the future) based on the temporally updated embeddings.
[0078] Steps S51 and S52 are based on high-dimensional encodings / features as input data. The prediction process may include generating high-dimensional encodings / features, e.g., for each physiological measurement variable, performing a data binning method on the values involved and generating a feature vector for each value as the high-dimensional encodings / features.
[0079] Any of steps S51 to S54 may include the processes described above with reference to FIGS. 4 to 8 (eg, the first correlation calculation and update process).
[0080] FIG. 11 is a schematic diagram of a training process according to one implementation and a testing process according to one implementation. The training process includes steps S11 to S20. Step S11 includes data pre-processing. Step S12 includes numerical data binning. Numeric data binning is a method of generating high-dimensional encoding based on input data. Step S11 includes creating a window of data. Step S13 includes creating a data window, which includes generating time series of a fixed length, i.e., all time series have “T” time steps.
[0081] Step S14 includes loading the data window and labels as training data. The labels include a “ground truth” classification that the patient has sepsis at time t+T (as shown in step S19). Step S15 includes generating a node embedding (E′) for each data point. Step S15 may be considered to include multiplying the high-dimensional features / encodings by a weight vector. Step S16 includes generating a cross-correlation embedding (i.e., generating a first correlation and updating the node embeddings based thereon). Step S17 includes generating a temporal embedding (i.e., generating a second correlation based on the first updated node embedding and updating the first updated node embedding based thereon to generate a temporally updated embedding).
[0082] Step S18 involves classifying the training data as sepsis or non-sepsis, i.e., generating a prediction indicating whether a patient will have sepsis or not at time t+T (some predetermined time in the future). Step S19 involves comparing the prediction to a label indicating the "ground-truth" sepsis / non-sepsis classification and calculating the loss between them. The prediction indicated by the label may be referred to as the training prediction. The training process in some implementations involves using cross-entropy loss or focal loss. Weighted cross-entropy error or logarithmic error may also be used. What is used may depend, for example, on the amount of class imbalance in the dataset.
[0083] Although not shown in FIG. 11, the training process includes adjusting at least one network weight used in the modified attention mechanism (for generating short-range temporal correlations), the self-attention mechanism (for generating spatial correlations), the RNN (for generating second correlations), and the NN (used to predict the classification) based on the loss (i.e., the difference between the generated prediction / diagnosis and the training prediction / diagnosis corresponding to the training data to make the generated prediction the training prediction). For example, all network weights in the modified attention mechanism and the self-attention mechanism, the RNN, and the NN are adjusted.
[0084] Step S20 includes determining whether the loss has converged. If so, the method ends. If not, the method proceeds to step S14, where further training data is loaded. In this manner, the training process is iteratively repeated. For example, it may be determined whether the loss is below a threshold or has remained below a threshold for a predetermined number of iterations. Alternatively or additionally, step S20 may include determining whether a maximum number of epochs has been reached. This may be determined in addition to loss convergence, i.e., the method may end if either determination is true ("yes"), i.e., if the maximum number of epochs has been reached or if it is determined that the loss is / has converged.
[0085] The training process may not be considered to include any of steps S11-S14, and any of these steps may be considered to have already been performed as part of a pre-training process. The method of training a system for sepsis prediction may include using input data related to different patients for each iteration. Any of steps S15-S18 may include any of the corresponding processes described above with reference to Figures 4-8 and 10. The training process may include performing the prediction process described with reference to Figure 10 or the processes described with reference to Figures 4-8, followed by loss determination, weight adjustment, and steps corresponding to step S20, and multiple iterations thereof, using training data with corresponding training predictions (ground truth labels).
[0086] The testing process includes steps S31-S38, which correspond to steps S11-S18, except that testing data rather than training data is used. The testing process ends with sepsis / non-sepsis prediction / diagnosis / classification in step S38. The considerations discussed with respect to steps S11-S18 equally apply to steps S31-S38, respectively.
[0087] FIG. 12 is a schematic diagram showing blocks representing a prediction process according to one implementation. The process includes receiving input data (physiological measurement variables, e.g., vital sign values) in step A, and performing data imputation and sampling in step B. In step C, a high-dimensional encoding is generated based on the input data (e.g., using data binning). In step D, a spatial and short-range temporal correlation learning mechanism (e.g., processing in correlation block 43) is used to generate a first correlation, based on which an updated node embedding is generated, and then in step E, a temporally updated embedding is generated using a GRU RNN. In step F, a NN (fully connected layer) is used to generate a sepsis / non-sepsis classification / prediction / diagnosis, which can be considered as an output as a classification in step G.
[0088] Certain implementations of neural networks are described below, but are not required. The neural network can be composed of two fully connected layers and one fully connected classification layer, meaning that it is a type of neural network with three layers of neurons. The first two layers are fully connected, meaning that every single neuron in one layer is connected to every single neuron in the next layer. The third layer is a fully connected classification layer, meaning that it has a number of output neurons equal to the number of classes in the problem, which is two in this case. The input to the neural network is a vector of real numbers (in this case, the input dimensions are [1×128]). Each layer can be represented mathematically as follows:
[0089] Let h be the input data points (dimension [1×128]) and y be the output label (0 or 1). Each fully connected layer can be represented by a weight matrix W and a bias vector b. The output of the layer is then z=W*x+b where z is the output of the layer.
[0090] The output z is then passed through a nonlinear activation function f. There are many options for activation functions such as ReLU, Leaky ReLU, etc. These can be used by intermediate layers. The most common activation functions for classification tasks (last layer) are the softmax or sigmoid functions. The softmax function takes a vector of real numbers as input and outputs a vector of probabilities. The probabilities represent the probability that each label is assigned to the input data point. The label with the highest probability is then selected as the output label. Note that two or more fully connected layers may be used in the NN.
[0091] One implementation of the training method used to train the NN is as follows: The architecture that may be used here is an end-to-end architecture that takes the second updated embedding (h) as input and produces a vector of probabilities as output from the classification layer, where the loss is calculated using a loss function (e.g., cross-entropy error, gaze error, etc.). The loss function is then used to train the model using an optimization algorithm. The optimization algorithm tries to find values of the model's parameters that minimize the loss (stochastic gradient descent, Adam, Adagrad, etc.).
[0092] The use of vital sign data as physiological measurement variables is not required. A GRU RNN is not required, and some implementations use RNN-based networks that do not necessarily feature a GRU RNN.
[0093] A data binning method may be performed as follows, using temperature values as an example: A value is assigned to a bin, say bin number 6 (a bin represents an interval of temperature values, e.g. bin 6 may represent the interval 36-36.3 degrees Celsius). The high dimensional encoding for that value is an array containing five zeros (representing bins 1-5), a normalized (between 0 and 1) value that corresponds to the actual temperature value, and a number of ones that correspond to the number of other bins that exist above bin 6. For example, if there are 10 bins, the high dimensional encoding may look like "0 0 0 0 0 y 1 1 1 1", where y is the normalized temperature value. Data binning is just one way to generate a high dimensional encoding.
[0094] The second correlation is sometimes called the long-range temporal correlation. The output of the RNN may include the output of the last GRU block.
[0095] Any of the above prediction processes may be repeated, whereby the iterations are performed for each time period, for example, hourly or half-hourly, or using irregular time intervals. The most recent input data (vital signs data) may be used in each iteration; that is, each subsequent iteration may use more (and more recent) input data. This may be thought of as monitoring a patient for sepsis risk. Sepsis prediction / classification is the diagnosis of sepsis based on the patient's physiological measurements, which may be obtained using at least one sensor. The graph / network may be stored in the form of linked data nodes.
[0096] As mentioned above, a training process / method is disclosed herein that includes performing any of the prediction processes described above for multiple iterations and performing weight adjustment based on the loss at each iteration.
[0097] According to one aspect, disclosed herein is a method for predicting sepsis before actual sepsis onset in an ICU environment using a patient's physiological data recorded at regular or irregular time intervals (e.g., using a patient's hourly recorded physiological data). Improved accuracy is achieved compared to other methods by modeling the spatial correlation / spatial and temporal structure of the patient's physiological parameters / vitals using graph-based networks and RNNs. Sepsis prediction is in high demand as it saves lives and conserves hospital resources. Finding correlations between vitals in spatial and temporal directions simultaneously is challenging and has not been fully explored to date.
[0098] The objective of the aspects disclosed herein may be considered as early sepsis prediction before sepsis onset in an ICU environment, which is achieved by utilizing cross-correlation and temporal structure of patient physiological data.
[0099] The limitations of existing sepsis prediction models include the fact that they do not consider the correlation structure of various physiological and other body parameters of a patient during sepsis prediction, and that their cross-correlation changes as the disease progresses over time. Also, the spatial cross-correlation pattern in the comparative method 1 does not include the cross-correlation pattern (short-range temporal correlation) between features of different (consecutive) time steps. In addition, the number of timestamps (in sepsis prediction based on physiological parameters, e.g., vital signs) is not necessarily fixed, whereas the convolution employed in the comparative method 1 requires a fixed input size. The aspects disclosed herein employ a memory learning mechanism rather than just a simple aggregation over time as in the comparative method 1. Moreover, more recent time frames are more important (in sepsis prediction), which are not captured in the comparative method 1.
[0100] The spatial cross-correlation patterns in the comparative method 2 do not include the temporal cross-correlation patterns (short-range temporal correlations) between features of different (consecutive) time steps. If the use of the comparative method 2 is attempted for sepsis prediction based on physiological parameters, each layer will have a different combination of vital-node information, and thus edge weights cannot be calculated based on edge weights of the previous layer. The comparative method 2 simply uses a time aggregation of attention weights between nodes, whereas the aspects disclosed herein, in contrast, model the attention between nodes at every time frame and retain the latest evolving relationships between nodes. Thus, an RNN is used to obtain the second (long-range temporal) correlation.
[0101] The aspects disclosed herein are capable of predicting sepsis hours before sepsis onset by using only the patient's physiological time series data. Improved sepsis prediction accuracy is achieved using only vital data. The aspects can aid in building multivariate time series models for sepsis prediction in ICU environments. Common methods for predicting sepsis, including modeling via RNN, time-domain CNN, and classical machine learning methods, for example, do not consider interdependencies between physiological parameters.
[0102] Aspects disclosed herein may include graph-based spatial (cross-correlation)-temporal networks and learning strategies for sepsis prediction, early sepsis prediction using physiological parameters or using only vital signs, inclusion of short-range temporal cross-correlation embedding in the estimation of spatial cross-correlation embedding, and integration of cross-correlation structure with temporal structure to exploit the spatial-temporal aspects of the data.
[0103] Where a process is described as being performed by / using a particular architecture, this architecture is not required and other architectures may be used to perform the same process.
[0104] 13 is a block diagram of an information processing apparatus 10, such as a data storage server, or computing device 10, that may embody the present invention, that may be used to implement some or all of the operations of the methods embodying the present invention, and that may be used to perform some or all of the tasks of the apparatus of one embodiment. The computing device 10 may be used to perform any of the method steps described above, for example, any of steps S51-S54, S11-S20, and S31-S38, and / or any of the processes / operations described above.
[0105] The computing device 10 comprises a processor 993 and a memory 994. Optionally, the computing device also includes a network interface 997 for communicating with other such computing devices, such as other computing devices of the invention embodiments. Optionally, the computing device also includes one or more input mechanisms, such as a keyboard and mouse 996, and a display unit, such as one or more monitors 995. These elements can facilitate user interaction. These components can be connected to each other via a bus 992.
[0106] The memory 994 may include a computer-readable medium, which term may refer to a single medium or multiple media (e.g., centralized or distributed databases and / or associated caches and servers) configured to carry computer-executable instructions. Computer-executable instructions may include, for example, instructions and data that are accessible by a computer (e.g., one or more processors) and cause the computer to perform one or more functions or operations. For example, computer-executable instructions may include instructions for implementing a method disclosed herein, or any method steps disclosed herein, e.g., any of steps S51-S54, S11-S20, and S31-S38, and / or any process / operation described above. Thus, the term "computer-readable storage medium" may also include any medium capable of storing, encoding, or carrying a set of instructions for execution by a machine that causes a machine to perform any one or more of the method steps of the present disclosure. Thus, the term "computer-readable storage medium" may be interpreted to include, but is not limited to, solid-state memory, optical media, and magnetic media. By way of example, and not limitation, such computer-readable media may include non-transitory computer-readable storage media including random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), compact disk read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory devices (e.g., solid-state memory devices).
[0107] The processor 993 is configured to control the computing device and perform processing operations, for example, executing computer program code stored in the memory 994 to perform any of the method steps described herein. The memory 994 stores data to be read and written by the processor 993, and may store the weights and / or input data and / or equations and / or training data and / or labels and / or node and network weights and / or other data described above, and / or programs for performing any of the method steps / processes described above. As referred to herein, a processor may include one or more general-purpose processing devices, such as a microprocessor, a central processing unit, etc. A processor may include a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or a combination of instruction sets. A processor may also include one or more special-purpose processing devices, such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), a network processor, etc. In one or more embodiments, a processor is configured to execute instructions to perform the operations described above and herein. The processor 993 may be considered to include any of the modules described above. Any operation described as being implemented by a module may be implemented by a computer, such as by the processor 993, as a method.
[0108] The display unit 995 may display representations of data stored by the computing device, such as predictions and / or data, and / or representations of networks, and / or GUI windows, and / or interactive representations that allow a user to interact with apparatus 10, for example by drag-and-drop or selection interactions, and / or any other output described above, and may also display cursors and dialog boxes and screens that allow interaction between a user and programs and data stored on the computing device. The input mechanism 996 may allow a user to input data and instructions into the computing device, such as allowing a user to enter any user input described above.
[0109] The network interface (network I / F) 997 may be connected to a network such as the Internet and can be connected to other such computing devices via the network. The network I / F 997 may control data input and output to and from other devices via the network. Other peripheral devices such as microphones, speakers, printers, power supply units, fans, cases, scanners, trackballs, etc. may be included in the computing device.
[0110] A method embodying the present invention may be performed on a computing device / apparatus 10 as shown in FIG. 13. Such a computing device need not have all the components shown in FIG. 13, but may be comprised of a subset of those components. For example, the apparatus 10 may comprise a processor 993 and a memory 994 connected to the processor 993. Alternatively, the apparatus 10 may comprise a processor 993, a memory 994 connected to the processor 993, and a display 995. A method embodying the present invention may be performed by a single computing device in communication with one or more data storage servers over a network. The computing device may be a data storage device itself that stores at least a portion of the data.
[0111] Methods embodying the invention may be performed by a plurality of computing devices operating in cooperation with one another, one or more of which may be data storage servers that store at least a portion of the data.
[0112] The invention may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The invention can also be implemented as a computer program or computer program product, i.e. a computer program tangibly embodied in a non-transitory information carrier, for example a machine-readable storage device or a propagated signal, for execution by or to control the operation of one or more hardware modules.
[0113] A computer program may be in the form of a stand-alone program, a computer program portion, or two or more computer programs, may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a data processing environment. A computer program may be deployed to be executed on one module or on multiple modules at one site, or may be distributed across multiple sites and interconnected by a communication network.
[0114] The method steps of the present invention may be performed by one or more programmable processors executing a computer program that performs the functions of the present invention by operating on input data to generate output. Apparatus of the present invention may be implemented as programmed hardware or as special purpose logic circuitry including, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
[0115] Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions coupled to one or more memory devices for storing instructions and data.
[0116] The above-described embodiments of the invention may be used to advantage independently of other embodiments or in any feasible combination with one or more other embodiments.
[0117] All examples and conditional language provided herein are intended for educational purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to advance the art, and should not be construed as limitations to such specifically described examples and conditions, nor is the organization of such examples herein related to demonstrating the superiority or inferiority of the invention. Although one or more embodiments of the invention have been described in detail, it should be understood that various changes, substitutions, and alterations can be made thereto without departing from the spirit and scope of the invention.
[0118] The present disclosure extends to the following statements.
[0119] [S1] 16. A computer-implemented method comprising: performing a prediction process, the prediction process comprising: calculating (first) correlations in input data based on the input data comprising values of physiological measurement variables of / related to a patient over a (first) time period, said calculating including calculating (short-range temporal) correlations between values of (different) physiological measurement variables at (different) successive time steps (and between values of the same physiological measurement variable at (different) successive time steps) (using an attention-based mechanism) and calculating (spatial) correlations between values of different physiological measurement variables at the same time step (using a self-attention mechanism); generating first updated node embeddings based on the input data and the (first) correlations, each node corresponding to (a value of) a physiological measurement variable at a time step; updating the first updated node embeddings based on / using the (second) correlations between the first updated node embeddings using a recurrent neural network RNN to generate (temporally) updated embeddings; and generating a prediction / diagnosis, using a neural network NN, based on the (temporally) updated embeddings, indicating whether the patient ((currently has) or (at a) future time point) has sepsis. A computer-implemented method. [S2] The computer-implemented method of claim 1, comprising running the prediction process for the patient for multiple instances (multiple times), in each successive instance using input data covering a longer and / or more recent time period. [S3] The computer-implemented method of any one of claims 1 to 20, comprising running the forecasting process hourly for a given number of hours. [S4] The computer-implemented method of any one of statements S1 to S3, wherein the physiological measurement variables include at least two of: heart rate; oxygen saturation; body temperature; blood pressure (including any of systolic blood pressure, mean arterial pressure, and diastolic blood pressure); respiratory rate; and end-tidal carbon dioxide. [S5] The computer-implemented method of any one of statements S1 to S4, wherein the physiological measurement variables include at least two of: heart rate; oxygen saturation; body temperature; blood pressure (including any of systolic blood pressure, mean arterial pressure, and diastolic blood pressure); respiratory rate; end-tidal carbon dioxide; blood glucose; base excess; bicarbonate HCO3 level; fibrinogen level; platelet level; inspired oxygen concentration level; pH level; carbon dioxide partial pressure; arterial oxygen saturation; aspartate aminotransferase level; blood urea nitrogen; alkaline phosphatase level; calcium level; chloride level; creatinine level; direct bilirubin level; glucose level; lactate level; magnesium level; phosphate level; potassium level; total bilirubin level; troponin I level; hematocrit level; hemoglobin level; partial thromboplastin level; and white blood cell level. [S6] The computer-implemented method of any one of statements S1 to S5, wherein the value of at least one of the physiological measurement variables is obtained using at least one sensor (attached to the patient's body). [S7] The computer-implemented method of any one of statements S1-S6, wherein generating the temporally updated embeddings includes using the RNN to calculate / determine / discover / recognize the second correlation between the first updated node embeddings. [S8] The computer-implemented method of any one of statements S1-S7, wherein the prediction process includes generating a multidimensional feature encoding based on the input data; and generating an initial node embedding by multiplying the multidimensional feature encoding by a weight vector, and calculating the first correlation includes calculating the first correlation based on the initial node embedding. [S9] The computer-implemented method of claim S8, wherein generating the multidimensional feature encoding includes, for each physiological measurement variable, performing a data binning method on the contributing values (and generating a feature vector for each value as the multidimensional feature encoding). [S10] The computer-implemented method of any one of statements S1-S9, wherein the prediction process includes generating an initial node embedding for each value of the input data, and wherein calculating the first correlation includes calculating the first correlation based on the initial node embedding. [S11] The computer-implemented method of claim S10, wherein generating the initial node embeddings includes, for each physiological measurement variable, performing a data binning method on the contributing values to generate a multidimensional feature encoding, and multiplying the multidimensional feature encoding by a weight vector. [S12] The computer-implemented method of any of statements S1 to S11, wherein calculating the short-range temporal correlation includes calculating a correlation between values of the same and different physiological measurement variables at two successive time steps. [S13] The computer-implemented method of any one of statements S1 to S12, wherein calculating the short-range temporal correlation for the value of the physiological measurement variable at a time step includes calculating a correlation between the value and the value of each physiological measurement variable at a previous time step. [S14] The computer-implemented method of any one of statements S1 to S13, wherein calculating the short-range temporal correlation includes calculating a correlation between a value at one of the successive time steps and a value of each physiological measurement variable at another of the successive time steps. [S15] 5. The computer-implemented method of claim 1, wherein calculating the short-range temporal correlation comprises: calculating a correlation between a value of a first one of the physiological measurement variables at a primary time step and a value of a second one of the physiological measurement variables at a secondary time step; calculating a correlation between a value of the first one of the physiological measurement variables at the secondary time step and a value of the second one of the physiological measurement variables at the primary time step; calculating a correlation between the value of the first one of the physiological measurement variables at the primary time step and the value of the first one of the physiological measurement variables at the secondary time step; and calculating a correlation between the value of the second one of the physiological measurement variables at the primary time step and the value of the second one of the physiological measurement variables at the secondary time step, wherein the primary time step and the secondary time step are consecutive time steps. [S16] The computer-implemented method of any one of statements S1 to S15, wherein calculating the short-range temporal correlation for a pair of consecutive time steps includes calculating the correlation between values of the physiological measurement variable at the two consecutive time steps, and calculating the first correlation includes calculating the short-range temporal correlation for each pair of consecutive time steps. [S17] Calculating the short-range temporal correlation for pairs of successive primary and secondary time steps includes: calculating a correlation between a value of a first one of the physiological measurement variables at the primary time step and a value of a second one of the physiological measurement variables at the secondary time step; calculating a correlation between a value of the first one of the physiological measurement variables at the secondary time step and a value of the second one of the physiological measurement variables at the primary time step; calculating a correlation between a value of the first one of the physiological measurement variables at the secondary time step and a value of the second one of the physiological measurement variables at the primary time step; and calculating a correlation between the value of the physiological measurement variable at the primary time step and the value of the first physiological measurement variable at the secondary time step; and calculating a correlation between the value of the second physiological measurement variable at the primary time step and the value of the second physiological measurement variable at the secondary time step, wherein calculating the first correlation comprises calculating the short-range temporal correlation for each pair of successive time steps. [S18] The computer-implemented method of any one of statements S8-S17, wherein generating the first correlation includes using the initial node embeddings that respectively correspond to the values. [S19] The computer-implemented method of any one of statements S8 to S18, wherein computing the short-range temporal correlation for the value corresponding to a second time step in the order of time steps includes computing a correlation between an initial node embedding corresponding to the second time step and an initial node embedding corresponding to a first time step (in the order of time steps). [S20] The computer-implemented method of any one of statements S8 to S19, wherein calculating the short-range temporal correlation for the value corresponding to a second time step in the order of time steps includes calculating a correlation between each of the initial node embeddings corresponding to the second time step and each of the initial node embeddings corresponding to a first time step (in the order of time steps). [S21] Calculating the short-range temporal correlation for the value corresponding to a second time step in the order of time steps includes: calculating a correlation between an initial node embedding corresponding to a first one of the physiological measurement variables and corresponding to a first time step (preceding the second time step) and an initial node embedding corresponding to a second one of the physiological measurement variables and corresponding to the second time step; calculating a correlation between an initial node embedding corresponding to the first one of the physiological measurement variables and corresponding to the second time step and an initial node embedding corresponding to the second one of the physiological measurement variables and corresponding to the first time step. 3. The computer-implemented method of any one of statements S8 to S20, comprising: calculating a correlation between the initial node embedding corresponding to the first one of the physiological measurement variables and corresponding to the first time step and the initial node embedding corresponding to the first one of the physiological measurement variables and corresponding to the second time step; and calculating a correlation between the initial node embedding corresponding to the second one of the physiological measurement variables and corresponding to the first time step and the initial node embedding corresponding to the second one of the physiological measurement variables and corresponding to the second time step. [S22] The computer-implemented method of any one of statements S8 to S21, wherein calculating the short-range temporal correlation for the values corresponding to each of a third time step and a subsequent time step in the order of time steps includes calculating a correlation between each of the initial node embeddings corresponding to the time step of interest and each of the first updated node embeddings corresponding to the preceding time step. [S23] The computer-implemented method of any one of statements S8 to S22, wherein computing the short-range temporal correlations for the values corresponding to a second time step in the order of time steps includes computing a correlation between each of the initial node embeddings corresponding to the second time step and each of the initial node embeddings corresponding to a first time step (in the order of time steps), and computing the short-range temporal correlations for the values corresponding to a third time step and each of the subsequent time steps in the order of time steps includes computing a correlation between each of the initial node embeddings corresponding to the time step of interest and each of the first updated node embeddings corresponding to the preceding time step. [S24] The computer-implemented method of any one of statements S8-S23, wherein the prediction process includes updating the initial node embeddings based on the short-range temporal correlations to generate intermediate node embeddings. [S25] The computer-implemented method of any one of statements S8 to S24, wherein the prediction process includes updating each initial node embedding using / based on short-range temporal correlation with the (initial or updated) node embedding of the previous time step to generate intermediate node embeddings. [S26] The computer-implemented method of statement S25, wherein updating each initial node embedding with / based on its short-range temporal correlation to generate intermediate node embeddings includes using a weighted sum. [S27] The computer-implemented method of any one of statements S24 to 26, wherein updating the initial node embeddings to generate intermediate node embeddings includes adding a contribution to the intermediate node embeddings based on each (initial or updated) node embedding of the previous time step weighted by its (short-range temporal) correlation with the initial node embedding involved. [S28] The computer-implemented method of any one of statements S24 to 27, wherein generating the spatial correlation includes calculating the correlation between the intermediate node embeddings that correspond to the same time step (and that correspond to different physiological measurement variables). [S29] The computer-implemented method of any one of statements S24 to S28, wherein generating the first updated node embeddings includes updating each intermediate node embedding using / based on (spatial) correlation with each other intermediate node embedding corresponding to the same time step. [S30] A computer-implemented method as described in any one of statements S8 to S29, wherein computing the short-range temporal correlation for the values corresponding to a second time step in the time step order includes computing a correlation between each of the initial node embeddings corresponding to the second time step and each of the initial node embeddings corresponding to a first time step (in the time step order); and computing the short-range temporal correlation for the values corresponding to a third time step and each of the subsequent time steps in the time step order includes computing a correlation between each of the initial node embeddings corresponding to the time step of interest and each of the first updated node embeddings corresponding to the preceding time step. [S31] 3. The computer-implemented method of any one of statements S8 to S30, wherein computing the short-range temporal correlations includes computing the short-range temporal correlations for the values corresponding to a second time step, the values corresponding to a third time step, and the values corresponding to a subsequent time step, the second time step occurring after the first time step and before the third time step; computing the short-range temporal correlations for the values corresponding to the second time step includes computing a correlation between each of the initial node embeddings corresponding to the second time step and each of the initial node embeddings corresponding to the first time step; and computing the short-range temporal correlations for the values corresponding to each of the third time step and subsequent time steps includes computing a correlation between each of the initial node embeddings corresponding to the time step of interest and each of the first updated node embeddings corresponding to the time step preceding the time step of interest. [S32] The computer-implemented method of any one of statements S24 to S31, wherein generating the first updated node embeddings includes updating each intermediate node embedding using / based on (spatial) correlation with each other intermediate node embedding corresponding to the same time step. [S33] 3. The computer-implemented method of any one of statements S24-S32, wherein updating each intermediate node embedding to generate the first updated node embedding includes using a weighted sum. [S34] The computer-implemented method of any one of statements S24 to S33, wherein updating the intermediate node embeddings to generate a first updated node embedding comprises adding a contribution to the first updated node embedding based on each other intermediate node embedding of the same time step weighted by its (spatial) correlation with the intermediate node embedding involved. [S35] The computer-implemented method of any one of statements S1-S34, wherein generating the spatial and short-range temporal correlations includes computing dot products between participating node embeddings. [S36] The computer-implemented method of any one of statements S1-S35, wherein generating the spatial correlation includes using a self-attention mechanism / network. [S37] The computer-implemented method of any one of statements S1-S36, wherein generating the short-range temporal correlations includes using an attention-based mechanism / network. [S38] The computer-implemented method of any one of statements S1-S37, wherein generating the spatial correlation includes using a key-query-value self-attention mechanism / network. [S39] The computer-implemented method of any one of statements S1-S38, wherein generating the short-range temporal correlations includes using a key-query-value attention-based mechanism / network. [S40] The computer-implemented method of any one of statements S1 to S39, wherein the prediction process includes iteratively generating the first correlation and updating the node embeddings involved, and for each subsequent iteration, starting from the first updated node embeddings of a previous iteration instead of the initial node embeddings. [S41] The computer-implemented method of any one of statements S1 to S40, wherein the RNN is configured (trained) to learn long-term temporal correlations between the first updated embedding vectors. [S42] The computer-implemented method of any one of statements S1-S41, wherein the RNN includes at least one gated recurrent unit (GRU). [S43] The computer-implemented method of any one of statements S1-S42, wherein the NN is trained to output a sepsis prediction. [S44] The computer-implemented method of any one of statements S1 to S43, wherein the NN is configured (trained) to generate the predictions in the form of a binary classification task. [S45] The computer-implemented method of any one of statements S1 to S44, wherein the NN includes at least one or more (fully connected) layers. [S46] The computer-implemented method of any one of statements S1 to S45, comprising: performing a training process, the training process comprising performing the prediction process using training data corresponding to training patients as the input data; and adjusting at least one (or all) network weights used in the attention-based mechanism, the self-attention mechanism, the RNN, and the NN based on a difference between a generated prediction / diagnosis and a training prediction / diagnosis corresponding to the training data (as a ground truth prediction / diagnosis / output) (to bring the generated prediction to or closer to the training prediction). [S47] The computer-implemented method of claim S46, further comprising performing the training process for multiple iterations using different training data for each iteration. [S48] The computer-implemented method of claim 46 or 47, further comprising: performing / iterating the training process until a difference between the generated predictions and the training predictions involved converges or falls below an error threshold (iterative step). [S49] The computer-implemented method of any one of statements S46 to S48, comprising performing / iterating the training process until, for a predetermined number of successive iterations, a difference between the generated prediction and the associated training prediction falls below an error threshold. [S50] The computer-implemented method of any one of statements S46 to S49, wherein the computer-implemented method includes performing / repeating the training process a predetermined number of iterations. [S51] The computer-implemented method of any one of statements S46 to S50, wherein the computer-implemented method includes, after performing the training process, performing the prediction process using subject input data for a subject patient to generate a subject prediction / diagnosis. [S52] The computer-implemented method of any one of statements S46 to S51, comprising performing the prediction process for the subject patient for multiple instances (i.e., multiple times), in each successive instance using subject input data covering a longer and / or more recent time period. [S53] The computer-implemented method of any one of statements S1-S52, wherein the computer-implemented method includes running the prediction process hourly for a given number of hours. [S54] According to an embodiment of the second aspect, disclosed herein is a computer program which, when executed on a computer, causes the computer to carry out a method comprising: performing a prediction process, comprising the steps of: calculating (first) correlations in input data comprising values of physiological measurement variables of / related to a patient over a (first) time period, said input data comprising values of physiological measurement variables of / related to a patient over a (first) time period, said calculating comprising (short-range temporal) correlations (using an attention-based mechanism) between values of (different) physiological measurement variables at (different) successive time steps (and between values of the same physiological measurement variable at (different) successive time steps) and calculating (spatial) correlations (using a self-attention mechanism) between values of different physiological measurement variables at the same time step; generating first updated node embeddings based on the (first) correlations, each node corresponding to a (value of) a physiological measurement variable at a time step; updating the first updated node embeddings using a recurrent neural network RNN based on / using the (second) correlations between the first updated node embeddings to generate (temporally) updated embeddings; and generating a prediction / diagnosis using a neural network NN based on the (temporally) updated embeddings indicating whether the patient (currently has) sepsis or (at a future time point). [S55] According to an embodiment of the third aspect, an information processing device is disclosed herein, comprising a memory and a processor connected to the memory, the processor being configured to execute a prediction process, the prediction process comprising the steps of: calculating (first) correlations in input data, based on the input data comprising values of physiological measurement variables of a patient / related to the patient over a (first) time period, the calculating comprising: calculating (short-range temporal) correlations (using an attention-based mechanism) between values of the (different) physiological measurement variables at (different) successive time steps (and between values of the same physiological measurement variable at (different) successive time steps), and calculating (spatial) correlations between values of the different physiological measurement variables at the same time step. (using a self-attention mechanism); generating first updated node embeddings based on the input data and the (first) correlations, where each node corresponds to (a value of) a physiological measurement variable at a time step; updating the first updated node embeddings using a recurrent neural network RNN based on / with (second) correlations between the first updated node embeddings to generate (temporally) updated embeddings; and generating a prediction / diagnosis using a neural network NN based on the (temporally) updated embeddings, indicative of whether the patient ((currently has) or) (at a future time point) has sepsis. [Explanation of symbols]
[0120] 1 Raw input node: Number 2 Data imputation and preprocessing 3 High-dimensional feature encoder 4 Spatial and short-range temporal correlation blocks 5. RNN-based Networks (GRU) 6. Neural Networks 7 Binomial Prediction 21 Input Block 22 High-dimensional embedding 23 Spatial Cross-Correlation Block (Temporal Graph Convolutional Network) 24 Temporal Convolutional Network Blocks 241 Temporal Convolutional Networks 33 Spatial Correlation Block 34 Temporal Attention Block 41 Input 42 High-dimensional encoder 43 Spatial and short-range temporal correlation blocks 431 Feature Embedding 432 Short-range temporal correlation 433 Spatial Cross-Correlation 45 RNN (GRU) 46 Neural Networks S51 Calculate the first correlation S52 Generate the first updated node embedding The first updated node embedding is updated using the S53 RNN to generate a temporally updated embedding. Generate predictions (sepsis / non-sepsis) using S54 NN S11, S31 Data preprocessing S12, S32 Numerical Data Binning Generate a window of S13, S33 data S14, S34 Load training window data and labels S15, S35 Generate node embeddings for each feature S16, S36 Generate the second updated node embedding S17, S37 Generate temporal embedding S18, S38 Classified as sepsis / non-sepsis S19 Calculate the loss for the actual sepsis state at time t+T and the predicted sepsis state at time t+T S20 Losses converged? A. Observation of physiological measurement variables B. Data imputation and data sampling C Higher Dimensional Encoding D Spatial and short-range temporal correlation blocks E Recurrent Neural Network (GRU) F. Neural Networks G. Sepsis / Non-Septic Classification
Claims
1. 16. A computer-implemented method comprising: performing a prediction process, the prediction process comprising: calculating a first correlation in the input data based on the input data including values of a physiological measurement variable of a patient over a time period, the calculating including calculating short-range temporal correlations between values of the physiological measurement variable at successive time steps using an attention-based mechanism, and calculating spatial correlations between values of different physiological measurement variables at the same time step using an auto-attention mechanism; generating a first updated node embedding based on the input data and the first correlation, each node corresponding to a physiological measurement variable at a time step; updating the first updated node embeddings based on a second correlation between the first updated node embeddings using a recurrent neural network RNN to generate a temporally updated embedding; and generating a prediction indicating whether the patient will have sepsis using a neural network NN based on the temporally updated embeddings. A computer-implemented method.
2. The physiological measurement variable is Heart rate; Oxygen saturation; Body temperature; blood pressure; Breathing rate; End-tidal carbon dioxide Blood sugar; Base excess; Bicarbonate HCO3 levels; fibrinogen levels; Platelet levels; Inspired oxygen concentration level; pH level: Carbon dioxide partial pressure; Arterial blood oxygen saturation; Aspartate aminotransferase levels; Blood urea nitrogen; alkaline phosphatase levels; Calcium levels; Chloride levels; Creatinine level; Direct bilirubin level; Glucose levels; Lactic acid levels; Magnesium levels; Phosphate levels; Potassium levels; Total bilirubin level; Troponin I levels; Hematocrit level; Hemoglobin levels; Partial thromboplastin level; and White blood cell levels The computer-implemented method of claim 1 , comprising at least two of:
3. 3. The computer-implemented method of claim 1 or 2, wherein calculating short-range temporal correlations for values of physiological measurement variables at a time step includes calculating a correlation between the value and the value of each physiological measurement variable at a previous time step.
4. The prediction process includes: generating a multi-dimensional feature encoding based on the input data; generating an initial node embedding by multiplying the multidimensional feature encoding with a weight vector; computing the first correlation includes computing the first correlation based on the initial node embedding.
3. A computer-implemented method according to claim 1 or 2.
5. Computing the short-range temporal correlation for the values corresponding to a second time step in the order of time steps includes computing a correlation between each of the initial node embeddings corresponding to the second time step and each of the initial node embeddings corresponding to a first time step. calculating the short-range temporal correlation for the values corresponding to each of the third and subsequent time steps in the order of time steps includes calculating a correlation between each of the initial node embeddings corresponding to the time step of interest and each of the first updated node embeddings corresponding to the preceding time step; 5. The computer-implemented method of claim 4.
6. 6. The computer-implemented method of claim 5, wherein generating the first updated node embeddings comprises updating each intermediate node embedding based on a correlation with each other intermediate node embedding corresponding to the same time step.
7. The computer-implemented method includes performing a training process, the training process comprising: performing the prediction process using training data corresponding to training patients as the input data; and adjusting at least one network weight used in the attention-based mechanism, the self-attention mechanism, the RNN, and the NN based on a difference between the generated prediction and a training prediction corresponding to the training data.
3. A computer-implemented method according to claim 1 or 2.
8. 8. The computer-implemented method of claim 7, comprising, after performing the training process, performing the prediction process with subject input data for a subject patient to generate a subject prediction.
9. A computer program product which, when executed on a computer, causes the computer to carry out a method comprising carrying out a prediction process, said prediction process comprising: calculating a first correlation in the input data based on the input data including values of a physiological measurement variable of a patient over a time period, the calculating including calculating short-range temporal correlations between values of the physiological measurement variable at successive time steps using an attention-based mechanism, and calculating spatial correlations between values of different physiological measurement variables at the same time step using an auto-attention mechanism; generating a first updated node embedding based on the input data and the first correlation, each node corresponding to a physiological measurement variable at a time step; updating the first updated node embeddings based on a second correlation between the first updated node embeddings using a recurrent neural network RNN to generate a temporally updated embedding; and generating a prediction indicating whether the patient will have sepsis using a neural network NN based on the temporally updated embeddings. Computer program.
10. An information processing apparatus having a memory and a processor connected to the memory, the processor comprising: configured to perform a prediction process, the prediction process comprising: calculating a first correlation in the input data based on the input data including values of a physiological measurement variable of a patient over a time period, the calculating including calculating short-range temporal correlations between values of the physiological measurement variable at successive time steps using an attention-based mechanism, and calculating spatial correlations between values of different physiological measurement variables at the same time step using an auto-attention mechanism; generating a first updated node embedding based on the input data and the first correlation, each node corresponding to a physiological measurement variable at a time step; updating the first updated node embeddings based on a second correlation between the first updated node embeddings using a recurrent neural network RNN to generate a temporally updated embedding; and generating a prediction indicating whether the patient will have sepsis using a neural network NN based on the temporally updated embeddings. Information processing device.