<< 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)