1. A little bit of theory
Between 291,000 and 646,000 people worldwide die from seasonal influenza-related respiratory illnesses each year. iF°EVE will change this. iF°EVE will be a life-saver like a defibrillator or a rescue helicopter. First we will take a look at the body core temperature classification:
Class | Body core temperature |
Hypothermia | < 35 °C |
Normal | 36.5-37.5 °C |
Fever | > 38.3 °C |
Hyperthermia | > 40.0 °C |
Hyperpyrexia | > 41.5 °C |
Easy to classify depending on the measured temperature only. Next we will take a look at the Naive Bayes classifiers that are commonly used in automatic medical diagnosis. There are many tutorials about the naive Bayes classifier out there, so I keep it short here.
Bayes' theorem:
h: Hypothesis
d: Data
P(h): Probability of hypothesis h before seeing any data d
P(d|h): Probability of the data if the hypothesis h is true
The data evidence is given by
where P(h|d) is the probability of hypothesis h after having seen the data d.
Generally we want the most probable hypothesis given training data. This is the maximum a posteriori hypothesis:
H: Hypothesis set or space
As the denominators P(d) are identical for all hypotheses, hMAP can be simplified:
If our data d has several attributes, the naïve Bayes assumption can be used. Attributes a that describe data instances are conditionally independent given the classification hypothesis:
Every human depending on the age catches a cold 3-15 times a year. Taking the average 9 times a year and assuming a world population of 7· 10^9, we have 63· 10^9 common cold cases a year. Around 5·10^6 people will get the flu per year. Now we can compute:
This means only one of approx. 12500 patients with common cold/flu like symptoms has actually flu! Rests of the data are taken from here. The probability-look-up table for supervised learning looks then as follows:
Prob | Flu | Common cold |
P(h) | 0.00008 | 0.99992 |
P(Fatigue|h) | 0.8 | 0.225 |
P(Fever|h) | 0.9 | 0.005 |
P(Chills|h) | 0.9 | 0.1 |
P(Sore throat|h) | 0.55 | 0.5 |
P(Cough|h) | 0.9 | 0.4 |
P(Headache|h) | 0.85 | 0.25 |
P(Muscle pain|h) | 0.675 | 0.1 |
P(Sneezing|h) | 0.25 | 0.9 |
Therefore:
Note: The probability that an event A is not occurring is given by
Multiplying a lot of probabilities, which are between 0 and 1 by definition, can result in floating-point underflow. Since
it is better to perform all computations by summing logs of probabilities rather than multiplying probabilities. The class with highest final un-normalized log probability score is still the most probable:
2. Schematic
Below you will find the initial schematic (right click, view image to enlarge).
Body temperature measurement is done by the infrared thermometer MLX90614ESF-DCA. Temperature...
Read more »
I am curious whether this device is wearable. I mean like a watch or bracelet. Besides, are environmental factors taken into account in your calculation?
Anyway I think it's a great idea and look forward to more updates.