ancestralIdentifyStep: Perform one iteration of ancestral identification.

Description Usage Arguments Value References

View source: R/ancestralID.R


A function that does one step through all the nodes in a mixed graph and tries to determine if directed edge coefficients are generically identifiable by leveraging decomposition by ancestral subsets. See algorithm 1 of Drton and Weihs (2015); this version of the algorithm is somewhat different from Drton and Weihs (2015) in that it also works on cyclic graphs.


ancestralIdentifyStep(mixedGraph, unsolvedParents, solvedParents,



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

  1. equals 0 if i is not a parent of j,

  2. equals NA if i is a parent of j but identifier cannot identify it generically,

  3. 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 list


Drton, M. and Weihs, L. (2015) Generic Identifiability of Linear Structural Equation Models by Ancestor Decomposition. arXiv 1504.02992

SEMID documentation built on May 21, 2019, 9:03 a.m.