Event prediction based on neural point processes for medical decision making
By encoding multivariate time series and event sequences using transformers and aggregation networks, the system enhances event prediction accuracy and enables timely corrective actions in complex systems.
Patent Information
- Application Number
- JP2025521483
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-24
- Filing Date
- 2023-10-25
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2043-10-25
AI Technical Summary
Existing event prediction systems fail to effectively utilize both time series information and event history, leading to suboptimal predictive accuracy and difficulty in interpreting causal relationships, which hampers decision-making in complex systems like cyber-physical and healthcare systems.
Employing transformers and aggregation networks to encode multivariate time series and event sequences, generating feature vectors for event prediction, and implementing corrective actions to mitigate or prevent upcoming events.
Improves predictive accuracy by leveraging both time series and event history, enabling timely and effective corrective actions in cyber-physical and healthcare systems.
Smart Images

Figure 2025534741000001_ABST
Abstract
Description
[Technical Field]
[0001] Related Application Information This application claims priority to U.S. Patent Application No. 63 / 419,003, filed October 25, 2022, and U.S. Patent Application No. 18 / 493,331, filed October 24, 2023, each of which is incorporated by reference in its entirety. [Background technology]
[0002] The present invention relates to event prediction, and more particularly to inferring system states from event history and time series information. 2. Description of Related Art
[0003] Event prediction helps manage complex systems: in cyber-physical systems such as information technology systems, hardware failures can be predicted and preventive maintenance can be planned; in health care systems, predicting adverse events can help doctors adjust treatment early and prevent adverse health outcomes. Summary of the Invention
[0004] A method for event prediction includes encoding a multivariate time series and a plurality of types of event sequences using respective transformers and aggregation networks to generate feature vectors. Event prediction is performed using the feature vectors to identify an upcoming event in the system. Corrective actions corresponding to the upcoming event are implemented to prevent or mitigate the impact of the upcoming event.
[0005] A system for event prediction includes a hardware processor and a memory storing a computer program that, when executed by the hardware processor, causes the hardware processor to encode a multivariate time series and a plurality of types of event sequences using respective transformers and aggregation networks to generate feature vectors, perform event prediction using the feature vectors to identify a next event occurring in the system, and perform corrective actions corresponding to the next event to prevent or mitigate an impact of the next event.
[0006] The method for providing treatment includes measuring time series information about a patient. The time series information about the patient and a sequence of health events are encoded using respective transformers and an aggregation network to generate a feature vector. Event prediction is performed using the feature vector to identify a next health event that will occur in the system. Corrective action corresponding to the next health event is performed to prevent or mitigate adverse health effects caused by the next health event.
[0007] These and other features and advantages will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings. [Brief explanation of the drawings]
[0008] The present disclosure provides details in the following description of preferred embodiments with reference to the following figures.
[0009] [Figure 1] FIG. 1 is a configuration diagram of a cyber-physical system that performs event prediction based on time-series information and event log information according to an embodiment of the present invention.
[0010] [Figure 2] FIG. 1 is a diagram of a patient in a healthcare setting receiving treatment according to predicted health events, according to an embodiment of the present invention.
[0011] [Figure 3]1 is a block diagram of a healthcare facility where information regarding the functionality of a treatment system and medical records is used to predict events, according to one embodiment of the present invention.
[0012] [Figure 4] 1 is a block / flow diagram of an event prediction method / system according to one embodiment of the present invention;
[0013] [Figure 5] FIG. 1 is a block / flow diagram of a method for training and using a deep learning model for event prediction, according to one embodiment of the present invention.
[0014] [Figure 6] FIG. 1 is a block / flow diagram of a method for training a deep learning model to predict an event, according to one embodiment of the present invention.
[0015] [Figure 7] FIG. 1 is a block diagram of a computing device capable of training and using an event prediction model to predict and modify events, according to one embodiment of the present invention.
[0016] [Figure 8] FIG. 2 illustrates an example of an exemplary neural network architecture that may be used to implement a portion of an event prediction model, according to one embodiment of the present invention.
[0017] [Figure 9] FIG. 1 illustrates an example of an exemplary deep neural network architecture that may be used to implement a portion of an event prediction model, according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0018] Event prediction uses information about past events, but may also use information about the constantly changing system state, which can be inferred from current time series information about system measurements.
[0019] There are complex causal relationships between events and time series information. For example, an increasing trend in memory usage in a computer system is likely to eventually cause an out-of-memory event. On the other hand, rising levels of disk queue length may be the result of disk-access-intensive application events. Event prediction that takes into account time series information and event history will yield better results than systems that consider only one or the other.
[0020] Due to the variability of dynamic processes in complex systems, probability distributions can be more effective than point-by-point next-event estimates. Furthermore, interpretability of predicted results can be challenging. Identifying past events and measured conditions that contributed to predicted events can aid decision-making to improve future performance.
[0021] To this end, machine learning models can be used to predict the type and time of the next event given a history of previous events and one or more time-series measurements. Transformers and attention mechanisms are used to explicitly model the interaction between system events and measurements, encapsulating the interaction in a hidden state. Point processing may be used to condition the hidden state and generate a probabilistic distribution of the type and time of the next event. This can be achieved in several ways, including modeling an intensity function or a density function.
[0022] 1, a maintenance system 106 is shown in the context of a monitored system 102. The monitored system 102 can be any suitable system, such as a physical system, such as a manufacturing line or physical plant operation, an electronic system, such as a computer or other computerized device, a software system, such as an operating system or application, or a cyber-physical system that combines physical systems with electronic and / or software systems. Exemplary systems 102 include a variety of types, such as railroad systems, power plants, vehicle sensors, data centers, transportation systems, etc.
[0023] One or more sensors 104 record information about the state of the monitored system 102. The sensors 104 may be any suitable type of sensor, including, for example, physical sensors such as temperature, humidity, vibration, pressure, voltage, current, magnetic field, electric field, and light sensors, as well as software sensors such as logging utilities installed on a computer system to record information about the state and operation of operating systems and applications running on the computer system. The information generated by the sensors 104 may be in any suitable format and may include sensor log information generated in heterogeneous formats.
[0024] The sensors 104 may transmit the recorded sensor information to the abnormal maintenance system 106 via any suitable communication medium and protocol, including wireless and wired communication. The maintenance system 106 can identify anomalies or abnormal behavior, for example, by monitoring the multivariate time series generated by the sensors 104. When abnormal behavior is detected, the maintenance system 106 communicates with the system control unit to modify one or more parameters of the monitored system 102 to correct the abnormal behavior.
[0025] Exemplary corrective actions include changing security settings of an application or hardware component, changing operating parameters (e.g., operating speed) of an application or hardware component, stopping and / or restarting an application, stopping and / or restarting a hardware component, changing environmental conditions, changing the state or settings of a network interface, etc., thereby allowing the maintenance system 106 to automatically correct or mitigate the abnormal behavior. Identifying the specific sensors 104 associated with an anomaly classification can reduce the time required to isolate the problem.
[0026] Each of the sensors 104 outputs a respective time series that encodes measurements made by the sensor over time. For example, a time series may include pairs of information, each pair including a measurement and a timestamp indicating the time the measurement was made. Each time series may be divided into segments that represent measurements made by the sensor over a particular time range. A time series segment may represent any suitable interval, such as one second, one minute, one hour, or one day. A time series segment may represent a set number of collection points, such as 100 measurements, rather than a fixed period of time.
[0027] The maintenance system 106 may track the occurrence of events related to the state of the monitored system 102. For example, the maintenance system 106 may receive information related to workload, job starts and stops, and failures. This information may be recorded along with appropriate timestamps and other state information related to the state of the monitored system 102 at the time the event occurred, including, for example, information collected by sensors 104. Time series information may be recorded periodically or aperiodically but frequently, while event information may be recorded whenever a discrete event occurs.
[0028] The maintenance system 106 may use event prediction 108 to predict when future events will occur. Event prediction utilizes both event history information and time series information to determine when an event is likely to occur. The maintenance system 106 can further determine which sources of information contribute most to the prediction, thereby enabling corrective actions taken by the maintenance system 106 to be tailored to the root cause of the problem.
[0029] Referring now to FIG. 2, a patient 202 is shown in the context of a health care system. For example, the patient 202 may be undergoing hemodialysis (also referred to simply as "dialysis"). During dialysis, a dialysis machine 204 automatically draws the patient's blood, processes and cleanses the blood, and reintroduces the cleansed blood into the patient's body. Dialysis may take four hours and may occur every three days, although other durations and periods are contemplated. While dialysis is specifically envisioned, it should be understood that any suitable medical treatment or monitoring may be used instead.
[0030] Before, during, and after a dialysis session, the patient 202 may experience treatment-related health events. Such health events, which may be dangerous to the patient 202, can be predicted based on knowledge of previous health events and the patient's current health measurements. Before the patient 202 undergoes a medical procedure or treatment, such as dialysis, the medical professional 206 reviews a recommendation 208 that includes a prediction score. The prediction score indicates the likelihood of a health event occurring during the dialysis session. The recommendation 208 may further include information related to the type of predicted event and measurements of the patient's condition. It is specifically contemplated that the recommendation may be made before the dialysis session begins, and treatment may be adjusted.
[0031] Recommendations may be based on various input information. Part of the information may include a patient's static profile, including information such as age, gender, when dialysis was initiated, and previous health events. The information may also include dialysis measurement records, which may be taken for each dialysis session, as well as dynamic data such as blood pressure, weight, venous pressure, blood test measurements, and cardiothoracic ratio (CTR). Blood test measurements may be taken periodically, such as twice a month, to measure factors such as albumin, glucose, and platelet count. CTR may also be measured periodically, such as monthly. Dynamic information may also be recorded during a dialysis session, for example, using sensors on the dialysis machine 204. The dynamic information may be modeled as a time series over each frequency.
[0032] Additionally, the system itself may be monitored within a healthcare environment. For example, the operating parameters of a dialysis machine 204 or other system within a hospital or other healthcare facility, along with the history of past events in the system, are often monitored to predict events, as described below. When an event is predicted, corrective action may be taken and / or a system administrator may be notified.
[0033] Referring now to FIG. 3, there is an illustration of event prediction in the context of a healthcare facility 300. Rather than, or in addition to, predicting events in the context of a single patient's care, the present principles may be applied to all systems within the facility. This can be useful for monitoring and treating multiple patients, for example, in response to changing environmental conditions or material shortages. Such facilities may also be vulnerable to cyber-attacks, and predicting events in such situations can help identify and thwart attacks, preserving the facility's ability to treat patients.
[0034] The healthcare facility may include one or more medical professionals 302 that provide event information and system status measurements to the event prediction system 308. The treatment system 304 may further be designed to monitor the patient's condition, generate a medical record 306, and automatically administer and adjust treatment as needed.
[0035] Based on information drawn from at least medical professionals 302, treatment systems 304, and medical records 306, event prediction system 308 can predict events and can automatically respond to prevent or mitigate the predicted events. For example, corrective action may be taken and / or facility administrators may be notified. If administrators are notified, the event predictions can be used to assist in decision-making by hospital administrators.
[0036] The different elements of the healthcare facility 300 can communicate with each other over a network 310, for example, using any suitable wired or wireless communication protocol and medium. Thus, the output of the event prediction system 308 can access remotely stored medical records 306, communicate with the treatment system 304, receive instructions for the medical professional 302, and send reports.
[0037] 4, event prediction using time series information and event sequence information is illustrated. The input may include a multivariate time series 402, for example, combining multiple time series from different sensors. The input may further include a multi-type event sequence 404, which may indicate the type of event, the time the event occurred, and other suitable information related to the event. The multi-type event sequence may include multiple different types of events.
[0038] The encoder 406 embeds the inputs into a latent space, generating a set of features that represent the combined inputs 402 and 404. Each input generates a respective feature vector, which can be aggregated in 408 to create a context vector. The encoder(s) 406 can include a transformer with a stack of self-attention and cross-attention layers that fuse information between different time steps from each sequence. For a time series encoder, the input sequence can be a concatenation of timestamp embeddings and embedded metric value vectors. For an event sequence encoder, the input can be a concatenation of embeddings representing various data of the logged events (e.g., a template type embedding vector, a parameter embedding vector, and a time embedding vector). The hidden states from each time step of each sequence are then concatenated and passed to the aggregation network 408. The aggregation network 408 can include a self-attention layer that combines information from all time steps of both streams and outputs a context vector. The aggregation network 408 accepts the concatenation of two sequences of output states from the encoder 406.
[0039] The context vector may be used as an input to one or more of the intensity function 410 and the density function 412. The output of the intensity function 410 and / or the density function 412 is an event prediction 414.
[0040] 5, a method for predicting and proactively addressing events is shown. Block 502 obtains a set of training data, which may include system measurement time series and time-stamped event sequences, and trains a machine learning model to predict events, as described in more detail below. The trained model is then deployed 504 to an installation, such as a cyber-physical system management system 106 or a healthcare analytics system.
[0041] New data, including event information and multivariate time series information, may be collected from the devices in block 506. This new data represents the operating state of the system and its specific event history. The trained model is used to predict events associated with the system in block 508. For example, this event prediction may relate to an expected system malfunction or an adverse health event.
[0042] Block 510 then executes actions to prevent or mitigate harm from the predicted event. In the context of a cyber-physical system 102, actions may include executing an automated response to address one or more subsystems expected to be associated with the predicted event. For example, actions may include changing environmental parameters to prevent overheating or shutting down a subsystem to prevent damage.
[0043] In the patient's 202 situation, if the predicted event is an adverse health event, the treatment may include automatic adjustments to therapy, such as adjusting the operation of the dialysis machine 204, adjusting the dosage of an intravenously administered medication, or stopping a procedure deemed unsafe.
[0044] 6, details of training 502 are shown. Block 602 acquires a training data set including synchronized system measurement time series and time-stamped system event sequences. Block 604 analyzes the event messages in the system event sequences to identify the event type from each message, for example, by representing each different type of event as a different integer value.
[0045] The training data can be divided into context windows, for example, using overlapping windows of fixed length. Each training sample corresponds to a time series segment x within the window. i , the event subsequence in the window v i , the event immediately following the window (time t i Type u in i ) are obtained from each time window.
[0046] Block 606 determines feature vectors for the training examples. The training examples may be suitably sampled from the training data, and the feature vectors may be computed using the encoder 406 and the aggregation network 408. The encoder may include two separate transformation networks, one for the multivariate time series and one for the event sequence. The shared temporal embedding layer may be trained using a time-vector encoder that converts timestamps into vectors.
[0047] The multivariate time series is first processed by a one-dimensional convolutional layer, and the result for each timestamp is concatenated with the corresponding time embedding vector before being input to the encoder 406. The event sequence may first be parsed by a log parser to decompose each event message into a template and parameters. For example, the message "ESMCommonService has transitioned to the stopped state" may be converted into a template "[*]has transitioned to the stopped state" and a parameter "ESMCommonService". A template embedding layer and a parameter embedding layer are trained to convert the template and parameters into vectors, respectively. For each event in the sequence, the template embedding vector, parameter embedding vector, and time embedding vector are concatenated and used as the input of the transform encoder.
[0048] The aggregation network 408 is a stack of self-attention layers. The hidden state of the time-series transform encoder at the last time step is the latent vector
number
number
[0049] Block 608 determines the log-likelihood of the training examples using, for example, an intensity function 410 or a density function 412 modeled by a neural point process. The model parameters are adjusted 610, for example, using stochastic gradient descent, to maximize the log-likelihood of the true next event in terms of both type and time. This process is repeated until the model parameters converge.
[0050] The determination of the log-likelihood in block 608 depends on the modeling function used. The intensity function 410 is a conditional intensity function λ for each event type u and the time to the next event t. u (t). The intensity function represents the expected number of events in an infinitesimal time period, and can determine the probability of the time and type of the next event. This function is generated by the context vector, using a soft activation function.
number
number
number
number
number
number
[0051] Block 608 may alternatively model the time probability and the event type probability independently using density function 412. The time probability is modeled by estimating a conditional density function instead of an intensity function. Density Distribution
number
number
number
number
number
number
[0052] The type probability is
number
number
number
number
number
number
number
number
[0053] After the model is trained and deployed, at time t, the events and time series within a fixed-size context window preceding t are input to the model. The model outputs an intensity or density function value for the next event type and time. This information can be used to support downstream decisions such as predictive maintenance. If a prediction of the most likely event time and type is required, the intensity or density function can be used to obtain that information.
[0054] If the intensity function 410 is used, the predicted next event time
number
number
number
number
[0055] When a density function 412 is used, the predicted next event time is calculated by the component means
number
number
[0056] Events and time series readings may further be ranked for the context window according to their attention weight in the aggregation network 408. The top ranked results are returned as the important events and measurements that most influence the predicted event. This information can help identify the root cause of a failure event or the cause of an adverse health effect.
[0057] 7, an exemplary computing device 700 is shown, in accordance with an embodiment of the present invention. The computing device 700 is configured to perform event prediction.
[0058] Computing device 700 may be embodied as any type of computational or computing device capable of performing the functions described herein, such as, but not limited to, a computer, a server, a rack-based server, a blade server, a workstation, a desktop computer, a laptop computer, a notebook computer, a tablet computer, a mobile computing device, a wearable computing device, a network appliance, a web appliance, a distributed computing system, a processor-based system, and / or a user electronic device. Additionally or alternatively, computing device 700 may be embodied as one or more compute sleds, memory sleds, or other racks, sleds, computing chassis, or other components of a physically separated computing device.
[0059] 7, computing device 700 illustratively includes a processor 710, an input / output subsystem 720, a memory 730, a data storage device 740, and a communications subsystem 750, and / or other components and devices typically found in a server or similar computing device. In other embodiments, computing device 700 may include other or additional components (e.g., various input / output devices) such as those typically found in a server computer. Furthermore, in some embodiments, one or more of the illustrative components may be incorporated into or otherwise form part of another component. For example, memory 730, or portions thereof, may be incorporated into processor 710 in some embodiments.
[0060] The processor 710 may be embodied as any type of processor capable of performing the functions described herein, and may be embodied as a single processor, multiple processors, a central processing unit (CPU), a graphics processing unit (GPU), a single or multi-core processor, a digital signal processor, a microcontroller, or other processor or processing / control circuitry.
[0061] Memory 730 may be embodied as any type of volatile or non-volatile memory or data storage capable of performing the functions described herein. During operation, memory 730 may store various data and software used during operation of computing device 700, such as an operating system, applications, programs, libraries, and drivers. Memory 730 is communicatively coupled to processor 710 via I / O subsystem 720 and may be embodied as circuits and / or components for facilitating input / output operations with processor 710, memory 730, and other components of computing device 700. For example, I / O subsystem 720 may be embodied as or otherwise include a memory controller hub, an input / output control hub, a platform controller hub, integrated control circuitry, firmware devices, communication links (e.g., point-to-point links, bus links, wires, cables, light guides, printed circuit board traces, etc.), and / or other components and subsystems for facilitating input / output operations. In some embodiments, I / O subsystem 720 may form part of a system-on-chip (SOC) and be integrated with processor 710, memory 730, and other components of computing device 700 on a single integrated circuit chip.
[0062] The data storage device 740 may be embodied as any type of device or device configured for short-term or long-term storage of data, such as, for example, a memory device and circuitry, a memory card, a hard disk drive, a solid-state drive, or other data storage device. The data storage device 740 may store program code 740A for training a model, program code 740B for predicting events, and / or program code 740C for executing corrective actions in response to predicted events. The communications subsystem 750 of the computing device 700 may be embodied as any network interface controller or other communications circuitry, device, or collection thereof that can enable communications between the computing device 700 and other remote devices over a network. The communications subsystem 750 may be configured to achieve such communications using any one or more communications technologies (e.g., wired or wireless communications) and associated protocols (e.g., Ethernet, InfiniBand, Bluetooth, Wi-Fi, WiMAX, etc.).
[0063] As shown, computing device 700 may also include one or more peripheral devices 760. Peripheral devices 760 may include any number of additional input / output devices, interface devices, and / or other peripheral devices. For example, in some embodiments, peripheral devices 760 may include a display, a touch screen, graphics circuitry, a keyboard, a mouse, a speaker system, a microphone, a network interface, and / or other input / output devices, interface devices, and / or peripheral devices.
[0064] Of course, computing device 700 may include other elements (not shown) or omit certain elements, as would readily occur to one skilled in the art. For example, various other sensors, input devices, and / or output devices may be included in computing device 700, depending on the particular implementation of the same, as would be readily understood by one skilled in the art. For example, various types of wireless and / or wired input and / or output devices may be used. Furthermore, additional processors, controllers, memory, etc. may be utilized in a variety of configurations. These and other variations of processing system 700 will be readily contemplated by one skilled in the art in view of the teachings of the present invention provided herein.
[0065] 8 and 9, exemplary neural network architectures are shown that can be used to implement portions of the present model, such as encoder 406. Neural networks are generalized systems whose functionality and accuracy improves with exposure to additional empirical data. Neural networks learn by exposure to empirical data. During training, the neural network stores and adjusts weights that are applied to input empirical data. Applying the adjusted weights to the data can identify that data belongs to a specific predefined class from a set of classes and output the probability that the input data belongs to each class.
[0066] Empirical data (also called training data) from a set of examples is formatted as a string of values and fed to the input of a neural network. Each example is associated with a known outcome or output. Each column is represented as an (x,y) pair, where x represents the input data and y represents the known output. The input data can be of various data types and contain multiple different values. The network can have one input node for each value that makes up the example input data, and a separate weight can be applied to each input value. The input data can be formatted, for example, as a vector, array, or string, depending on the architecture of the neural network being built and trained.
[0067] Neural networks "learn" by comparing neural network outputs generated from input data with known values from examples and adjusting stored weights to minimize the difference between the output value and the known value. Adjustments can be made to the stored weights through backpropagation, where the weight's influence on the output value is determined by calculating a mathematical gradient and adjusting the weight in a way that shifts the output toward the minimum difference. This optimization, called gradient descent, is a non-limiting example of how training occurs. A subset of examples with known values that were not used in training can be used to test and validate the accuracy of the neural network.
[0068] During operation, a trained neural network can be used on new data not previously used for training or validation through generalization. The adjusted neural network weights can be applied to the new data, and the weights estimate the function developed from the training examples. The parameters of the estimated function, captured by the weights, are based on statistical inference.
[0069] In a layered neural network, nodes are arranged in layers. An exemplary simple neural network has an input layer 820 of source nodes 822 and a single computational layer 830 with one or more computational nodes 832 that also function as output nodes, with a single computational node 832 for each possible category into which an input example may be classified. The input layer 820 may have a number of source nodes 822 equal to the number of data values 812 in the input data 810. The data values 812 in the input data 810 may be represented as a column vector. Each computational node 832 in the computational layer 830 generates a weighted linear combination of values from the input data 810 provided to the input node 820 and applies a differentiable nonlinear activation function to the sum. An exemplary simple neural network can perform classification on linearly separable examples (e.g., patterns).
[0070] A deep neural network, such as a multilayer perceptron, may have an input layer 820 of source nodes 822, one or more computational layers 830 with one or more computational nodes 832, and an output layer 840 with one output node 842 for each possible category into which an input example may fall. The input layer 820 may have a number of source nodes 822 equal to the number of data values 812 in the input data 810. The computational nodes 832 in the computational layer 830 are also referred to as hidden layers because they are located between the source nodes 822 and the output nodes 842 and are not directly observed. Each node 832, 842 in the computational layer generates a weighted linear combination of values from the values output by the nodes in the previous layer and applies a nonlinear activation function that is differentiable over the range of the linear combination. The weights applied to the values from each previous node may be, for example, w1, w2, ... w n-i ,w n The output layer provides the network's overall response to the input data. Deep neural networks can be fully connected, where each node in a computational layer is connected to every node in the previous layer, or the connections between layers can have other configurations. If links between nodes are missing, the network is said to be partially connected.
[0071] Training a deep neural network involves two phases: a forward phase, in which the weights of each node are fixed and inputs are propagated through the network, and a backward phase, in which error values are propagated back through the network and the weight values are updated.
[0072] Computational nodes 832 in one or more computational (hidden) layers 830 perform nonlinear transformations on the input data 812 to generate a feature space. Classes or categories may be more easily separated in the feature space than in the original data space.
[0073] The embodiments described herein may be entirely hardware, entirely software, or contain both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
[0074] Embodiments may include a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. A computer-usable or computer-readable medium may include any apparatus that stores, communicates, propagates, or transports a program for use by or in connection with an instruction execution system, apparatus, or device. The medium may be a magnetic, optical, electronic, electromagnetic, infrared, or semiconductor system (or apparatus or device) or propagation medium. The medium may include computer-readable storage media such as semiconductor or solid-state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), rigid magnetic disks, and optical disks.
[0075] Each computer program can be tangibly stored on a machine-readable storage medium or device (e.g., program memory or magnetic disk) readable by a general-purpose or special-purpose programmable computer to configure and control the operation of the computer when the storage medium or device is read by the computer to perform the procedures described herein. The system of the present invention can also be considered to be embodied in a computer-readable storage medium configured with a computer program, where the configured storage medium causes the computer to operate in a particular, predetermined manner to perform the functions described herein.
[0076] A data processing system suitable for storing and / or executing program code may include at least one processor coupled directly or indirectly to memory elements via a system bus. The memory elements may include local memory employed during the actual execution of the program code, bulk storage, and cache memory that provides temporary storage of at least some program code to reduce the number of times the code is retrieved from bulk storage during execution. Input / output or I / O devices (including but not limited to keyboards, displays, pointing devices, etc.) may be coupled to the system either directly or through intervening I / O controllers.
[0077] Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the types of network adapters currently available.
[0078] As employed herein, the terms “hardware processor subsystem” or “hardware processor” can refer to a processor, memory, software, or combination thereof that cooperate to perform one or more specific tasks. In useful embodiments, a hardware processor subsystem may include one or more data processing elements (e.g., logic circuits, processing circuits, instruction execution devices, etc.). The data processing elements may be included in a central processing unit, a graphics processing unit, and / or a separate processor- or computing element-based controller (e.g., logic gates, etc.). A hardware processor subsystem may include one or more on-board memories (e.g., cache, dedicated memory array, read-only memory, etc.). In some embodiments, a hardware processor subsystem may include one or more memories (e.g., ROM, RAM, basic input / output system (BIOS), etc.) that may be on-board or off-board or dedicated for use by the hardware processor subsystem.
[0079] In some embodiments, the hardware processor subsystem may include and execute one or more software elements, which may include an operating system and / or one or more applications and / or specific code for achieving a specified result.
[0080] In other embodiments, the hardware processor subsystem may include dedicated, specialized circuitry that performs one or more electronic processing functions to achieve a specified result. Such circuitry may include one or more application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and / or programmable logic arrays (PLAs).
[0081] These and other variations of the hardware processor subsystem are also contemplated in accordance with embodiments of the present invention.
[0082] References herein to "one embodiment" or "one embodiment" of the present invention, as well as other variations thereof, mean that a particular feature, structure, characteristic, etc. described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrase "in one embodiment" or "in one embodiment," as well as any other variations thereof, in various places throughout this specification do not necessarily all refer to the same embodiment. However, it should be understood that features of one or more embodiments may be combined given the teachings of the present invention provided herein.
[0083] For example, in the case of "A / B," the use of any of the following " / ," "and / or," "at least one," such as "A and / or B" or "at least one of A and B" will be understood to be intended to encompass the selection of only the first listed alternative (A), or the selection of only the second listed alternative (B), or the selection of both alternatives (A and B). As a further example, in the case of "A, B, and / or C" and "at least one of A, B, and C," such language is intended to encompass the selection of only the first listed alternative (A), or the selection of only the second listed alternative (B), or the selection of only the third listed alternative (C), or the selection of only the first and second listed alternatives (A and B), the selection of only the first and third listed alternatives (A and C), the selection of only the second and third listed alternatives (B and C), or the selection of all three alternatives (A, B, and C). This can be expanded as many times as there are listed items.
[0084] The foregoing is understood in all respects to be illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is to be determined not from the detailed description, but from the claims which are interpreted in accordance with the full breadth permitted by the patent laws. It will be understood that the embodiments shown and described herein are merely exemplary of the invention, and that those skilled in the art could make various modifications without departing from the scope and spirit of the invention. Various other feature combinations could be implemented by those skilled in the art without departing from the scope and spirit of the invention. Having thus described aspects of the invention with the detail and particularity required by the patent laws, what is desired to be claimed and protected by Letters Patent is set forth in the appended claims.
Claims
1. 1. A computer-implemented method for event prediction, comprising: encoding 506 the multivariate time series and the multiple types of event sequences using respective transformers and aggregation networks to generate feature vectors; performing event prediction using the feature vector (508) to identify the next event to occur in the system; and performing (510) a corrective action corresponding to the subsequent event to prevent or mitigate an effect of the subsequent event.
2. 10. The method of claim 1, A method for performing event prediction using a softplus function of the feature vector and an intensity function including the next arrival time.
3. 10. The method of claim 1, A method for performing event prediction using density functions that model time and type probabilities independently.
4. 10. The method of claim 1, The transformer and the aggregation network are trained using deep learning with a set of training data including synchronized time series information and time-stamped event sequences.
5. 10. The method of claim 1, The aggregation network includes a stack of self-attention layers that convert the output of each transformer into the feature vector.
6. 10. The method of claim 1, The method wherein the hidden states of the transformer of the multivariate time series are used as latent vectors in the event prediction.
7. 10. The method of claim 1, Further, a method for determining a ranked list of past events and time series measurements that most influence the predicted event according to attention weights from the aggregation network.
8. 10. The method of claim 1, The method further comprising reporting the following events to a health care professional to assist in health care decision making:
9. 10. The method of claim 1, The method wherein performing the corrective action includes an action selected from the group consisting of changing security settings of an application or hardware component, changing operating parameters of an application or hardware component, stopping and / or restarting an application, stopping and / or restarting a hardware component, changing environmental conditions, and changing the state or settings of a network interface.
10. 1. A system for event prediction, comprising: a hardware processor (710); a memory (740) for storing a computer program, the computer program, when executed by the hardware processor, causing the hardware processor to: encoding 506 the multivariate time series and the multiple types of event sequences using respective transformers and aggregation networks to generate feature vectors; performing event prediction using the feature vector (508) to identify the next event to occur in the system; and performing (510) corrective actions corresponding to the next event to prevent or mitigate the effects of the next event.
11. 11. The system of claim 10, A system for performing event prediction using a softplus function of the feature vector and an intensity function including a next arrival time.
12. 11. The system of claim 10, A system that performs event prediction using density functions that independently model time and type probabilities.
13. 11. The system of claim 10, The system, wherein the transformers and the aggregation network are trained using deep learning with a set of training data including synchronized time series information and time-stamped event sequences.
14. 11. The system of claim 10, The aggregation network includes a stack of self-attention layers that convert the output of each transformer into the feature vector.
15. 11. The system of claim 10, The system wherein the hidden states of the transformer of the multivariate time series are used as latent vectors in the event prediction.
16. 11. The system of claim 10, Further, the system determines a ranked list of historical events and time series measurements that most influence said predicted event.
17. 17. The system of claim 16, The system performs determining a ranked list according to attention weights from the aggregation network.
18. 11. The system of claim 10, A system for performing the corrective action, which includes actions selected from the group consisting of changing security settings of an application or hardware component, changing operating parameters of an application or hardware component, stopping and / or restarting an application, stopping and / or restarting a hardware component, changing environmental conditions, and changing the state or settings of a network interface.
19. 1. A method for administering a treatment, comprising: measuring 506 time series information about the patient; encoding 506 the time series information and the patient's health event sequence using respective transformers and aggregation networks to generate a feature vector; performing event prediction using the feature vector (508) to identify the next health event to occur in the system; and implementing (510) a corrective action corresponding to the subsequent health event to prevent or mitigate adverse health consequences of the subsequent health event.
20. 20. The method of claim 19, The method, wherein taking corrective action comprises an action selected from the group consisting of adjusting the operation of the dialysis machine, adjusting the dosage of an intravenous medication, and ceasing treatment.
Citation Information
Patent Citations
Learning device, abnormality detection device, learning method, abnormality detection method, and program
JP2022046177A
Reservoir tank for brake system
KR102719098B1
Anomaly detection in multidimensional time series data
US20190147300A1
Methods and systems for predicting time of server failure using server logs and time-series data
US20220103444A1
Abnormality detection device, abnormality detection method, and program
WO2021100179A1