Package io.github.ai4ci.abm
Class Calibration
java.lang.Object
io.github.ai4ci.abm.Calibration
Various utilities to calibrate model to real world observations
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic double
contactsPerPersonPerDay
(Outbreak outbreak) What can we assume we know at this stage?static double
getConnectedness
(Outbreak outbreak) static double
inferSeverityCutoff
(Outbreak outbreak, double infectionEventRatio) Calibrate severity cutoffs for events based on probability.static double[]
inferTransmissionProbability
(Outbreak outbreak, double R0) static double
inferViralLoadTransmissionProbabilityFactor
(Outbreak outbreak, double R0) The translation betweeen R0 and the in host model viral load.
-
Constructor Details
-
Calibration
public Calibration()
-
-
Method Details
-
getConnectedness
-
contactsPerPersonPerDay
What can we assume we know at this stage? This is used to baseline the outbreak. At this point the social network and demographics are set up. We should also have the individuals baselined. This means we can look at their individual mobility and hence the probability of contact across the network. -
inferTransmissionProbability
-
inferViralLoadTransmissionProbabilityFactor
The translation betweeen R0 and the in host model viral load. The in host viral load model has been run for a range of different parameters and the average response held in the infectivity profile. The total viral load over the whole infectious period is the sum of viral load on each day. It is assumed that for R0 the population are making a fixed number of contacts per day. This is determined by their social network structure and their mobility. The R0 value is the population average of the sum of each individuals contacts per day multiplied by the transmission probability per day. This is defined as a linear scale factor of the viral load per day. TODO: This tends to produce outbreaks with larger effective reproduction numbers than R0 in the simulation because (I think) of the number of exposures people have, means there is a difference between the R0 in a completely random population at the R0 in a network where repeated exposure is the norm. In this case I think the effective generation time will also be shorter. This comes down to the rate of repeated exposure. -
inferSeverityCutoff
Calibrate severity cutoffs for events based on probability. Events might be hospitalisation, death, and be relative to infection so always a number less than 1. A small IFR correlates with a high cutoff for severity based on population severity distribution. Therefore for a 0.01 IFR we cut-off at the 0.99 quantile for severity.- Parameters:
outbreak
- the outbreakinfectionEventRatio
- a ratio between infected and those infected and e.g. hospitalised.- Returns:
- a
-