Class Calibration

java.lang.Object
io.github.ai4ci.abm.Calibration

public class Calibration extends Object
Various utilities to calibrate model to real world observations
  • Constructor Details

    • Calibration

      public Calibration()
  • Method Details

    • getConnectedness

      public static double getConnectedness(Outbreak outbreak)
    • contactsPerPersonPerDay

      public static double contactsPerPersonPerDay(Outbreak outbreak)
      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

      public static double[] inferTransmissionProbability(Outbreak outbreak, double R0)
    • inferViralLoadTransmissionProbabilityFactor

      public static double inferViralLoadTransmissionProbabilityFactor(Outbreak outbreak, double R0)
      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

      public static double inferSeverityCutoff(Outbreak outbreak, double infectionEventRatio)
      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 outbreak
      infectionEventRatio - a ratio between infected and those infected and e.g. hospitalised.
      Returns:
      a