What are possible approaches for learning causal DAG of events? I have historical data of event logs.
Each event has an associated contextual Id, which can be used to tell that event A happened first in some context, then event B happened in same context and then C and so on.
I want to use this data to find which events are causing other events ( in a context) represented in DAG form. Which machine learning approaches can be used for this type of task?
I know Bayesian causal networks is one approach. Are there any others?
 A: Traditionally DAG's refer to probabilistic graphical models, specifically used by Bayesian networks (BN's), which have fallen out of fashion (blown out of water) by neural nets.
While directionality is clear, causality has additional implications and is a debatable aspect of Bayesian Networks (see statistical indistinguishability of DAG's etc.). Basically you can get identical Bayesian scores for different DAG's while structure learning of BN's. 
There is also the concept of DAG's for deep learning, see an example here. Some call these DAG networks, where the layers can be arranged as a directed acyclic graph. DAG networks can have a more complex architecture where layers can have inputs from, or outputs to, multiple layers.
Finally, anytime you hear anyone having strong claims about DAG's and causality, take whatever they say with a pinch of salt(!). 
A: Chain event graphs are a more generic version of a Bayesian network that are particularly suited for context-specific event information. This paper shows how to refine a BN into a chain event graph.
In the Art of Causal Conjecture, Shafer talks about how questions of cause are more naturally suited to events.
