Description Usage Arguments Details Value Author(s) References See Also Examples
Estimate the DAG using the IMaGES algorithm of Ramsey, Hanson, Hanson, Halchenko, Poldrack, Glymour (2010). Adapted from 'GES' as implemented in the 'pcalg' package.
1 2 
matrices 
A list of (at least one) matrix object(s) to run in the algorithm 
penalty 
Node labels; by default, they are determined from the scoring object. 
num.markovs 
Number of graphs to store in the Markov equivalence class. 
use.verbose 
boolean value indicating whether or not the run will output things such as step direction, current IMScore, step number, and whether or not early stopping is kicking in. 
IMaGES (Independent Multisample Greedy Equivalence Search) is a scorebased algorithm that greedily maximizes a score function similar to the one used in the pcalg implementation of GES. It modifies the scoring by creating a global score across all datasets and uses this score to determine which step from the individual datasets best represents all of the datasets. It accomplishes this by using forward, backward, and turning steps as described below:
In the forward phase, IMaGES moves through the space of essential graphs in steps that correspond to the addition of a single edge in the space of DAGs; the phase is aborted as soon as the score cannot be augmented any more.
In the backward phase, the algorithm performs moves that correspond to the removal of a single edge in the space of DAGs until the score cannot be augmented any more.
In the turning phase, the algorithm performs moves that correspond to the reversal of a single arrow in the space of DAGs until the score cannot be augmented any more.
During each step, the IMaGES algorithm simulates the addition, deletion, or turning of an edge for each individual dataset. The step that most augments the score (each edge is assigned a SEM BIC score) for the individual dataset is selected, and the global step across all datasets is selected by finding the most commonly recommended step. The algorithm then executes that step and updated the IMScore accordingly. This repeats for (number of nodes)**2 or until the algorithm detects that no steps augment the score for five consecutive iterations (also known as 'early stopping').
These operations are carried out and result in a global representative graph and a Markov Equivalence Class.
IMaGES
returns a list with the following components:
results 
A named list containing:

.graphs 
A list containing the individual graph information, including raw graph data, score information, and intermediary variables 
Noah FrazierLogue (n.frazier.logue@nyu.edu)
Stephen Jose Hanson (jose@rubic.rutgers.edu)
J.D. Ramsey, S.J. Hanson, et al. (2010) Six problems for causal inference from fMRI. NeuroImage 49, 15451558.
D.M. Chickering (2002). Optimal structure identification with greedy search. Journal of Machine Learning Research 3, 507–554
A. Hauser and P. Bühlmann (2012). Characterization and greedy learning of interventional Markov equivalence classes of directed acyclic graphs. Journal of Machine Learning Research 13, 2409–2464.
P. Nandy, A. Hauser and M. Maathuis (2015). Understanding consistency in hybrid causal structure learning. arXiv preprint 1507.02608
P. Spirtes, C.N. Glymour, and R. Scheines (2000). Causation, Prediction, and Search, MIT Press, Cambridge (MA).
plotIMGraph
, plotAll
, plotMarkovs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  library(graph)
## Load predefined data
data(IMData)
data(IMTrue)
#run IMaGES
im.fits < IMaGES(matrices=IMData, penalty=3, num.markovs=5)
#plot global graph and all individual graphs with own SEM data
plotAll(im.fits)
#plot true individual graphs as a comparison
for (i in 1:length(IMTrue)) {
plot(IMTrue[[1]])
}
#plot graph with SEM data from first dataset
plotIMGraph(im.fits$.single.graph[[1]])
#plot MEC
plotMarkovs(im.fits)
#print mean SEM values for each edge
print(im.fits$.means)
#print standard errors for each edge
print(im.fits$.std.errs)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.