A function that does one step through all the nodes in a mixed graph and tries to identify new edge coefficients using trek-separation as described in Weihs, Robeva, Robinson, et al. (2017).
trekSeparationIdentifyStep(
mixedGraph,
unsolvedParents,
solvedParents,
identifier,
maxSubsetSize = 3
)
see the return of htcIdentifyStep
.
a MixedGraph
object representing
the mixed graph.
a list whose ith index is a vector of all the parents j of i in G which for which the edge j->i is not yet known to be generically identifiable.
the complement of unsolvedParents
, a list whose
ith index is a vector of all parents j of i for which the edge i->j
is known to be generically identifiable (perhaps by other algorithms).
an identification function that must produce the
identifications corresponding to those in solved parents. That is
identifier
should be a function taking a single argument Sigma
(any generically generated covariance matrix corresponding
to the mixed graph) and returns a list with two named arguments
denote the number of nodes in mixedGraph
as n. Then
Lambda is an nxn matrix whose i,jth entry
equals 0 if i is not a parent of j,
equals NA if i is a parent of j but identifier
cannot
identify it generically,
equals the (generically) unique value corresponding to the weight along the edge i->j that was used to produce Sigma.
just as Lambda but for the bidirected edges in the mixed graph
such that if j is in solvedParents[[i]]
we must have that
Lambda[j,i] is not NA.
a positive integer which controls the maximum subset size considered in the trek-separation identification algorithm. Making this parameter smaller means the algorithm will be faster but less exhaustive (and hence less powerful).