Introduce adjacency matrix of orientation probability (proba_adj_matrix) to keep track of the probability ([0, 1]) of an edge tip being a head during each iteration. Set to -1 when the edge is not present.
Introduce average adjacency matrix of orientation probability (proba_adj_average). When sep-set consistency is not required or when the consistent cycle contains only one graph, it is proba_adj_matrix of the last graph, otherwise it is the average (excluding "-1") of all proba_adj_matrices in the consistent cycle.
Introduce new parameter ori_consensus_ratio, similar to ori_proba_ratio, to determine the type of tip (head/tail) of consensus edges
Rework algorithm for consensus status. Introduce new algorithm for consensus status based on consensus_threshold, proba_adj_average and proba_consensus_ratio:
consensus_threshold now controls whether an edge is present (when the proportion of non-zero status is above the threshold) or absent (when otherwise) in the consensus graph, no longer controls the type of edge tip.
When a consensus edge is present, a tip is set as head if its average orientation probability p (from proba_adj_average) satisfies (1 - p) / p < ori_consensus_ratio.
For a pair (X, Y), consensus status is
0 if edge is absent
1 if (X --- Y)
2 if (X --> Y)
-2 if (X <-- Y)
6 if (X <-> Y)
Remove conditions for is_causal introduced in (#80). Introduce new conditions for is_causal based on proba_adj_average and proba_consensus_ratio. For an edge (X *-* Y) (either in the final, consistent or consensus graph) with average orientation probabilities px and py, is_causal is set to TRUE when either of the following conditions is satisfied:
the edge status is (X --> Y) and (px, py) satisfies (1 - py) / py < ori_consensus_ratio and px / (1 - px) < ori_consensus_ratio.
the edge status is (X <-- Y) and (px, py) satisfies (1 - px) / px < ori_consensus_ratio and py / (1 - py) < ori_consensus_ratio.
Otherwise is_causal is set to FALSE. When the edge is absent, or the parameter latent is set to "no", or the parameter propagation is set to "TRUE", is_causal is set to NA.
Rename the column isCausal to is_causal in all.edges.summary, add new column is_causal_consensus.
Reword parameter descriptions for consensus_threshold and ori_proba_ratio.
Rename "Error" to "Conflict" in the edge probability table.
proba_adj_matrix
) to keep track of the probability ([0, 1]
) of an edge tip being a head during each iteration. Set to -1 when the edge is not present.proba_adj_average
). When sep-set consistency is not required or when the consistent cycle contains only one graph, it isproba_adj_matrix
of the last graph, otherwise it is the average (excluding "-1") of allproba_adj_matrices
in the consistent cycle.ori_consensus_ratio
, similar toori_proba_ratio
, to determine the type of tip (head/tail) of consensus edgesconsensus
status. Introduce new algorithm forconsensus
status based onconsensus_threshold
,proba_adj_average
andproba_consensus_ratio
:consensus_threshold
now controls whether an edge is present (when the proportion of non-zero status is above the threshold) or absent (when otherwise) in the consensus graph, no longer controls the type of edge tip.p
(fromproba_adj_average
) satisfies(1 - p) / p < ori_consensus_ratio
.(X, Y)
,consensus
status is0
if edge is absent1
if(X --- Y)
2
if(X --> Y)
-2
if(X <-- Y)
6
if(X <-> Y)
Remove conditions for
is_causal
introduced in (#80). Introduce new conditions foris_causal
based onproba_adj_average
andproba_consensus_ratio
. For an edge(X *-* Y)
(either in the final, consistent or consensus graph) with average orientation probabilitiespx
andpy
,is_causal
is set toTRUE
when either of the following conditions is satisfied:(X --> Y)
and(px, py)
satisfies(1 - py) / py < ori_consensus_ratio
andpx / (1 - px) < ori_consensus_ratio
.(X <-- Y)
and(px, py)
satisfies(1 - px) / px < ori_consensus_ratio
andpy / (1 - py) < ori_consensus_ratio
.Otherwise
is_causal
is set toFALSE
. When the edge is absent, or the parameterlatent
is set to "no", or the parameterpropagation
is set to "TRUE",is_causal
is set toNA
.isCausal
tois_causal
inall.edges.summary
, add new columnis_causal_consensus
.consensus_threshold
andori_proba_ratio
.