Package io.github.ai4ci.abm.riskmodel
Interface RiskModel
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
ImmutableRiskModel
Establish an individuals risk on a given day. Risk on a give n day is a
function of the day of contact and the day on which the risk is estimated
(usually this is going to be now). The reason for this is that evidence
changes over time, as new information is obtained. For example given a
contact on day X, if the exposer develops symptoms on day X+1 (and reports
them) then the risk to the exposee as calculated on day X+1 will be more than
on day X. Because of this there is a limited amount you can precalculate as
the answer will depend on observations that may or may not have happened yet.
What we can calculate is what the results of symptoms today mean for contacts
in the past and what tests taken today mean for
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final double
static final double
-
Method Summary
Modifier and TypeMethodDescriptiondefault double[]
What is this evidence of this person being infectious 0..N days in the past judged today expressed as a log odds, based on symptoms and test results that are available today.default double
getDirectLogOddsInPast
(int i) default double
What will the evidence be for this person being infectious today as a result of their past contacts.default double
What is this individuals odds ratio of infection today compared to the baseline of the populationdefault int
default double
What is this individuals risk of infection today based on a prior?int
getTime()
static RiskModel
initialise
(Person person) default RiskModel
update()
Update the risk model to the current day, based on the current state of the person.
-
Field Details
-
PROB_REPORTING_POSITIVE_SYMPTOMS
static final double PROB_REPORTING_POSITIVE_SYMPTOMS- See Also:
-
PROB_REPORTING_NEGATIVE_SYMPTOMS
static final double PROB_REPORTING_NEGATIVE_SYMPTOMS- See Also:
-
-
Method Details
-
getEntity
Person getEntity() -
getSymptomKernel
-
getTestKernel
-
getContactsKernel
-
getDirectLogOdds
@Default default double[] getDirectLogOdds()What is this evidence of this person being infectious 0..N days in the past judged today expressed as a log odds, based on symptoms and test results that are available today. -
getProbabilityInfectiousToday
@Lazy default double getProbabilityInfectiousToday()What is this individuals risk of infection today based on a prior? -
getLogOddsInfectiousToday
@Lazy default double getLogOddsInfectiousToday()What is this individuals odds ratio of infection today compared to the baseline of the population -
getTime
int getTime() -
getMaxLength
@Derived default int getMaxLength() -
getIndirectLogOdds
@Derived default double getIndirectLogOdds()What will the evidence be for this person being infectious today as a result of their past contacts. This value is would change retrospectively if you estimated it again the next day as the contacts test results and symptoms change. However this is only useful information if we are interested in contacts of contacts. We are no so we do the simpler thing which is look at recent contacts and get an estimate for today only. -
getDirectLogOddsInPast
default double getDirectLogOddsInPast(int i) -
initialise
-
update
Update the risk model to the current day, based on the current state of the person. (The risk model is most likely immutable so this will be a new one). This is called during the update cycle at the point that the history is updated..
-