Temporal evidence

<< Click to Display Table of Contents >>

Navigation:  Using SMILE Wrappers > Dynamic Bayesian networks >

Temporal evidence

In dynamic Bayesian networks, evidence for plate nodes can be set separately for each time slice. This temporal evidence can take several forms: standard discrete evidence, virtual evidence (a probability distribution over outcomes), or continuous evidence. Continuous evidence is allowed when the plate node has numeric intervals defined or when it is an equation-based node. Each type of evidence is stored per time slice and incorporated into inference accordingly.

For time slice 0, normal evidence-related methods can be used as with regular nodes. For slices t>=1, separate methods are provided to set and retrieve evidence for the specific time slice. The available methods for each programming language are listed below.

Python

get_temporal_evidence(node: int | str, slice: int) -> int

get_temporal_evidence_id(node: int | str, slice: int) -> str

get_temporal_virtual_evidence(node: int | str, slice: int) -> List[float]

get_temporal_cont_evidence(node: int | str, slice: int) -> float

set_temporal_evidence(node: int | str, slice: int, outcome_index_or_id: int | str) -> None

set_temporal_virtual_evidence(node: int | str, slice: int, evidence: List[float]) -> None

set_temporal_cont_evidence(node: int | str, slice: int, evidence: float) -> None

clear_temporal_evidence(node: int | str, slice: int) -> None

has_temporal_evidence(node: int | str) -> bool

is_temporal_evidence(node: int | str, slice: int) -> bool

is_temporal_virtual_evidence(node: int | str, slice: int) -> bool

is_temporal_cont_evidence(node: int | str, slice: int) -> bool

Java

int getTemporalEvidence(int nodeHandle, int slice);

int getTemporalEvidence(String nodeId, int slice);

String getTemporalEvidenceId(int nodeHandle, int slice);

String getTemporalEvidenceId(String nodeId, int slice);

double[] getTemporalVirtualEvidence(int nodeHandle, int slice);

double[] getTemporalVirtualEvidence(String nodeId, int slice);

double getTemporalContEvidence(int nodeHandle, int slice);

double getTemporalContEvidence(String nodeId, int slice);

void setTemporalEvidence(int nodeHandle, int slice, int outcomeIndex);

void setTemporalEvidence(String nodeId, int slice, int outcomeIndex);

void setTemporalEvidence(int nodeHandle, int slice, String outcomeId);

void setTemporalEvidence(String nodeId, int slice, String outcomeId);

void setTemporalVirtualEvidence(int nodeHandle, int slice, double[] evidence);

void setTemporalVirtualEvidence(String nodeId, int slice, double[] evidence);

void setTemporalContEvidence(int nodeHandle, int slice, double evidence);

void setTemporalContEvidence(String nodeId, int slice, double evidence);

void clearTemporalEvidence(int nodeHandle, int slice);

void clearTemporalEvidence(String nodeId, int slice);

boolean hasTemporalEvidence(int nodeHandle);

boolean hasTemporalEvidence(String nodeId);

boolean isTemporalEvidence(int nodeHandle, int slice);

boolean isTemporalEvidence(String nodeId, int slice);

boolean isTemporalVirtualEvidence(int nodeHandle, int slice);

boolean isTemporalVirtualEvidence(String nodeId, int slice);

boolean isTemporalContEvidence(int nodeHandle, int slice);

boolean isTemporalContEvidence(String nodeId, int slice);

C#

int GetTemporalEvidence(int nodeHandle, int slice);

int GetTemporalEvidence(string nodeId, int slice);

string GetTemporalEvidenceId(int nodeHandle, int slice);

string GetTemporalEvidenceId(string nodeId, int slice);

double[] GetTemporalVirtualEvidence(int nodeHandle, int slice);

double[] GetTemporalVirtualEvidence(string nodeId, int slice);

double GetTemporalContEvidence(int nodeHandle, int slice);

double GetTemporalContEvidence(string nodeId, int slice);

void SetTemporalEvidence(int nodeHandle, int slice, int outcomeIndex);

void SetTemporalEvidence(string nodeId, int slice, int outcomeIndex);

void SetTemporalEvidence(int nodeHandle, int slice, string outcomeId);

void SetTemporalEvidence(string nodeId, int slice, string outcomeId);

void SetTemporalVirtualEvidence(int nodeHandle, int slice, double[] evidence);

void SetTemporalVirtualEvidence(string nodeId, int slice, double[] evidence);

void SetTemporalContEvidence(int nodeHandle, int slice, double evidence);

void SetTemporalContEvidence(string nodeId, int slice, double evidence);

void ClearTemporalEvidence(int nodeHandle, int slice);

void ClearTemporalEvidence(string nodeId, int slice);

bool HasTemporalEvidence(int nodeHandle);

bool HasTemporalEvidence(string nodeId);

bool IsTemporalEvidence(int nodeHandle, int slice);

bool IsTemporalEvidence(string nodeId, int slice);

bool IsTemporalVirtualEvidence(int nodeHandle, int slice);

bool IsTemporalVirtualEvidence(string nodeId, int slice);

bool IsTemporalContEvidence(int nodeHandle, int slice);

bool IsTemporalContEvidence(string nodeId, int slice);

R

temporalEvidence <- getTemporalEvidence(nodeIdOrHandle, slice)

temporalEvidenceId <- getTemporalEvidenceId(nodeIdOrHandle, slice)

temporalVirtualEvidence <- getTemporalVirtualEvidence(nodeIdOrHandle, slice)

temporalContEvidence <- getTemporalContEvidence(nodeIdOrHandle, slice)

setTemporalEvidence(nodeIdOrHandle, slice, outcomeIndexOrId)

setTemporalVirtualEvidence(nodeIdOrHandle, slice, evidence)

setTemporalContEvidence(nodeIdOrHandle, slice, evidence)

clearTemporalEvidence(nodeIdOrHandle, slice)

hasTemporalEvidence <- hasTemporalEvidence(nodeIdOrHandle)

isTemporalEvidence <- isTemporalEvidence(nodeIdOrHandle, slice)

isTemporalVirtualEvidence <- isTemporalVirtualEvidence(nodeIdOrHandle, slice)

isTemporalContEvidence <- isTemporalContEvidence(nodeIdOrHandle, slice)