A method for determining symptom relationships using acceptance and rejection of random samples

Through dynamic sampling and adaptive adjustment methods, the inefficiency problem of calculating the probability of symptom-disease relationship in Bayesian binary network is solved, and more efficient and accurate calculation results are achieved.

CN113906418BActive Publication Date: 2025-01-07TENCENT AMERICA LLC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202080027512.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-02-15
Filing Date
2020-02-11
Publication Date
2025-01-07
Estimated Expiration
2040-02-11

Smart Images

  • Figure CN113906418B_ABST
    Figure CN113906418B_ABST
Patent Text Reader

Abstract

A method and apparatus are provided, the method comprising: iteratively sampling a plurality of candidates from a plurality of medical records and evaluating whether a candidate from the plurality of candidates better explains an element from the plurality of medical records. The iterations replace the elements with the plurality of candidates and weights may be assigned in the next iteration based on whether the plurality of candidates better explain the elements from the plurality of medical records.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Application No. 16 / 277,430, filed on February 15, 2019, the disclosure of which is incorporated herein by reference in its entirety. Background Art

[0003] 1. Field

[0004] The disclosed subject matter relates to a novel sampling algorithm for learning probabilistic relationships between symptoms and diseases from large sets of electronic health records.

[0005] 2. Description of Related Technology

[0006] The health care sector generates a large number of records about patients' symptoms and diagnosed diseases. It is a common challenge to summarize useful and concise knowledge from a large number of such records. One approach is to use a Bayesian bipartite network that models the causal relationship between symptoms and diseases. Under this Bayesian framework, the aforementioned challenge becomes to learn the network weights from the symptom-diagnosis records.

[0007] Thus, for example, techniques in the Bayesian bipartite network framework require learning the probability of a symptom given a diagnosed disease from the symptom-disease diagnosis record.

[0008] In some computer environments, the implementation of Bayesian probabilities learned, for example in symptom-disease relationships, has many technical issues, such as tabu adaptivity and delays by using No U-Turn Sampling (NUTS) or Markov Chain Monte Carlo (MCMC) methods.

[0009] Therefore, it is hoped that a technical solution can avoid such a less adaptable and slower implementation. Summary of the invention

[0010] In light of previous attempts to predict symptom-disease Bayesian probabilities, where such attempts have primarily focused on binary predictions, the subject matter disclosed herein is a novel discriminative processing of learned probabilities, including dynamic decisions to accept or reject samples.

[0011] In an exemplary embodiment, there is an apparatus comprising: at least one memory configured to store computer program code; and at least one hardware processor configured to access the computer program code and operate according to the instructions of the computer program code. The computer program code includes an acquisition code, the acquisition code is configured to cause the at least one hardware processor to acquire a plurality of medical records. The computer program code further includes a sampling code, the sampling code is configured to cause the at least one hardware processor to iteratively sample each of a plurality of candidates of a probability interaction matrix between a plurality of symptoms and a plurality of diseases indicated by the plurality of medical records. The computer program code further includes an evaluation code, the evaluation code is configured to cause the at least one hardware processor to evaluate whether the first candidate is more likely than an element of the matrix in a prior distribution of the first candidate of the plurality of symptoms and the plurality of diseases under a set of Bayesian probabilities and for a first subset of the plurality of medical records, the first subset including all medical records indicating a first disease of the plurality of diseases. The computer program code further includes replacement code configured to cause the at least one hardware processor to replace elements of the matrix with the first candidate and start a next iteration when, under a set of Bayesian probabilities and for a first subset of multiple medical records, it is determined in a prior distribution of the first candidate that the first candidate is more likely than the element of the matrix, and to replace elements with the first candidate and start a next iteration with different weights when, under a set of Bayesian probabilities and for a first subset of multiple medical records, it is determined in a prior distribution of the first candidate that the first candidate is less likely than the element of the matrix.

[0012] In an exemplary embodiment, at least one hardware processor is further configured to, before evaluating whether a first candidate for a plurality of symptoms and a plurality of diseases is more likely than an element of a matrix, implement: generating a random variable, the random variable comprising a truncated normal distribution centered on an element of the matrix from a previous iteration of a plurality of previous iterations; and extracting a first candidate from the random variable.

[0013] In an exemplary embodiment, the variance of the random variable is adaptively changed based on a plurality of previous iterations, and the matrix comprises an n×m matrix, wherein n represents the number of symptoms and m represents the number of diseases. In addition, at least a plurality of symptoms overlap between a first subset of the plurality of medical records and a second subset of the plurality of medical records, the second subset comprising all medical records indicating a second disease in the plurality of diseases.

[0014] In an exemplary embodiment, at least one hardware processor is further configured to implement in a next iteration: under a set of Bayesian probabilities and for a first subset of multiple medical records, evaluating whether a second candidate is more likely than an element of a matrix in a prior distribution of second candidates for multiple symptoms and multiple diseases; when, under a set of Bayesian probabilities and for a first subset of multiple medical records, it is determined in the prior distribution of the second candidate that the second candidate is more likely than an element of the matrix, replacing the element of the matrix with the second candidate and starting a second next iteration; and when, under a set of Bayesian probabilities and for a first subset of multiple medical records, it is determined in the prior distribution of the second candidate that the second candidate is less likely than an element of the matrix, replacing the element with the second candidate and starting a second next iteration with a second different weight.

[0015] In an exemplary embodiment, at least one hardware processor is further configured to implement, before a second next iteration, the following: determining a first probability density function for each of a plurality of elements of a matrix before replacing the element with a first candidate; determining a second probability density function for each of a plurality of elements of a matrix after replacing the element with the first candidate; determining a first change between the first probability density function and the second probability density function; determining a third probability density function for each of a plurality of elements of a matrix after replacing the element with a second candidate; determining a second change between the first probability density function and the third probability density function; and preventing the second next iteration when it is determined that the difference between the first change and the second change is less than a predetermined threshold.

[0016] In an exemplary embodiment, the at least one hardware processor is further configured to implement: determining the first variation and the second variation by measuring Kullback-Leibler (KL) divergence.

[0017] In an exemplary embodiment, at least one of the hardware processors is further configured to, before determining the difference and before a next iteration or another subsequent iteration, implement: determining whether a user instruction has been received to stop iteratively sampling each of a plurality of candidates; and preventing the next iteration or a second next iteration when it is determined that a user instruction has been received.

[0018] In an exemplary embodiment, at least one hardware processor is further configured to implement, before the next iteration or the second next iteration: determining whether a user instruction has been received to stop iteratively sampling each of the plurality of candidates; and preventing the next iteration or the second next iteration when it is determined that the user instruction has been received. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Further features, nature and various advantages of the disclosed subject matter will become more apparent from the following detailed description and the accompanying drawings, in which:

[0020] Figure 1 is a schematic illustration of a simplified block diagram of a system according to an embodiment.

[0021] Figure 2 is a schematic illustration of a simplified flow chart of a communication system according to an embodiment.

[0022] Figure 3 is a schematic illustration of a simplified flow chart of a communication system according to an embodiment.

[0023] Figure 4 is a schematic illustration of a simplified block diagram of a system according to an embodiment. DETAILED DESCRIPTION

[0024] Figure 1 1 shows a simplified block diagram of a communication system 100 according to an embodiment of the present disclosure. The system 100 includes a database 102 that stores various medical data 101, such as symptoms and diagnoses from multiple patients. The database 102 may be connected to a terminal device 103 via a network (e.g., a local or global network), or the database 102 may be incorporated into the terminal device 103. The details of the terminal device 103 are described below. Figure 4 Further description.

[0025] In various cases, for example, when new diagnostic data is created at the terminal device 103, the medical data 101 may be added to the database 102. The terminal device 103 may further analyze the medical data 101, such as regarding Figure 2 According to an exemplary embodiment, the terminal device 103 may be a server that distributes the result of considering the medical data 101 to other terminal devices.

[0026] Figure 2 A flowchart 200 is shown that can improve the above technical problems. In S201, the terminal device 103 accesses the disease diagnosis record and the current Bayesian network. For example, in such a network, Q can be considered to be an n×m matrix, which represents the probability interaction between n symptoms and m diseases (or disease diagnoses).

[0027] According to an exemplary embodiment and due to the probabilistic nature, it can be assumed that for all applicable data i, j, 0≤Q(i, j)<1. In addition, there may be many diagnosis records from the medical data 101, each of which associates a disease with a list of symptoms: L = {(d1, s 1,1 ,s 1,2 ,...),(d2,s 2,1 ,s 2,2 ,...),...}. Each d i ∈{1,2,...,m} and si,j ∈{1,2,...,n}, since the number of diagnosis records can exceed mn, each symptom can appear again and overlap.

[0028] At S202, the terminal device 103 distinguishes the available Bayesian probabilities. >0,1 ={(i,j)|q(i,j)>0},Q >0,2 can be every pair (s i,j ,d i ) and Q >0 It can be Q >0,1 and Q >0,2 The union of >0 represents the known Bayesian probability, and where Q >0,1 and Q >0,2 It is possible to define how to differentiate these probabilities.

[0029] According to an exemplary embodiment, this differentiation of these probabilities may be achieved by being reluctant to upgrade unlikely probabilities and by liberally upgrading or downgrading likely probabilities.

[0030] In S203, sampling processing is performed, and the terminal device 103 gives each element Q(i,j)∈Q >0 Extract samples at each known probability. Figure 2 In each iteration of >0 , a random variable (rv) is proposed. rv can usually be a truncated (between 0 and 1) normal distribution, centered around Q(i,j) from the previous iteration, and its variance can be adaptively changed based on statistics from past iterations.

[0031] Sample p can be extracted from this rv ij As a candidate to replace the current Q(i,j) in the Q matrix. When evaluating the candidate p ij When the diagnosis record set L is considered as a subset of the symptom list L at S204 j Whether to accept the sample p ij .

[0032] For example, L j May include information about the disease j All records of the newly sampled p ij Together with the rest of Q, L can be better explained j (such as discussed below), then at S205, Q(i,j)=p ij .

[0033] Or, if the newly sampled p ijL cannot be better explained together with the rest of Q j , then in S206, Q(i,j)=p ij And has probability weight a<1.

[0034] As the new sample p ij Can't L be better explained together with the rest of Q? j An exemplary embodiment of may consider whether an observed diagnosis record from medical data 101 is more likely or more appropriate under a particular set of Bayesian probabilities, and may also consider the likelihood of the sampled probability in its own prior distribution. >0,1 and Q >0,2 The distinction between them can be made by using Q >0,1 Prioritizes Q >0,2 to achieve.

[0035] When for each element Q(i,j)∈Q >0 After multiple processes of determining acceptance or rejection, one sample iteration is completed and the next sample iteration can begin, so an iterative process of determining acceptance or rejection can be performed.

[0036] Figure 3 A flow chart 300 is shown in which sampling iterations may be stopped. For example, at S301, it may be considered whether there is an external instruction for the terminal device 103 to stop iterations, such as when a practitioner may deem that there are enough samples. If so, iterative sampling may be stopped at S304.

[0037] Alternatively, if there is no external instruction to stop at S301, the iterative sampling may continue at S302 taking into account various metrics, such as due to one or more p of the new sample. ij The amount by which the population sample distribution (e.g., probability density function (PDF)) of Q(i,j) changes due to the value of

[0038] In S303, while continuing to sample and accept new p ij While changing the value, it may be considered whether the total PDF of Q(i,j) remains substantially the same or less than a predetermined threshold, and if so, it may be determined to stop iterative sampling in S303. According to an exemplary embodiment, the change of PDF may be measured, for example, by Kullback-Leibler (KL) divergence.

[0039] according to Figure 2 and Figure 3 The embodiments of the present application can accept or reject samples based on the above dynamic decision making, thus improving the technology in the art by providing a more effective and adaptive strategy for evidence-based diagnosis and increased performance and accuracy compared to slower NUTS or MCMC methods. For example, in Figure 2 and Figure 3 At each step of , a visualization can be provided to indicate the KL divergence between the current PDF and the previous step PDF, and in a graph including the divergence for each such step, the divergence can ideally decrease to zero as the number of steps increases. In addition, a visualization of the network can be provided, the visualization including all Q(i,j) values, with some edges added, removed, and / or enhanced.

[0040] According to an exemplary embodiment, such features can be combined with a Quick Medical Reference (QMR) network, a Bayesian network, a Noise-OR network, an MCMC sampling scheme, a Gibbs sampling scheme, and an MH (Metropolis-Hastings) sampling scheme. For the QMR network, an online description for the Unified Medical Language System (UMLS) is provided.

[0041] The techniques described below may be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media. Figure 4 A computer system 400 suitable for implementing certain embodiments of the disclosed subject matter is shown.

[0042] Computer software may be encoded using any suitable machine code or computer language that may be subjected to assembly, compilation, linking or similar mechanisms to create code comprising instructions that may be executed directly by one or more computer central processing units (CPUs), graphics processing units (GPUs), etc., or through interpretation, microcode, etc.

[0043] The instructions may be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smart phones, gaming devices, IoT devices, etc.

[0044] Figure 4 The components of the computer system 400 shown are exemplary in nature and are not intended to suggest any limitation on the scope of use or functionality of computer software implementing embodiments of the present disclosure. The configuration of the components should also not be interpreted as having any dependency or requirement related to any one or combination of components shown in the exemplary embodiment of the computer system 400.

[0045] Computer system 400 may include certain human-machine interface input devices. Such human-machine interface input devices may be responsive to input from one or more human users, for example, through: tactile input (e.g., keystrokes, swipes, data glove movements), audio input (e.g., voice, clapping), visual input (e.g., gestures), olfactory input (not depicted). Human-machine interface devices may also be used to capture certain media that are not necessarily directly related to human conscious input, such as audio (e.g., voice, music, ambient sounds), images (e.g., scanned images, photographic images obtained from a still image camera), and videos (e.g., two-dimensional video, three-dimensional video including stereoscopic video).

[0046] The input human interface device may include one or more of the following (only one of each is shown): keyboard 401 , mouse 402 , touch pad 403 , touch screen 410 , joystick 405 , microphone 406 , scanner 407 , camera 408 .

[0047] The computer system 400 may also include certain human-machine interface output devices. Such human-machine interface output devices may stimulate one or more human user senses, for example, through tactile output, sound, light, and smell / taste. Such human-machine interface output devices may include tactile output devices (e.g., tactile feedback of a touch screen 410, or joystick 405, but may also be a tactile feedback device that is not an input device), audio output devices (e.g., speakers 409, headphones (not depicted)), visual output devices (e.g., screens 410 including CRT screens, LCD screens, plasma screens, OLED screens, each with or without touch screen input capabilities, each with or without tactile feedback capabilities - some of which are capable of outputting two-dimensional visual outputs or more than three-dimensional outputs through devices such as stereoscopic image output, virtual reality glasses (not depicted), holographic displays and smoke boxes (not depicted), and printers (not depicted).

[0048] The computer system 400 may also include human-accessible storage devices and their associated media: for example, optical media including CD / DVD ROM / RW 420 with CD / DVD etc. media 421, thumb drive 422, removable hard drive or solid state drive 423, traditional magnetic media such as tapes and floppy disks (not depicted), dedicated ROM / ASIC / PLD based devices such as security dongles (not depicted), etc.

[0049] Those skilled in the art should also understand that the term "computer-readable media" used in connection with the presently disclosed subject matter does not encompass transmission media, carrier waves, or other transient signals.

[0050] The computer system 400 may also include an interface to one or more communication networks. The network may be, for example, a wireless network, a wired network, an optical network. The network may further be a local network, a wide area network, a metropolitan area network, a vehicle and industrial network, a real-time network, a delay-tolerant network, etc. Examples of networks include local area networks such as Ethernet, wireless LANs, cellular networks including GSM, 3G, 4G, 5G, LTE, etc., television wired or wireless wide area digital networks including cable television, satellite television, and terrestrial broadcast television, vehicles and industrial televisions including CANBus, etc. Some networks typically require an external network interface adapter (e.g., a USB port of the computer system 400) connected to some universal data port or peripheral bus (449); as described below, other network interfaces are typically integrated into the kernel of the computer system 400 by connecting to the system bus (e.g., connecting to an Ethernet interface in a PC computer system or connecting to a cellular network interface in a smartphone computer system). The computer system 400 can use any of these networks to communicate with other entities. Such communications may be one-way receive only (e.g., broadcast television), one-way send only (e.g., a CANbus connected to certain CANbus devices), or bidirectional, for example, using a LAN or WAN digital network to connect to other computer systems. As described above, certain protocols and protocol stacks may be used on each of those networks and network interfaces.

[0051] The above-mentioned human-machine interface device, human-machine accessible storage device, and network interface may be attached to the kernel 440 of the computer system 400 .

[0052] The core 440 may include one or more central processing units (CPUs) 441, graphics processing units (GPUs) 442, dedicated programmable processing units in the form of field programmable gate arrays (FPGAs) 443, hardware accelerators 444 for certain tasks, and the like. These devices, as well as read-only memory (ROM) 445, random access memory 446, internal mass storage 447 such as internal non-user accessible hard disk drives, SSDs, and the like, may be connected via a system bus 448. In some computer systems, the system bus 448 may be accessed in the form of one or more physical plugs to enable expansion by additional CPUs, GPUs, and the like. Peripheral devices may be connected directly to the core's system bus 448 or to the core's system bus 448 via a peripheral bus 449. The architecture of the peripheral bus includes PCI, USB, and the like.

[0053] The CPU 441, GPU 442, FPGA 443, and accelerator 444 may execute certain instructions, which may be combined to form the above-mentioned computer code. The computer code may be stored in ROM 445 or RAM 446. Transient data may be stored in RAM 446, while permanent data may be stored, for example, in internal mass storage 447. Fast storage and retrieval to any storage device may be performed by using a cache, which may be closely associated with one or more CPUs 441, GPU 442, mass storage 447, ROM 445, RAM 446, etc.

[0054] The computer readable medium may have thereon computer code for performing various computer-implemented operations. The medium and computer code may be those specially designed and constructed for the purposes of the present disclosure, or the medium and computer code may be of a type well known and available to those skilled in the art of computer software.

[0055] As a non-limiting example, a computer system having architecture 400, particularly kernel 440, may provide functionality due to one or more processors (including CPUs, GPUs, FPGAs, accelerators, etc.) executing software contained in one or more tangible computer-readable media. Such computer-readable media may be media associated with a user-accessible mass storage as described above, as well as some non-temporary memory of kernel 440, such as kernel internal mass storage 447 or ROM 445. Software implementing various embodiments of the present disclosure may be stored in such devices and executed by kernel 440. Depending on specific needs, the computer-readable medium may include one or more storage devices or chips. The software may cause kernel 440, particularly the processors therein (including CPUs, GPUs, FPGAs, etc.) to perform specific processes or specific parts of specific processes described herein, including defining data structures stored in RAM 446 and modifying such data structures according to processes defined by the software. Additionally or alternatively, the computer system may provide functionality due to logic hardwired or otherwise embodied in circuitry (e.g., accelerator 444) that may replace software or operate in conjunction with software to perform specific processes or specific portions of specific processes described herein. Where appropriate, references to portions of software may include logic and vice versa. Where appropriate, references to portions of computer-readable media may include circuitry (e.g., integrated circuits (ICs)) storing software for execution, circuitry embodying logic for execution, or both. The present disclosure includes any suitable combination of hardware and software.

[0056] Although the present disclosure has described a number of exemplary embodiments, there are modifications, permutations, and various replacement equivalents that fall within the scope of the present disclosure. Therefore, it should be understood that those skilled in the art will be able to design many systems and methods that, although not explicitly shown or described herein, embody the principles of the present disclosure and therefore fall within the spirit and scope of the present disclosure.

Claims

1. A computer device comprising: at least one memory configured to store computer program code; at least one hardware processor configured to access the computer program code and operate according to instructions of the computer program code, the computer program code comprising: acquisition code configured to cause the at least one hardware processor to acquire a plurality of medical records; sampling code configured to cause the at least one hardware processor to iteratively sample each of a plurality of candidate matrix elements of a probability interaction matrix between a plurality of symptoms and a plurality of diseases indicated by the plurality of medical records; evaluation code configured to cause the at least one hardware processor to evaluate whether a first candidate for the plurality of symptoms and the plurality of diseases is more likely than an element of the matrix in a prior distribution of the first candidate for the plurality of symptoms and the plurality of diseases under a set of Bayesian probabilities and for a first subset of the plurality of medical records, the first subset comprising all medical records indicating a first disease in the plurality of diseases; Replacement code configured to cause the at least one hardware processor to replace elements of the matrix with the first candidate and start a next iteration when the first candidate is determined to be more likely than an element of the matrix in a prior distribution of the first candidate under the set of Bayesian probabilities and for a first subset of the plurality of medical records, and to replace the element with the first candidate and start the next iteration with a different weight when the first candidate is determined to be less likely than an element of the matrix in a prior distribution of the first candidate under the set of Bayesian probabilities and for the first subset of the plurality of medical records.

2. The computer device according to claim 1, wherein: The computer program code is further configured to, prior to evaluating whether a first candidate of the plurality of symptoms and the plurality of diseases is more likely than an element of the matrix, cause the at least one hardware processor to: generating a random variable comprising a truncated normal distribution centered about the element of the matrix from a previous iteration of a plurality of previous iterations; and The first candidate is extracted from the random variable.

3. The computer device according to claim 2, wherein: The variance of the random variable is adaptively changed based on the plurality of previous iterations.

4. The computer device according to any one of claims 1 to 3, wherein: The matrix comprises an n×m matrix, wherein n represents the plurality of symptoms and m represents the plurality of diseases.

5. The computer device according to any one of claims 1 to 3, wherein: At least a plurality of symptoms overlap between the first subset of the plurality of medical records and a second subset of the plurality of medical records, the second subset comprising all medical records indicating a second disease in the plurality of diseases.

6. The computer device according to any one of claims 1 to 3, wherein: The computer program code is further configured to, in the next iteration: evaluating, under the set of Bayesian probabilities and for the first subset of the plurality of medical records, whether the second candidate is more likely than the element of the matrix in a prior distribution of second candidates for the plurality of symptoms and the plurality of diseases; replacing the element of the matrix with the second candidate and starting a second next iteration when the second candidate is determined in the prior distribution of the second candidate to be more likely than the element of the matrix under the set of Bayesian probabilities and for the first subset of the plurality of medical records; as well as Under the set of Bayesian probabilities and for the first subset of the plurality of medical records, when the second candidate is determined in the prior distribution of the second candidate to be less likely than the element of the matrix, replacing the element with the second candidate and starting the second next iteration with a second different weight.

7. The computer device according to claim 6, wherein: The computer program code is further configured to cause the at least one hardware processor, prior to the second next iteration: determining a first probability density function for each of a plurality of elements of the matrix before replacing the element with the first candidate; determining a second probability density function for each of the plurality of elements of the matrix after replacing the element with the first candidate; determining a first change between the first probability density function and the second probability density function; determining a third probability density function for each of the plurality of elements of the matrix after replacing the element with the second candidate; determining a second amount of change between the first probability density function and the third probability density function; and When it is determined that the difference between the first change amount and the second change amount is less than a predetermined threshold, the second next iteration is prevented.

8. The computer device according to claim 7, wherein: The computer program code is further configured to cause the at least one hardware processor to determine the first variation and the second variation by measuring Kullback-Leibler (KL) divergence.

9. The computer device according to claim 7, wherein: The computer program code is further configured to cause the at least one hardware processor, before determining the difference and before the next iteration or the second next iteration: determining whether a user instruction has been received to stop iteratively sampling each of the plurality of candidate matrix elements; and When it is determined that the user instruction has been received, the next iteration or the second next iteration is prevented.

10. The computer device according to claim 6, wherein: The computer program code is further configured to cause the at least one hardware processor, prior to the next iteration or the second next iteration: determining whether a user instruction has been received to stop iteratively sampling each of the plurality of candidate matrix elements; and When it is determined that the user instruction has been received, the next iteration or the second next iteration is prevented.

11. A method performed by at least one computer processor, comprising: access to multiple medical records; iteratively sampling each of a plurality of candidate matrix elements of a probability interaction matrix between a plurality of symptoms and a plurality of diseases indicated by the plurality of medical records; evaluating, under a set of Bayesian probabilities and for a first subset of the plurality of medical records, whether the first candidate is more likely than an element of the matrix in a prior distribution of first candidates for the plurality of symptoms and the plurality of diseases, the first subset comprising all medical records indicating a first disease in the plurality of diseases; When, under the set of Bayesian probabilities and for a first subset of the plurality of medical records, the first candidate is determined in a prior distribution of the first candidate to be more likely than an element of the matrix, replacing the element of the matrix with the first candidate and starting a next iteration; Under the set of Bayesian probabilities and for a first subset of the plurality of medical records, when the first candidate is determined in a prior distribution of the first candidate to be less likely than an element of the matrix, replacing the element with the first candidate and starting the next iteration with a different weight.

12. The method according to claim 11, further comprising: Before evaluating whether a first candidate of the plurality of symptoms and the plurality of diseases is more likely than an element of the matrix: generating a random variable comprising a truncated normal distribution centered about the element of the matrix from a previous iteration of a plurality of previous iterations; and The first candidate is extracted from the random variable.

13. The method according to claim 12, wherein: The variance of the random variable is adaptively changed based on the plurality of previous iterations.

14. The method according to any one of claims 11 to 13, wherein: The matrix comprises an n×m matrix, wherein n represents the plurality of symptoms and m represents the plurality of diseases.

15. The method according to any one of claims 11 to 13, wherein: At least a plurality of symptoms overlap between the first subset of the plurality of medical records and a second subset of the plurality of medical records, the second subset comprising all medical records indicating a second disease in the plurality of diseases.

16. The method according to any one of claims 11 to 13, further comprising in the next iteration: evaluating, under the set of Bayesian probabilities and for the first subset of the plurality of medical records, whether the second candidate is more likely than the element of the matrix in a prior distribution of second candidates for the plurality of symptoms and the plurality of diseases; When, under the set of Bayesian probabilities and for the first subset of the plurality of medical records, the second candidate is determined in the prior distribution of the second candidate to be more likely than the element of the matrix, replacing the element of the matrix with the second candidate and starting a second next iteration; and Under the set of Bayesian probabilities and for the first subset of the plurality of medical records, when the second candidate is determined in the prior distribution of the second candidate to be less likely than the element of the matrix, replacing the element with the second candidate and starting the second next iteration with a second different weight.

17. The method of claim 16, further comprising, before the second next iteration: determining a first probability density function for each of a plurality of elements of the matrix before replacing the element with the first candidate; determining a second probability density function for each of the plurality of elements of the matrix after replacing the element with the first candidate; determining a first change between the first probability density function and the second probability density function; determining a third probability density function for each of the plurality of elements of the matrix after replacing the element with the second candidate; determining a second amount of change between the first probability density function and the third probability density function; and When it is determined that the difference between the first change amount and the second change amount is less than a predetermined threshold, the second next iteration is prevented.

18. The method according to claim 17, further comprising: The first variation and the second variation are determined by measuring the Kulbeck-Leibler (KL) divergence.

19. The method of claim 16, further comprising, before the next iteration or the second next iteration: determining whether a user instruction has been received to stop iteratively sampling each of the plurality of candidate matrix elements; and When it is determined that the user instruction has been received, the next iteration or the second next iteration is prevented.

20. The method according to claim 11, wherein: Each of the plurality of medical records contains at least one of a different disease among a plurality of diseases and symptoms corresponding to the different disease among the plurality of diseases.

21. A computer-readable medium storing a program for causing a computer to execute the method according to any one of claims 11 to 20.

22. An apparatus for determining symptom relationships, comprising: an acquisition module configured to acquire a plurality of medical records; a sampling module configured to iteratively sample each of a plurality of candidate matrix elements of a probability interaction matrix between a plurality of symptoms and a plurality of diseases indicated by the plurality of medical records; an evaluation module configured to evaluate whether a first candidate of the plurality of symptoms and the plurality of diseases is more likely than an element of the matrix in a prior distribution of the first candidate under a set of Bayesian probabilities and for a first subset of the plurality of medical records, the first subset comprising all medical records indicating a first disease of the plurality of diseases; as well as A replacement module is configured to, under the set of Bayesian probabilities and for a first subset of the multiple medical records, replace the elements of the matrix with the first candidate and start the next iteration when the first candidate is determined in the prior distribution of the first candidate to be more likely than the elements of the matrix, and to replace the elements with the first candidate and start the next iteration with different weights when the first candidate is determined in the prior distribution of the first candidate to be less likely than the elements of the matrix under the set of Bayesian probabilities and for the first subset of the multiple medical records.

Citation Information

Patent Citations

  • Diagnosing inapparent diseases from common clinical tests using bayesian analysis

    US20030065535A1

  • Estimation algorithms and location techniques

    US20040034465A1

  • System and method for categorical analysis of time dependent dynamic processes

    US20040243328A1

  • Providing recommendations using information determined for domains of interest

    US20130325769A1