Learning Dynamic Bayesian Networks from Data: Foundations, First Principles and Numerical Comparisons

Vyacheslav Kungurtsev, Petr Ryšavý, Fadwa Idlahcen, Pavel Rytíř, Aleš Wodecki
(June 2024)
Abstract

In this paper, we present a guide to the foundations of learning Dynamic Bayesian Networks (DBNs) from data in the form of multiple samples of trajectories for some length of time. We present the formalism for a generic as well as a set of common types of DBNs for particular variable distributions. We present the analytical form of the models, with a comprehensive discussion on the interdependence between structure and weights in a DBN model and their implications for learning. Next, we give a broad overview of learning methods and describe and categorize them based on the most important statistical features, and how they treat the interplay between learning structure and weights. We give the analytical form of the likelihood and Bayesian score functions, emphasizing the distinction from the static case. We discuss functions used in optimization to enforce structural requirements. We briefly discuss more complex extensions and representations. Finally we present a set of comparisons in different settings for various distinct but representative algorithms across the variants.

1 Introduction

In this paper we give a comprehensive presentation on the training of Dynamic Bayesian Networks (DBNs), including both structure and parameters, from data. DBNs present a naturally interpretable model when it comes to understanding the precise interaction underlying the relationship between the variables. That is, the conditional independence structure defined by the DBN provides information regarding the mechanistic procedure that defines the model. This is also associated with the field of statistics referred to as causal learning.

There is one general survey article on DBNs we found is [59], which provides a helpful comprehensive resource for references for DBN modeling, inference and learning. In this work rather than seeking to provide a comprehensive literature review, instead we focus on narrating the global landscape of the mathematical understanding of the most important considerations as far as learning a model, including both the structure and parameters, from data.

With this understanding we are able to establish an informative taxonomy regarding methods, providing transparency in regards to the function and intention of each method. There are important subtle distinctions as far as modeling assumptions between some different popular methods, and their awareness is critical for best practices of DBN learning. Finally, we perform comprehensive numerical comparisons, highlighting the particular advantages and disadvantages of each method. We highlight that these comparisons are not meant to be exhaustive or authoritative, but more informative and illustrative in regards to the tradeoffs associated with learning DBNs from data.

We make several assumptions for this work. These are not entirely formal for the sake of precise Theorem proving, but rather a general restriction of the data generating process of interest, so as to highlight the most pedagogical features of DBN learning, as far as it is most commonly done in the literature. These assumptions are restrictive as far as faithful statistical modeling of real world phenomena. However, they tremendously simplify the learning process, and thus allow a more comprehensible presentation of what can hope to achieve with standard simple methods. For transparency, we present them below.

  1. 1.

    Causal Sufficiency There are no unobserved confounders, i.e., there is a closed system defining the data generating process wherein all causal sources are observed. This permits for the conditional independence structures to be reliable indicators of edge links in the graph. This is a standard formal assumption in almost all learning algorithms for DBNs and BNs.

  2. 2.

    Causal Identifiability we focus on the general case wherein the data regime permits for potential identification of a true causal graph, generally corresponding to the number of data samples (trajectories ×\times× time steps) some exponential factor of mangitude greater than the number of variables (in practice this can mean 5555 variables, 100100100100 trajectories of each 50505050 time steps as a generic example). This permits us to focus on integer programming and other techniques that can obtain statistically significant point estimates for exact structures that recover a ground truth. This assumption is standard in the literature of DBN and SEM learning, as modeling uncertainty in less favorable data regime circumstances presents significant methodological challenges and considerations that require significantly more advanced techniques. However, understanding the nuances of the foundations are essential as far the proper development, implementation, and use of these techniques.

  3. 3.

    Fully Observed There are no hidden variables, all quantities of interest are fully observed at every time step. Of course, graphs with hidden (latent) variables and entire structures are instrumental for modeling in many fields. However, the inclusion of latent variables and the required Expectation Maximization modification of the procedures described presents technical complications that add significant additional complexity, and thus would necessity a much greater length while obfuscating the message.

We make a few departures from these assumptions throughout the work, which we explicitly indicate when they occur.

1.1 Contribution of this Work

In this work we present:

  1. 1.

    A thorough explicit analytical description of standard popular DBN representations and statistical models. This includes the structure of potential dependencies of transition functions of the time-dependent random variables on other variables, time independent as well as time-dependent and in-time, Markovian one time step back, and delayed dependence.

  2. 2.

    Extensive commentary and analysis of learning DBNs from data from both the classical PGM/BN perspective as well as the time series perspective. The relationship of learning to the structure of the data, as well as high level intuition on the complex interaction of learning the structure and the parameters is presented.

  3. 3.

    A presentation of the most standard and common criteria for defining the objective or cost of a particular DBN network structure as well as the functional forms of equations that define that the graph satisfies the structural requirements of a DBN, in particular acyclicity

  4. 4.

    Numerical results for examples of popular algorithms for learning DBNs, evaluated on a range of criteria and variety of problems. The set of examples is not meant to be exhaustive, nor the comparisons authoritative, but broadly illustrative of the relative advantages and disadvantages of the different methods available.

1.2 Applications of Dynamic Bayesian Networks

The discovery of dynamic Bayesian networks has found many applications, some of which are medicine [12, 20, 75, 8], economics [43, 44] and aviation [46, 65, 27]. The applications related to aviation are typically related to finding casual structure in a sub-problem related to the dispatch of flights and focused on risk mitigation. The medial applications typically focus on either the discovery of fundamental principles related to chemical reactions, which take place in biological organisms or the extraction of information from clinical data. In economics, it is typically of interest to uncover relationships between the stock market and other selected factors that either influence or are influenced by it. In the following, we give some details about chosen applications as well as specific outcomes that the modelling using DBNs has in practice.

1.2.1 Medical Science

To highlight the importance of DBN discovery in medicine, we detail three separate applications. The first of these focuses on the quantification of disease development [8]. Understanding the progression of diseases is crucial in clinical medicine, as it informs the effectiveness of treatments. Most clinical medicine and pathology textbooks provide detailed descriptions of disease progression and treatment responses. However, there has been limited research quantifying these descriptions in detail. Typically, research examines the temporal aspect by describing treatment outcomes after a certain period. A significant challenge in gaining deeper insights is the relatively small size of clinical datasets, often comprising only a few hundred patients.

In the aforementioned contribution, a heuristic procedure is proposed for exploring and learning non-homogeneous time dynamic Bayesian networks, aiming to balance specificity and simplicity. The approach begins with a fully homogeneous (in time) model parts of which are gradually replaced with sub-models which reflect the expected structure at a given level of time delay. Furthermore, a splitting technique is applied to further improve the predictive behavior of the model, such models are typically termed partitioned DBNs.

A heuristic method was proposed to learn the DBN on synthetic data, which has a structure that should reflect a real data set. The numerical performance in terms of accuracy and solution time reported is hopeful. However, the method has yet to be tested on real world datasets.

The second application is concerned with the map** of neural pathways [20]. Identifying functional connectivity from simultaneously recorded spike trains is crucial for understanding how the brain processes information and instructs the body to perform complex tasks. The study investigates the applicability of dynamic Bayesian networks (DBNs) to infer the structure of neural circuits from observed spike trains. A probabilistic point process model was employed to assess performance. The results confirm the utility of DBNs in inferring functional connectivity as well as the directions of signal flow in cortical network models. Additionally, the findings demonstrate that DBNs outperform Granger causality when applied to populations with highly non-linear synaptic integration mechanisms.

The third chosen application focuses on the choice of appropriate treatment regimens for Chronic lymphocytic leukemia (CLL) [75]. This cancer is the most common blood cancer in adults, with a varied course and response to treatment among patients. This variability complicates the selection of the most appropriate treatment regimen and the prediction of disease progression. The aforementioned paper aims to develop and validate dynamic Bayesian networks (DBNs) to predict changes in the health status of patients with CLL and predict the progression of the disease over time. Two DBNs, the Health Status Network (HSN) and the Treatment Effect Network (TEN), were developed and implemented. Relationships linking the most important factors influencing health status and treatment effects in CLL patients were identified based on literature data and expert knowledge. The developed networks, particularly TEN, were able to predict the probability of survival in CLL patients, aligning with survival data collected in large medical registries. The networks can tailor predictions by integrating prior knowledge specific to an individual CLL patient. The proposed approach is a suitable foundation for develo** artificial intelligence systems that assist in selecting treatments, thereby positively influencing the chances of survival for CLL patients.

1.2.2 Economics

The relationship between the stock market and national economies deepens as the market matures, highlighting the need to study their dynamic interplay. Economic indicators such as real income and savings rates play crucial roles in influencing stock market capitalization. Macroeconomic fundamentals wield considerable influence over both short and long-term periods. Some researchers argue that finance and economic growth are causally linked, suggesting the stock market’s potential to drive economic development. However, not all macroeconomic factors significantly impact stock prices. Understanding the strength of association among these variables offers insights into how the stock market behaves across varying economic landscapes. Research on the Chinese stock market examines how macroeconomic variables shape stock market indices over time, emphasizing the enduring influence of economic fundamentals amid short-term market fluctuations. The aforementioned interplay may be modeled by DBNs and has been detailed in [44].

In the article and analysis of the relationship between the stock market and economic fundamentals using 11 selected factors is modeled using a DBN. Among these, four factors pertain to stock market indicators, while the remaining factors focus on macroeconomic and policy considerations. The first four factors reflect stock market performance, with defensive and cyclical stocks exhibiting varying behaviors during bull and bear markets. The Stock Exchange 50 index, comprising the 50 largest and most liquid stocks in the Shanghai Securities Market, supplements the overall stock market observation. Additionally, the consumer stock index serves as an indicator of societal consumption levels, typically rising during favorable macroeconomic periods and declining during economic downturns.

The results on real data of the described method are mixed. The application to the Shanghai composite market yielded some positive results in terms of the prediction of macroscopic quantities, but only limited success in terms of constituent market price prediction. The modeling of the components of the market in sufficient detail is a difficult problem due to the numerical tractability being limited as the number of variables increases.

1.2.3 Aviation

The global collection of aircraft and the airspace in which they operate, is a complex system generating a vast amount of data, making it a challenging domain to model mathematically. This system includes critical elements such as aircraft, airports, flight crews, weather events, and routes, each with many subcomponents. For example, aircraft have numerous subsystems and components, each subjected to various stresses and maintenance actions, which influence their time dynamics. Airports have multiple runways and internal logistical processes, which influence the operational capacity. These system components interact in complex ways. For instance, each flight corresponds to an aircraft operated by a flight crew traveling from one airport to another via a route that may need to change due to weather. Multiple flights operate simultaneously, requiring coordination to avoid incidents while maximizing throughput and minimizing delays.

To give an idea about a specific aviation problem that may be tackled we describe the airport operation uncertainty characterisation, which has been developed in [27]. The model outlines aircraft flow through the airport, emphasizing integrated airspace and airside operations. It characterizes various operational milestones based on an aircraft flow’s Business Process Model and Airport Collaborative Decision-Making methodology. Probability distributions for factors influencing aircraft processes need to be estimated, along with their conditional probability relationships. This approach results in a dynamic Bayesian network that manages uncertainties in aircraft operating times at the airport. The nodes of the network describe various aspects of the airport and flight operations. They cover meteorological conditions, arrival airspace variables such as timestamps and congestion metrics, airport infrastructure, operator and flight data, airside operational times and flight regulations, and the causes of delays.

The key outcomes of this work include the statistical characterization of processes and uncertainty drivers, and a causal model for uncertainty management using a DBN. Analyzing 34,000 aircraft operations at Madrid Airport revealed that arrival delays accumulate throughout the day due to network effects, while departure delays do not follow this pattern. The major delay drivers identified were the time of day, ASMA congestion, weather conditions, arrival delay amount, process duration, runway configuration, airline business model, handling agent, aircraft type, route origin/destination, and ATFCM regulations. Departure delays are significantly impacted by events of longer duration, which also offer greater potential for recovery.

2 Background - Dynamic Bayesian Networks

We present the general, and then specific forms, of DBN models. Consider that there is an n𝑛nitalic_n-dimensional stochastic process X(t)𝑋𝑡X(t)italic_X ( italic_t ). The individual random variables Xi(t)subscript𝑋𝑖𝑡X_{i}(t)italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) for all i[nx]𝑖delimited-[]subscript𝑛𝑥i\in[n_{x}]italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] can be valued as discrete, or as members of some field, such as \mathbb{R}blackboard_R. In addition, there can be an nzsubscript𝑛𝑧n_{z}italic_n start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT-dimensional random variable Z𝑍Zitalic_Z. Let us denote the generic spaces as 𝒳𝒳\mathcal{X}caligraphic_X and 𝒵𝒵\mathcal{Z}caligraphic_Z, respectively.

The defining character of DBNs is modeling the dependence of Xi(t)subscript𝑋𝑖𝑡X_{i}(t)italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) on other quantities, i.e., defining the the evolution of the stochastic process X(t)X(t+1)𝑋𝑡𝑋𝑡1X(t)\to X(t+1)italic_X ( italic_t ) → italic_X ( italic_t + 1 ). Formally, for the probability kernel defining the iterations of the stochastic process, the dependence must be Markovian, that is

p(Xi(t+1)A)=fi(X(t),Xji(t+1),{Xi(tτ)}τ=1,,p,Z)𝑝subscript𝑋𝑖𝑡1𝐴subscript𝑓𝑖𝑋𝑡subscript𝑋𝑗𝑖𝑡1subscriptsubscript𝑋𝑖𝑡𝜏𝜏1𝑝𝑍p(X_{i}(t+1)\in A)=f_{i}(X(t),X_{j\neq i}(t+1),\{X_{i}(t-\tau)\}_{\tau=1,...,p% },Z)italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ∈ italic_A ) = italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_X ( italic_t ) , italic_X start_POSTSUBSCRIPT italic_j ≠ italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) , { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) } start_POSTSUBSCRIPT italic_τ = 1 , … , italic_p end_POSTSUBSCRIPT , italic_Z ) (1)

where A𝐴Aitalic_A is some set in the Borel σ𝜎\sigmaitalic_σ-algebra of 𝒳𝒳\mathcal{X}caligraphic_X. That is, the transition kernel can depend on the current state of the other random variables, the values of the random variables at the previous time, the time-independent variables Z𝑍Zitalic_Z, as well as a possibly autoregressive effect through dependence on {Xi(tτ)}τ=1,,psubscriptsubscript𝑋𝑖𝑡𝜏𝜏1𝑝\{X_{i}(t-\tau)\}_{\tau=1,...,p}{ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) } start_POSTSUBSCRIPT italic_τ = 1 , … , italic_p end_POSTSUBSCRIPT.

In addition, there is the important requirement that no in-time string of dependencies forms a cycle. This presents the necessity in introducing graph theoretical notions to precisely characterize DBNs. Generically, we say a directed graph is a set of vertices 𝒱={v1,v2,,vn}𝒱subscript𝑣1subscript𝑣2subscript𝑣𝑛\mathcal{V}=\{v_{1},v_{2},...,v_{n}\}caligraphic_V = { italic_v start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_v start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT } and edges ={e1,e2,,em}subscript𝑒1subscript𝑒2subscript𝑒𝑚\mathcal{E}=\{e_{1},e_{2},...,e_{m}\}caligraphic_E = { italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , … , italic_e start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT }, where ej=(vj1,vj2)subscript𝑒𝑗subscript𝑣subscript𝑗1subscript𝑣subscript𝑗2e_{j}=(v_{j_{1}},v_{j_{2}})italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = ( italic_v start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT , italic_v start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) denotes the existence of a directed path between the two notes vj2vj1subscript𝑣subscript𝑗2subscript𝑣subscript𝑗1v_{j_{2}}\to v_{j_{1}}italic_v start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT → italic_v start_POSTSUBSCRIPT italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUBSCRIPT. We also say in this case that j2subscript𝑗2j_{2}italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT is a parent of j1subscript𝑗1j_{1}italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT, or j2dpa(j1)subscript𝑗2𝑑𝑝𝑎subscript𝑗1j_{2}\in dpa(j_{1})italic_j start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∈ italic_d italic_p italic_a ( italic_j start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ).

The DBN model incorporates a directed acyclic graph (DAG) 𝒢¯=𝒢(𝒱(X(t1),X(t)),d)𝒢(𝒱(X(t),Z),z)𝒢(𝒱(X(t),X(tτ)),τ)¯𝒢𝒢𝒱𝑋𝑡1𝑋𝑡subscript𝑑𝒢𝒱𝑋𝑡𝑍subscript𝑧𝒢𝒱𝑋𝑡𝑋𝑡𝜏subscript𝜏\bar{\mathcal{G}}=\mathcal{G}(\mathcal{V}(X(t-1),X(t)),\mathcal{E}_{d})\cup% \mathcal{G}(\mathcal{V}(X(t),Z),\mathcal{E}_{z})\cup\mathcal{G}(\mathcal{V}(X(% t),X(t-\tau)),\mathcal{E}_{\tau})over¯ start_ARG caligraphic_G end_ARG = caligraphic_G ( caligraphic_V ( italic_X ( italic_t - 1 ) , italic_X ( italic_t ) ) , caligraphic_E start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ) ∪ caligraphic_G ( caligraphic_V ( italic_X ( italic_t ) , italic_Z ) , caligraphic_E start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ) ∪ caligraphic_G ( caligraphic_V ( italic_X ( italic_t ) , italic_X ( italic_t - italic_τ ) ) , caligraphic_E start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ). The first two define connections in the model between the temporal random variables. That is e={V1,V2}d𝑒subscript𝑉1subscript𝑉2subscript𝑑e=\{V_{1},V_{2}\}\in\mathcal{E}_{d}italic_e = { italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } ∈ caligraphic_E start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT with Vi{{Xi}}subscript𝑉𝑖subscript𝑋𝑖V_{i}\in\{\{X_{i}\}\}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ { { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } } if p(X(t+1)iA)𝑝𝑋subscript𝑡1𝑖𝐴p(X(t+1)_{i}\in A)italic_p ( italic_X ( italic_t + 1 ) start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ∈ italic_A ) is a function of V2=Xjsubscript𝑉2subscript𝑋𝑗V_{2}=X_{j}italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT, that is jdpad(i)𝑗𝑑𝑝subscript𝑎𝑑𝑖j\in dpa_{d}(i)italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ), and e={V1,V2}s𝑒subscript𝑉1subscript𝑉2subscript𝑠e=\{V_{1},V_{2}\}\in\mathcal{E}_{s}italic_e = { italic_V start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT } ∈ caligraphic_E start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT if p(Xi(t+1)A)𝑝subscript𝑋𝑖𝑡1𝐴p(X_{i}(t+1)\in A)italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ∈ italic_A ) is a function of V2=Xj(t+1)subscript𝑉2subscript𝑋𝑗𝑡1V_{2}=X_{j}(t+1)italic_V start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ), that is 2dpas(i)2𝑑𝑝subscript𝑎𝑠𝑖2\in dpa_{s}(i)2 ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ). Finally, we also have a (non-symmetric) matrix encoding the dependencies on the self-history τdpaτ(i){1,,p}𝜏𝑑𝑝subscript𝑎𝜏𝑖1𝑝\tau\in dpa_{\tau}(i)\subset\{1,...,p\}italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) ⊂ { 1 , … , italic_p } and the dependencies on the static variables dpaz(i)={Zj:fi()Zj0}𝑑𝑝subscript𝑎𝑧𝑖conditional-setsubscript𝑍𝑗subscript𝑓𝑖subscript𝑍𝑗0dpa_{z}(i)=\left\{Z_{j}:\frac{\partial f_{i}(\cdot)}{\partial Z_{j}}\neq 0\right\}italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) = { italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT : divide start_ARG ∂ italic_f start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( ⋅ ) end_ARG start_ARG ∂ italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_ARG ≠ 0 }. These, of course, can be encoded as graphs as well.

This permits us to write (1) as,

p(Xi(t+1)A)=f(A,{Xj(t)}jdpad(i),{Xj(t+1)}jdpas(i),{Xi(tτ)}τdpaτ(i),{Zj}jdpaz(i))𝑝subscript𝑋𝑖𝑡1𝐴𝑓𝐴subscriptsubscript𝑋𝑗𝑡𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsubscript𝑋𝑗𝑡1𝑗𝑑𝑝subscript𝑎𝑠𝑖subscriptsubscript𝑋𝑖𝑡𝜏𝜏𝑑𝑝subscript𝑎𝜏𝑖subscriptsubscript𝑍𝑗𝑗𝑑𝑝subscript𝑎𝑧𝑖p(X_{i}(t+1)\in A)=f(A,\{X_{j}(t)\}_{j\in dpa_{d}(i)},\{X_{j}(t+1)\}_{j\in dpa% _{s}(i)},\{X_{i}(t-\tau)\}_{\tau\in dpa_{\tau}(i)},\{Z_{j}\}_{j\in dpa_{z}(i)})italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ∈ italic_A ) = italic_f ( italic_A , { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT , { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT , { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) } start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT , { italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) (2)

Notice that the encoding of the explicit dependencies presents the possibility of using a common f𝑓fitalic_f as opposed to one depending on the transition out-node i𝑖iitalic_i, in the case wherein all the variables Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are of the same distributional family. This eases the computation of the likelihood of the data given the parameters and structure, etc.

We will sometimes use, for shorthand:

{Vj(t+1)}jdpa(i)={Xj(t)}jdpad(i){Xj(t+1)}jdpas(i){Xi(tτ)}τdpaτ(i){Zj}jdpaz(i)subscriptsubscript𝑉𝑗𝑡1𝑗𝑑𝑝𝑎𝑖subscriptsubscript𝑋𝑗𝑡𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsubscript𝑋𝑗𝑡1𝑗𝑑𝑝subscript𝑎𝑠𝑖subscriptsubscript𝑋𝑖𝑡𝜏𝜏𝑑𝑝subscript𝑎𝜏𝑖subscriptsubscript𝑍𝑗𝑗𝑑𝑝subscript𝑎𝑧𝑖\{V_{j}(t+1)\}_{j\in dpa(i)}=\{X_{j}(t)\}_{j\in dpa_{d}(i)}\cup\{X_{j}(t+1)\}_% {j\in dpa_{s}(i)}\cup\{X_{i}(t-\tau)\}_{\tau\in dpa_{\tau}(i)}\cup\{Z_{j}\}_{j% \in dpa_{z}(i)}{ italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT = { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∪ { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∪ { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) } start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∪ { italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT (3)
Refer to caption
Figure 1: A Possibl DBN Graphical Network defining the transitions of X(t)𝑋𝑡X(t)italic_X ( italic_t )

See Figure 1 for an illustration. In this case for i=1𝑖1i=1italic_i = 1, the Markovian transitions are from itself and from X2subscript𝑋2X_{2}italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, and there are no intra time nodes or static nodes directed to it, and so Vdpa(1)(t)=Vdpad(1)={X1(t1),X2(t1)}subscript𝑉𝑑𝑝𝑎1𝑡subscript𝑉𝑑𝑝subscript𝑎𝑑1subscript𝑋1𝑡1subscript𝑋2𝑡1V_{dpa(1)}(t)=V_{dpa_{d}(1)}=\{X_{1}(t-1),X_{2}(t-1)\}italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( 1 ) end_POSTSUBSCRIPT ( italic_t ) = italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( 1 ) end_POSTSUBSCRIPT = { italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t - 1 ) , italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_t - 1 ) }. For node 2, there are no Markovian transitions and two intra-node dependencies, thus Vdpa(2)(t)=Vdpas(2)(t)={X1(t),X3(t)}subscript𝑉𝑑𝑝𝑎2𝑡subscript𝑉𝑑𝑝subscript𝑎𝑠2𝑡subscript𝑋1𝑡subscript𝑋3𝑡V_{dpa(2)}(t)=V_{dpa_{s}(2)}(t)=\{X_{1}(t),X_{3}(t)\}italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( 2 ) end_POSTSUBSCRIPT ( italic_t ) = italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( 2 ) end_POSTSUBSCRIPT ( italic_t ) = { italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t ) , italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t ) }. Finally, for X3(t)subscript𝑋3𝑡X_{3}(t)italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t ), there are two Markovian dependencies, and a static covariate dependence. Thus Vdpa(3)(t)=Vdpad(3)dpaz(3)(t)={X1(t1),X3(t1),Z}subscript𝑉𝑑𝑝𝑎3𝑡subscript𝑉𝑑𝑝subscript𝑎𝑑3𝑑𝑝subscript𝑎𝑧3𝑡subscript𝑋1𝑡1subscript𝑋3𝑡1𝑍V_{dpa(3)}(t)=V_{dpa_{d}(3)\cup dpa_{z}(3)}(t)=\{X_{1}(t-1),X_{3}(t-1),Z\}italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( 3 ) end_POSTSUBSCRIPT ( italic_t ) = italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( 3 ) ∪ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( 3 ) end_POSTSUBSCRIPT ( italic_t ) = { italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t - 1 ) , italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t - 1 ) , italic_Z }.

Now that we have established the general form of the DBN, we see that we have a fundamentally still very general problem to solve, in that the function f𝑓fitalic_f can encode any sort of dependency on the different variables in the parent set of the note of interest. They can depend as according to various nonlinear interactions, that can themselves embody different conditional independence information In order to complete the model, we need to define the form of the function f𝑓fitalic_f.

2.1 Simple Parametric Conditional Probability Dependency

For certain kinds of variables, it becomes both possible and prudent to use certain simple parametric families for defining f𝑓fitalic_f. In particular, for binary Bernoulli random variables correspond to Dirichlet distributions for the prior of the weights together with using Conditional Probability Tables to define the form. For continuous random variables, Gaussian linear models provide a means of computing the maximum likelihood linear parameters using covariance matrices.

A significant advantage of using parametric families arises from the closed form computation of criteria, which permits closed form computation of the marginal posterior of a structure. This permits structure learning algorithms to be able to score graphs offline, assisting in the search. Many score maximizing procedures such as [26, 14, 3, 2] use this approach. The score is ultimately an integration of the posterior of the parameters in the model given the structure, which also indicates that the sampling of the optimal parameters, once obtaining the maximum a posteriori structure, is straightforward for these models.

In addition, one can use neural models including the Generative Flow Network approaches as given by [17, 2]. These use a Reinforcement Learning iteration to ultimately sample from a high scoring network as according to a defined score. Reinforcement Learning broadly, e.g., [74] is another framework by which the structure search for these standard specific models can be aided by neural networks.

Linear Structural Equation Models (SEMs) present an opportunity to use an adjacency matrix to define both the structure and weights in a computationally advantageous form. This highlights the correspondence between the Dynamic Systems and the graph theoretic developments in causal learning.

2.1.1 Discrete Variables

Binary Variables

The case of binary random variables is wherein Xi(t)B(1,piX),ZjB(1,pjZ)formulae-sequencesubscript𝑋𝑖𝑡𝐵1subscriptsuperscript𝑝𝑋𝑖similar-tosubscript𝑍𝑗𝐵1subscriptsuperscript𝑝𝑍𝑗X_{i}(t)\in B(1,p^{X}_{i}),Z_{j}\sim B(1,p^{Z}_{j})italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) ∈ italic_B ( 1 , italic_p start_POSTSUPERSCRIPT italic_X end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) , italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∼ italic_B ( 1 , italic_p start_POSTSUPERSCRIPT italic_Z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ), etc., that is, they are all of Bernoulli type. Empirical samples for all k[K]𝑘delimited-[]𝐾k\in[K]italic_k ∈ [ italic_K ], where k𝑘kitalic_k indexes a set of sample trajectories satisfy Xi(k)(t),Zj(k){0,1}subscriptsuperscript𝑋𝑘𝑖𝑡subscriptsuperscript𝑍𝑘𝑗01X^{(k)}_{i}(t),Z^{(k)}_{j}\in\{0,1\}italic_X start_POSTSUPERSCRIPT ( italic_k ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) , italic_Z start_POSTSUPERSCRIPT ( italic_k ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ { 0 , 1 } for all t𝑡titalic_t, i𝑖iitalic_i, and j𝑗jitalic_j. With this most simple scenario, the modeling flexibility as well as the nuances of structure learning becomes a natural pedagogical start.

There is a degree of flexibility in the choice of statistical model for defining the transition function. We will explore three options - the noisy or model, the linear logit model, and the complete linear logit model.

The noisy or model defines the transitions as

p(Xi(t+1)=0)=(1λ0)ldpa(i)(1λl)Vlp(Xi(t+1)=1)=1(1λ0)ldpa(i)(1λl)Vl𝑝subscript𝑋𝑖𝑡101subscript𝜆0subscriptproduct𝑙𝑑𝑝𝑎𝑖superscript1subscript𝜆𝑙subscript𝑉𝑙𝑝subscript𝑋𝑖𝑡1111subscript𝜆0subscriptproduct𝑙𝑑𝑝𝑎𝑖superscript1subscript𝜆𝑙subscript𝑉𝑙\begin{array}[]{l}p(X_{i}(t+1)=0)=(1-\lambda_{0})\prod_{l\in dpa(i)}(1-\lambda% _{l})^{V_{l}}\\ p(X_{i}(t+1)=1)=1-(1-\lambda_{0})\prod_{l\in dpa(i)}(1-\lambda_{l})^{V_{l}}% \end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 0 ) = ( 1 - italic_λ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ∏ start_POSTSUBSCRIPT italic_l ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( 1 - italic_λ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_V start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) = 1 - ( 1 - italic_λ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) ∏ start_POSTSUBSCRIPT italic_l ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( 1 - italic_λ start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_V start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (4)

This model is referred to as noisy or because essentially it calculates a probabilistic perturbation of the binary OR operation. This model presents one implementation of causal independence, wherein the influence of each covariate is independent with respect to the others.

For the linear logit models, define the sigmoid function,

σ(x)=ex1+ex𝜎𝑥superscript𝑒𝑥1superscript𝑒𝑥\sigma(x)=\frac{e^{x}}{1+e^{x}}italic_σ ( italic_x ) = divide start_ARG italic_e start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT end_ARG start_ARG 1 + italic_e start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT end_ARG

The reason the models we define next are referred to as linear is that the transition is defined to be,

Xi(t+1)=jdpad(i)βjdXj(t)+jdpas(i)βjsXj(t+1)+τdpaτ(i)βτaXi(tτ)+jdpaz(i)βjzZjsubscript𝑋𝑖𝑡1subscript𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsuperscript𝛽𝑑𝑗subscript𝑋𝑗𝑡subscript𝑗𝑑𝑝subscript𝑎𝑠𝑖subscriptsuperscript𝛽𝑠𝑗subscript𝑋𝑗𝑡1subscript𝜏𝑑𝑝subscript𝑎𝜏𝑖subscriptsuperscript𝛽𝑎𝜏subscript𝑋𝑖𝑡𝜏subscript𝑗𝑑𝑝subscript𝑎𝑧𝑖subscriptsuperscript𝛽𝑧𝑗subscript𝑍𝑗X_{i}(t+1)=\sum\limits_{j\in dpa_{d}(i)}\beta^{d}_{j}X_{j}(t)+\sum\limits_{j% \in dpa_{s}(i)}\beta^{s}_{j}X_{j}(t+1)+\sum\limits_{\tau\in dpa_{\tau}(i)}% \beta^{a}_{\tau}X_{i}(t-\tau)+\sum\limits_{j\in dpa_{z}(i)}\beta^{z}_{j}Z_{j}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) + ∑ start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_a end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT (5)

We shall see that this linear form is broadly common in modeling the transitions of variables in DBN models for other variable types.

The probability kernel given by (5) is

p(Xi(t+1)=1)=σ(β0+jdpad(i)βjdXj(t)+jdpas(i)βjsX(t+1)j+τdpaτ(i)βτaXi(tτ)+jdpaz(i)βjzZj)𝑝subscript𝑋𝑖𝑡11𝜎subscript𝛽0subscript𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsuperscript𝛽𝑑𝑗subscript𝑋𝑗𝑡subscript𝑗𝑑𝑝subscript𝑎𝑠𝑖subscriptsuperscript𝛽𝑠𝑗𝑋subscript𝑡1𝑗subscript𝜏𝑑𝑝subscript𝑎𝜏𝑖subscriptsuperscript𝛽𝑎𝜏subscript𝑋𝑖𝑡𝜏subscript𝑗𝑑𝑝subscript𝑎𝑧𝑖subscriptsuperscript𝛽𝑧𝑗subscript𝑍𝑗p(X_{i}(t+1)=1)=\sigma\left(\beta_{0}+\sum\limits_{j\in dpa_{d}(i)}\beta^{d}_{% j}X_{j}(t)+\sum\limits_{j\in dpa_{s}(i)}\beta^{s}_{j}X(t+1)_{j}+\sum\limits_{% \tau\in dpa_{\tau}(i)}\beta^{a}_{\tau}X_{i}(t-\tau)+\sum\limits_{j\in dpa_{z}(% i)}\beta^{z}_{j}Z_{j}\right)italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) = italic_σ ( italic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X ( italic_t + 1 ) start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_a end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) (6)

One alternative that frequently arises in practice is the necessity to accurately model Conditional Probability Dependencies (CPDs) as defined by Conditional Probability Tables (CPTs). As an example, please see Table 1.

Table 1: An example of a CPT
X2(t)subscript𝑋2𝑡X_{2}(t)italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_t ) X3(t+1)subscript𝑋3𝑡1X_{3}(t+1)italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t + 1 ) Z2subscript𝑍2Z_{2}italic_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT X1(t+1)subscript𝑋1𝑡1X_{1}(t+1)italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t + 1 )
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

It is clear that the information in Table 1 cannot be modeled with a linear transition function as in (5). In this case, if one wanted to construct such a model, one would instead have to be able to include all of the combinations between the possible parent nodes.

Formally, a transition model could look like, for Table 1,

X1(t+1)=β0+β1Z2+β2X3(t+1)+β3X3(t+1)Z2+β4X3(t+1)Z2+β5X2(t)+β6X2(t)Z2+β7X2(t)X3(t+1)+β8X2(t)X3(t+1)Z2subscript𝑋1𝑡1subscript𝛽0subscript𝛽1subscript𝑍2subscript𝛽2subscript𝑋3𝑡1subscript𝛽3subscript𝑋3𝑡1subscript𝑍2subscript𝛽4subscript𝑋3𝑡1subscript𝑍2subscript𝛽5subscript𝑋2𝑡subscript𝛽6subscript𝑋2𝑡subscript𝑍2subscript𝛽7subscript𝑋2𝑡subscript𝑋3𝑡1subscript𝛽8subscript𝑋2𝑡subscript𝑋3𝑡1subscript𝑍2\begin{array}[]{l}X_{1}(t+1)=\beta_{0}+\beta_{1}Z_{2}+\beta_{2}X_{3}(t+1)+% \beta_{3}X_{3}(t+1)Z_{2}+\beta_{4}X_{3}(t+1)Z_{2}+\beta_{5}X_{2}(t)\\ \qquad\qquad\qquad+\beta_{6}X_{2}(t)Z_{2}+\beta_{7}X_{2}(t)X_{3}(t+1)+\beta_{8% }X_{2}(t)X_{3}(t+1)Z_{2}\end{array}start_ARRAY start_ROW start_CELL italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( italic_t + 1 ) = italic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_β start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_β start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t + 1 ) + italic_β start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t + 1 ) italic_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_β start_POSTSUBSCRIPT 4 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t + 1 ) italic_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_β start_POSTSUBSCRIPT 5 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_t ) end_CELL end_ROW start_ROW start_CELL + italic_β start_POSTSUBSCRIPT 6 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_t ) italic_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_β start_POSTSUBSCRIPT 7 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_t ) italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t + 1 ) + italic_β start_POSTSUBSCRIPT 8 end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( italic_t ) italic_X start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ( italic_t + 1 ) italic_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY

and in the general case,

Xi(t+1)=jdpad(i)kdpas(i)τ=1,,pldpaz(i)α(2+)4βi,j,k,l,τα(Xj(t)Xk(t+1)Xi(tτ)Zj)αsubscript𝑋𝑖𝑡1subscriptproduct𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptproduct𝑘𝑑𝑝subscript𝑎𝑠𝑖subscriptproduct𝜏1𝑝subscriptproduct𝑙𝑑𝑝subscript𝑎𝑧𝑖subscript𝛼superscriptsubscriptsuperscript24superscriptsubscript𝛽𝑖𝑗𝑘𝑙𝜏𝛼superscriptsubscript𝑋𝑗𝑡subscript𝑋𝑘𝑡1subscript𝑋𝑖𝑡𝜏subscript𝑍𝑗𝛼\begin{array}[]{l}X_{i}(t+1)=\prod\limits_{j\in dpa_{d}(i)}\prod\limits_{k\in dpa% _{s}(i)}\prod\limits_{\tau=1,...,p}\prod\limits_{l\in dpa_{z}(i)}\sum_{\alpha% \in\left(\mathbb{Z}^{+}_{2}\right)^{4}}\beta_{i,j,k,l,\tau}^{\alpha}\left(X_{j% }(t)X_{k}(t+1)X_{i}(t-\tau)Z_{j}\right)^{\alpha}\end{array}start_ARRAY start_ROW start_CELL italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = ∏ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_k ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_τ = 1 , … , italic_p end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_l ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_α ∈ ( blackboard_Z start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_i , italic_j , italic_k , italic_l , italic_τ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_α end_POSTSUPERSCRIPT ( italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) italic_X start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( italic_t + 1 ) italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT italic_α end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (7)

where the parameters are appropriately normalized. With the combinatorial explosion in this model clearly visible, it can be seen that such circumstances present significant difficulties as far as computing hardware expense in both processing and memory, when it comes to modeling high dimensional datasets.

On the other hand, this structure of statistical model presents two structural conditions denoted as local parameter independence and unrestricted multinomial distribution [61]. These ensure that for every configuration, that is, every possible combinations of values of the parents of a node, there is an independent parameter vector. This leads to a corresponding combinatorial explosion of parameter vectors in the statistical model. On the other hand, however, the analytical calculation of parameter likelihoods and posterior distributions become possible, facilitating more straightforward evaluation of scoring metrics quantifying the information quality of an entire (D)BN. That is, the marginal likelihood of a structure can be computed without first computing the likelihood of the weights.

Multinomial

Multinomial distributions are over discrete valued random variables that can take on multiple possible values. The distinction between a user friendly linear parameter presentation and the expressiveness at the cost of parametric dimensionality of unrestricted multinomial distributions becomes apparent in the increased complexity of modeling multinomial relative to Bernoulli distributions.

Now, consider that for every i𝑖iitalic_i, Xi(t){u1,,um}subscript𝑋𝑖𝑡superscript𝑢1superscript𝑢𝑚X_{i}(t)\in\{u^{1},...,u^{m}\}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t ) ∈ { italic_u start_POSTSUPERSCRIPT 1 end_POSTSUPERSCRIPT , … , italic_u start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT } some multinomial sample, with Dirichlet sampled initial values, and always with some multinomial distribution {θim(t)}superscriptsubscript𝜃𝑖𝑚𝑡\{\theta_{i}^{m}(t)\}{ italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT ( italic_t ) }. The set of parameters indicating the probability that Xi(t+1)=uksubscript𝑋𝑖𝑡1superscript𝑢𝑘X_{i}(t+1)=u^{k}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = italic_u start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT given a particular configuration of the parent nodes Vdpa(i)(t+1)subscript𝑉𝑑𝑝𝑎𝑖𝑡1V_{dpa(i)}(t+1)italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_t + 1 ) is denoted θi,vdpa(i)ksuperscriptsubscript𝜃𝑖subscript𝑣𝑑𝑝𝑎𝑖𝑘\theta_{i,v_{dpa(i)}}^{k}italic_θ start_POSTSUBSCRIPT italic_i , italic_v start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT.

First, consider a linear model. Let us simplify the notation,

jdpad(i)βjdXj(t)+jdpas(i)βjsXj(t+1)+τdpaτ(i)βτaXi(tτ)+jdpaz(i)βjzZj=jdpa(i)βjVj(t+1)subscript𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsuperscript𝛽𝑑𝑗subscript𝑋𝑗𝑡subscript𝑗𝑑𝑝subscript𝑎𝑠𝑖subscriptsuperscript𝛽𝑠𝑗subscript𝑋𝑗𝑡1subscript𝜏𝑑𝑝subscript𝑎𝜏𝑖subscriptsuperscript𝛽𝑎𝜏subscript𝑋𝑖𝑡𝜏subscript𝑗𝑑𝑝subscript𝑎𝑧𝑖subscriptsuperscript𝛽𝑧𝑗subscript𝑍𝑗subscript𝑗𝑑𝑝𝑎𝑖subscript𝛽𝑗subscript𝑉𝑗𝑡1\sum\limits_{j\in dpa_{d}(i)}\beta^{d}_{j}X_{j}(t)+\sum\limits_{j\in dpa_{s}(i% )}\beta^{s}_{j}X_{j}(t+1)+\sum\limits_{\tau\in dpa_{\tau}(i)}\beta^{a}_{\tau}X% _{i}(t-\tau)+\sum\limits_{j\in dpa_{z}(i)}\beta^{z}_{j}Z_{j}=\sum_{j\in dpa(i)% }\beta_{j}V_{j}(t+1)∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) + ∑ start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_a end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 )

With this, the form of the transition probability is,

p(Xi(t+1)=ul)=exp(βi,0+jdpa(i)q[m]βi,jl,q𝟏(Vj=uq))s[m]exp(βi,0+jdpa(i)q[m]βi,js,q𝟏(Vj=uq))𝑝subscript𝑋𝑖𝑡1superscript𝑢𝑙subscript𝛽𝑖0subscript𝑗𝑑𝑝𝑎𝑖subscript𝑞delimited-[]𝑚subscriptsuperscript𝛽𝑙𝑞𝑖𝑗1subscript𝑉𝑗superscript𝑢𝑞subscript𝑠delimited-[]𝑚subscript𝛽𝑖0subscript𝑗𝑑𝑝𝑎𝑖subscript𝑞delimited-[]𝑚subscriptsuperscript𝛽𝑠𝑞𝑖𝑗1subscript𝑉𝑗superscript𝑢𝑞p(X_{i}(t+1)=u^{l})=\frac{\exp\left(\beta_{i,0}+\sum_{j\in dpa(i)}\sum_{q\in[m% ]}\beta^{l,q}_{i,j}\mathbf{1}(V_{j}=u^{q})\right)}{\sum_{s\in[m]}\exp\left(% \beta_{i,0}+\sum_{j\in dpa(i)}\sum_{q\in[m]}\beta^{s,q}_{i,j}\mathbf{1}(V_{j}=% u^{q})\right)}italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = italic_u start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT ) = divide start_ARG roman_exp ( italic_β start_POSTSUBSCRIPT italic_i , 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_q ∈ [ italic_m ] end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_l , italic_q end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT bold_1 ( italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_u start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT ) ) end_ARG start_ARG ∑ start_POSTSUBSCRIPT italic_s ∈ [ italic_m ] end_POSTSUBSCRIPT roman_exp ( italic_β start_POSTSUBSCRIPT italic_i , 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_q ∈ [ italic_m ] end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_s , italic_q end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT bold_1 ( italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_u start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT ) ) end_ARG (8)

which is a standard linear logit.

On the other hand, with an unrestricted multinomial distribution, we can define the full transition distribution explicitly, meaning for every possible combination of values instantiated by a node’s parents in a given network, we define a specific probability. In this case even the already cumbersome notation of (7) is insufficient to present the model representation. On the other hand, we will see that this representation eases the likelihood and Bayesian score computations. Finally, we distinguish dpa(i)=dpat(i)dpaz(i)𝑑𝑝𝑎𝑖𝑑𝑝subscript𝑎𝑡𝑖𝑑𝑝subscript𝑎𝑧𝑖dpa(i)=dpa_{t}(i)\cup dpa_{z}(i)italic_d italic_p italic_a ( italic_i ) = italic_d italic_p italic_a start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_i ) ∪ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) as the time-dependent and time-independent covariates. We also distinguish the possible values of Z𝑍Zitalic_Z to be Zj{1,,wq}subscript𝑍𝑗1superscript𝑤𝑞Z_{j}\in\{1,...,w^{q}\}italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ { 1 , … , italic_w start_POSTSUPERSCRIPT italic_q end_POSTSUPERSCRIPT }

We simply denote:

p(Xi(t+1)=ul|Vdpa(i)(t+1),θi):=θiξ(Vdpa(i)(t+1),ξΞi,Ξi=jdpat(i)m+×jdpaz(i)q+p(X_{i}(t+1)=u^{l}|V_{dpa(i)}(t+1),\theta_{i}):=\theta_{i}^{\xi(V_{dpa(i)}(t+1% )},\,\xi\in\Xi_{i},\,\Xi_{i}=\prod_{j\in dpa_{t}(i)}\mathbb{Z}_{m}^{+}\times% \prod_{j\in dpa_{z}(i)}\mathbb{Z}_{q}^{+}italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = italic_u start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT | italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_t + 1 ) , italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) := italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_t + 1 ) end_POSTSUPERSCRIPT , italic_ξ ∈ roman_Ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , roman_Ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = ∏ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT blackboard_Z start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT × ∏ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT blackboard_Z start_POSTSUBSCRIPT italic_q end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT (9)

That is, there is an multi-index that enumerates the entries of ΞisubscriptΞ𝑖\Xi_{i}roman_Ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT for each transition i𝑖iitalic_i. We can see that this presents a highly parametrized model, which will imply significant parametric uncertainty when there are finite data samples. On the other hand, with this highly precise model, the maximum likelihood becomes much more straightforward to compute, as well as the Bayesian scores. Indeed, this is exactly what local parameter independence facilitates – you can compute the likelihood by counting the instances of each transition and dividing by the count of each predecessor configuration. On the other hand, when the total count of every possible predecessor configuration is low, due to unfavorable sample complexity, this cannot be said to be a high quality estimate of the actual validity of that dependence. On the other hand, by letting these parameters take on distributions, in a Bayesian setting, the computation of a posterior for a structure becomes easier, and the uncertainty is available by sampling the posterior, anyway.

2.1.2 Continuous Variables

Gaussian Variables

A Gaussian Bayesian Network can be considered a continuous variable equivalent to binary variables in the sense that the structure permits closed form expressions for computing the likelihood, posterior, etc. In this case, however, the additive linear term is standard. Formally, we assume that X(t)𝒩(μ;Σ)similar-to𝑋𝑡𝒩𝜇ΣX(t)\sim\mathcal{N}(\mu;\Sigma)italic_X ( italic_t ) ∼ caligraphic_N ( italic_μ ; roman_Σ ). The transition function becomes:

p(Xi(t+1)|dpad(i)dpas(i)dpaτ(i)dpaz(i))=𝒩(β0+jdpad(i)βjdXj(t)+jdpas(i)βjsXj(t+1)+τdpaτ(i){1,,p}βτaXi(tτ)+jdpaz(i)βjzZj;σ2)\begin{array}[]{l}p(X_{i}(t+1)|dpa_{d}(i)\cup dpa_{s}(i)\cup dpa_{\tau}(i)\cup dpa% _{z}(i))=\mathcal{N}\left(\beta_{0}+\sum\limits_{j\in dpa_{d}(i)}\beta^{d}_{j}% X_{j}(t)\right.\\ \qquad\qquad\left.+\sum\limits_{j\in dpa_{s}(i)}\beta^{s}_{j}X_{j}(t+1)+\sum% \limits_{\tau\in dpa_{\tau}(i)\subset\{1,...,p\}}\beta^{a}_{\tau}X_{i}(t-\tau)% +\sum\limits_{j\in dpa_{z}(i)}\beta^{z}_{j}Z_{j};\sigma^{2}\right)\end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) | italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) ∪ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) ∪ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) ∪ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) ) = caligraphic_N ( italic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) end_CELL end_ROW start_ROW start_CELL + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) + ∑ start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) ⊂ { 1 , … , italic_p } end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_a end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ; italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ) end_CELL end_ROW end_ARRAY (10)

and the result is that,

μX(t+1)=β0+βTμ,σX(t+1)2=σ2+βTΣβ,Cov[{X(t)},{X(t+1)},{X(tτ)},Z;X(t+1)]=βjΣi,jformulae-sequencesubscript𝜇𝑋𝑡1subscript𝛽0superscript𝛽𝑇𝜇subscriptsuperscript𝜎2𝑋𝑡1superscript𝜎2superscript𝛽𝑇Σ𝛽𝐶𝑜𝑣𝑋𝑡𝑋𝑡1𝑋𝑡𝜏𝑍𝑋𝑡1subscript𝛽𝑗subscriptΣ𝑖𝑗\begin{array}[]{l}\mu_{X(t+1)}=\beta_{0}+\beta^{T}\mu,\,\sigma^{2}_{X(t+1)}=% \sigma^{2}+\beta^{T}\Sigma\beta,\\ Cov\left[\{X(t)\},\{X(t+1)\},\{X(t-\tau)\},Z;X(t+1)\right]=\sum\beta_{j}\Sigma% _{i,j}\end{array}start_ARRAY start_ROW start_CELL italic_μ start_POSTSUBSCRIPT italic_X ( italic_t + 1 ) end_POSTSUBSCRIPT = italic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_β start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_μ , italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_X ( italic_t + 1 ) end_POSTSUBSCRIPT = italic_σ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_β start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT roman_Σ italic_β , end_CELL end_ROW start_ROW start_CELL italic_C italic_o italic_v [ { italic_X ( italic_t ) } , { italic_X ( italic_t + 1 ) } , { italic_X ( italic_t - italic_τ ) } , italic_Z ; italic_X ( italic_t + 1 ) ] = ∑ italic_β start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT roman_Σ start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT end_CELL end_ROW end_ARRAY

Indeed in [36, Theorem 7.3-7.4] it is shown that there is a bidirectional equivalence between such a normal joint distribution and normal transition function.

We shall see that this permits, in the temporal case, a repeated composition of the propagation of the covariance with each time step, when computing the likelihood and performing inference. This is associated with the deep theory of filtering methods, which typically studies Gaussian DBN propagation with a simple state-observable structure.

Exponential Family Functional Form

An exponential family is defined with, recalling 𝒳𝒳\mathcal{X}caligraphic_X to be an abstract space for which both X(t),Z𝒳𝑋𝑡𝑍𝒳X(t),Z\in\mathcal{X}italic_X ( italic_t ) , italic_Z ∈ caligraphic_X,

  1. 1.

    A sufficient statistics function τ:𝒳K:𝜏𝒳superscript𝐾\tau:\mathcal{X}\to\mathbb{R}^{K}italic_τ : caligraphic_X → blackboard_R start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT for some K𝐾Kitalic_K

  2. 2.

    A convex set of a parameter space ΘmΘsuperscript𝑚\Theta\subset\mathbb{R}^{m}roman_Θ ⊂ blackboard_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT

  3. 3.

    A natural parameter function t:mK:𝑡superscript𝑚superscript𝐾t:\mathbb{R}^{m}\to\mathbb{R}^{K}italic_t : blackboard_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT → blackboard_R start_POSTSUPERSCRIPT italic_K end_POSTSUPERSCRIPT

  4. 4.

    A measure A𝐴Aitalic_A over 𝒳𝒳\mathcal{X}caligraphic_X

The exponential family is a distribution of the form

Pθ(ξ)=1Z(θ)A(ξ)exp{(t(θ),τ(ξ)},Z(θ)=ξA(ξ)exp{(t(θ),τ(ξ))}P_{\theta}(\xi)=\frac{1}{Z(\theta)}A(\xi)\exp\left\{(t(\theta),\tau(\xi)\right% \},\,Z(\theta)=\sum\limits_{\xi}A(\xi)\exp\left\{(t(\theta),\tau(\xi))\right\}italic_P start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ( italic_ξ ) = divide start_ARG 1 end_ARG start_ARG italic_Z ( italic_θ ) end_ARG italic_A ( italic_ξ ) roman_exp { ( italic_t ( italic_θ ) , italic_τ ( italic_ξ ) } , italic_Z ( italic_θ ) = ∑ start_POSTSUBSCRIPT italic_ξ end_POSTSUBSCRIPT italic_A ( italic_ξ ) roman_exp { ( italic_t ( italic_θ ) , italic_τ ( italic_ξ ) ) } (11)

The case of natural parameters is the most standard, and the one we have been exploring in the formulations above, this corresponds to (t(θ),τ(ξ))=(θ,τ(ξ))𝑡𝜃𝜏𝜉𝜃𝜏𝜉(t(\theta),\tau(\xi))=(\theta,\tau(\xi))( italic_t ( italic_θ ) , italic_τ ( italic_ξ ) ) = ( italic_θ , italic_τ ( italic_ξ ) ). One has to be careful, however, in constraining the space of parameters θ𝜃\thetaitalic_θ to ones normalized, i.e.,

Θ={θm:exp((θ,τ(ξ)))𝑑ξ<}Θconditional-set𝜃superscript𝑚𝜃𝜏𝜉differential-d𝜉\Theta=\{\theta\in\mathbb{R}^{m}:\int\exp((\theta,\tau(\xi)))d\xi<\infty\}roman_Θ = { italic_θ ∈ blackboard_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT : ∫ roman_exp ( ( italic_θ , italic_τ ( italic_ξ ) ) ) italic_d italic_ξ < ∞ }
Linear Structural Equation Models

Consider the general case wherein the function f𝑓fitalic_f, as given by (1), is given a linear parametrization with respect to continuous variables X(t),Z𝑋𝑡𝑍X(t),Zitalic_X ( italic_t ) , italic_Z, as in (5), however for continuous variables. One can then perform learning by minimizing the appropriate least squares fit to the data. This is most common in the approach of Linear Structural Equation Models, in which case a linear parametrization permits greater computational ease.

Linear Structural Equation Models (LSEMs) are the most common non-Gaussian DBN for modeling continuous variables. With LSEMs (see, e.g. [7] for a general reference and [53] for application to causal inference) presume a general linear structure that is associated with a discretization of a dynamical system:

X˙(t)=f(X(t),Z)˙𝑋𝑡𝑓𝑋𝑡𝑍\dot{X}(t)=f(X(t),Z)over˙ start_ARG italic_X end_ARG ( italic_t ) = italic_f ( italic_X ( italic_t ) , italic_Z )

with this generality, there is a degree of ambiguity in the literature, because there are a number of ways to consider a discrete model of this.

An SEM could refer to a purely time-instant (static) model, with dependencies dpas𝑑𝑝subscript𝑎𝑠dpa_{s}italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT and dpaz𝑑𝑝subscript𝑎𝑧dpa_{z}italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT only, as in [17, 45]. More recently, DBNs more broadly have become interchangeable with SEMs, for instance, the representation in [50] has all dependencies as described here except, it can be argued for simplicity, Z𝑍Zitalic_Z.

Nonlinear, Nonparametric and Neural Models

The structure of f𝑓fitalic_f, or even if there is an f𝑓fitalic_f at all, is of course flexible like with any statistical modeling. More complex statistical models for the transition introduce significant additional difficulties in training, by adding nonconvexity to the landscape and significantly expanding the degrees of freedom in the model that need to be fit with data. Given the emphasis in this article on simple illustrative DBNs, we will but briefly mention some examples, neither comprehensive nor authoritative.

Broadly speaking, there are a number of popular parametric forms of nonlinear models that can be used from time series literature, e.g. [19]. Neural networks have enabled computationally intensive empirical unsupervised time series models [22, 9]. Nonlinear models in the SEM statistical community have also been studied [42]. The work [58] uses splines to model the nonlinear relationships in the transition distributions. The work [35] uses a kernel nonparametric regression model to learn DBNs for gene regulatory networks.

3 Learning From Multiple Trajectories

Consider that we receive N𝑁Nitalic_N samples of trajectories 𝒯jsuperscript𝒯𝑗\mathcal{T}^{j}caligraphic_T start_POSTSUPERSCRIPT italic_j end_POSTSUPERSCRIPT, each with a total time of T𝑇Titalic_T

𝒮=n=1N𝒯n={Z(n),X(n)(0),X(n)(1),X(n)(2),,X(n)(T)}n=1,,N𝒮superscriptsubscript𝑛1𝑁superscript𝒯𝑛subscriptsuperscript𝑍𝑛superscript𝑋𝑛0superscript𝑋𝑛1superscript𝑋𝑛2superscript𝑋𝑛𝑇𝑛1𝑁\mathcal{S}=\cup_{n=1}^{N}\mathcal{T}^{n}=\{Z^{(n)},X^{(n)}(0),X^{(n)}(1),X^{(% n)}(2),...,X^{(n)}(T)\}_{n=1,...,N}caligraphic_S = ∪ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT caligraphic_T start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT = { italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( 0 ) , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( 2 ) , … , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_T ) } start_POSTSUBSCRIPT italic_n = 1 , … , italic_N end_POSTSUBSCRIPT (12)

and we are interested in fitting a DBN model to this data. This amounts to defining the specific form of f𝑓fitalic_f in (1). More specifically, it amounts to identifying the parents of each Xj(t)subscript𝑋𝑗𝑡X_{j}(t)italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) in the graph 𝒢¯¯𝒢\bar{\mathcal{G}}over¯ start_ARG caligraphic_G end_ARG, as well as specific functional form of the transition function f𝑓fitalic_f.

3.1 Maximum Likelihood Calculations

In reviewing the literature on learning DBNs from data, it is typical to disregard the distinction of the trajectory sample 𝒯isuperscript𝒯𝑖\mathcal{T}^{i}caligraphic_T start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT and the time transition samples {X(i)(t),X(i)(t+1)}superscript𝑋𝑖𝑡superscript𝑋𝑖𝑡1\{X^{(i)}(t),X^{(i)}(t+1)\}{ italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( italic_t ) , italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( italic_t + 1 ) }. As far as understanding the meta-methodological cause of this, it appears that this can be said to be due to DBNs being considered not uniquely, but as a special kind of Bayesian Network, or as splices of the same time series trajectory.

Consider the two methodological components thereof, time series analysis and PGMs. For the latter, consider two popular works that are effectively extensions of methods developed for BNs extended to DBNs, the continuous reformulation of the problem into one with adjacency matrices as decision variables, called “NOTEARS” in the static case [72] and “dynotears” [50], as well as the use of “Generative Flow Networks”, a Reinforcement Learning-motivated sampler, for the static case in [17] and the dynamic case in [2]. It can be seen that in all of these cases, the likelihood is expressed as,

p(𝒮|θG,𝒢¯)=n=1Ns=1Tp(X(n)(Ts+1)|θ,Z(n),{Xj(n)(Ts)},{Xj(n)(Ts+1)},{X(n)(Tsτ)}τ=1,,p)\begin{array}[]{l}p\left(\mathcal{S}|\theta_{G},\bar{\mathcal{G}}\right)=\prod% \limits_{n=1}^{N}\prod\limits_{s=1}^{T}p\left(X^{(n)}(T-s+1)|\theta,Z^{(n)},\{% X_{j}^{(n)}(T-s)\},\right.\\ \qquad\qquad\left.\{X^{(n)}_{j}(T-s+1)\},\{X^{(n)}(T-s-\tau)\}_{\tau=1,...,p}% \right)\end{array}start_ARRAY start_ROW start_CELL italic_p ( caligraphic_S | italic_θ start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) = ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_s = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_p ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_T - italic_s + 1 ) | italic_θ , italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT , { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_T - italic_s ) } , end_CELL end_ROW start_ROW start_CELL { italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_T - italic_s + 1 ) } , { italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_T - italic_s - italic_τ ) } start_POSTSUBSCRIPT italic_τ = 1 , … , italic_p end_POSTSUBSCRIPT ) end_CELL end_ROW end_ARRAY (13)

and with the standard application of the logarithm, change into a sum, and maximization, or a posteriori maximization through a Bayesian criterion, as the target.

And similarly, in consulting standard texts on time series analysis with detailed derivations of Likelihood computation for various models, e.g. [19, 47], we see that in the derivations of the likelihood, the data is considered to be a sequence of i.i.d. observations, that is, a sequence of observations from a stochastic process {X^(0),X^(1),X^(2),,X^(T)}^𝑋0^𝑋1^𝑋2^𝑋𝑇\{\hat{X}(0),\hat{X}(1),\hat{X}(2),...,\hat{X}(T)\}{ over^ start_ARG italic_X end_ARG ( 0 ) , over^ start_ARG italic_X end_ARG ( 1 ) , over^ start_ARG italic_X end_ARG ( 2 ) , … , over^ start_ARG italic_X end_ARG ( italic_T ) }, rather than the general form given in (12), and is fit to (13), just with a simpler expression in the sum index.

This presents the natural question as to whether or, in light of this expression’s universal use, why, these approaches “commute”, that is, whether the equivalent expressions for the likelihood, brought from different perspectives, are appropriately equivalent and true.

We shall see that indeed, arithmetically, the expression for the likelihood is correct for DBNs, and so this makes the calculation of the

3.2 Considerations from Axioms of Causal Learning

DBNs, compared to BNs, contain both time-varying as well as static variables. While the aggregate structure is still a DAG, suggesting that formally many of the same principles regarding inference as well as structure and weight learning in BNs carry over to DBNs, the presence of time, especially when long trajectories are expected, adds significant complications.

Consider having a set of T𝑇Titalic_T sampled trajectories. On the one hand each trajectory is i.i.d., but above that, each time point relative to the previous presents an additional sample, with additional information. This presents the question: how can we distinguish the amount, and specific utility, of information gained from an additional trajectory, versus that gained from an additional time point?

This indicates the utility of including both static Z𝑍Zitalic_Z and dynamic X𝑋Xitalic_X variables in the model. Instead one can consider a new trajectory as a new sample of Z^^𝑍\hat{Z}over^ start_ARG italic_Z end_ARG, which itself samples X(0)π(X(0)|Z)similar-to𝑋0𝜋conditional𝑋0𝑍X(0)\sim\pi(X(0)|Z)italic_X ( 0 ) ∼ italic_π ( italic_X ( 0 ) | italic_Z ) then, X(0),X(1),,X(T)𝑋0𝑋1𝑋𝑇X(0),X(1),...,X(T)italic_X ( 0 ) , italic_X ( 1 ) , … , italic_X ( italic_T ). As such, one has T𝑇Titalic_T samples in order to learn P(X(t+1)|X(t),Z^)𝑃conditional𝑋𝑡1𝑋𝑡^𝑍P\left(X(t+1)|X(t),\hat{Z}\right)italic_P ( italic_X ( italic_t + 1 ) | italic_X ( italic_t ) , over^ start_ARG italic_Z end_ARG ). However, what can be said about how informative a marginal trajectory is towards learning P(X(t+1)|X(t))𝑃conditional𝑋𝑡1𝑋𝑡P\left(X(t+1)|X(t)\right)italic_P ( italic_X ( italic_t + 1 ) | italic_X ( italic_t ) ), that is, the marginal conditional over the population of Z𝑍Zitalic_Z?

It seems intuitive that in some way P(Z^)𝑃^𝑍P(\hat{Z})italic_P ( over^ start_ARG italic_Z end_ARG ) as well as π(X(0)|Z)𝜋conditional𝑋0𝑍\pi(X(0)|Z)italic_π ( italic_X ( 0 ) | italic_Z ) should weigh the in, where P(Z^)𝑃^𝑍P(\hat{Z})italic_P ( over^ start_ARG italic_Z end_ARG ) is the population prior of P(Z^)𝑃^𝑍P(\hat{Z})italic_P ( over^ start_ARG italic_Z end_ARG ), corresponds to the information gained for P(X(t+1)|X(t))𝑃conditional𝑋𝑡1𝑋𝑡P\left(X(t+1)|X(t)\right)italic_P ( italic_X ( italic_t + 1 ) | italic_X ( italic_t ) ). For continuous variables, the information depends on the cross correlation as the prior evaluation is perturbed. It is clear then that information complexity is actually benefited from low variance, or low cardinality of a discrete space, between trajectories. Thus, the DBN model is particularly suitable for understanding long and complex time evolution of systems that do not change much in different contexts.

Recall that causal sufficiency requires that all confounding variables be present and observed. It is clear that different trajectories represent some distinctions in circumstance of object that the observations are taken from. If this is a latent variable, this presents an insurmountable probably to identification.

As far the required observations for causal identification, there exists at least one Z𝑍Zitalic_Z such that for all trajectories Z𝑍Zitalic_Z is observed, and Z𝑍Zitalic_Z is in the parent of some X(t)𝑋𝑡X(t)italic_X ( italic_t ). We can consider that the classic Randomized Clinical Trial is exactly that ZH{0,A}subscript𝑍𝐻0𝐴Z_{H}\in\{0,A\}italic_Z start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT ∈ { 0 , italic_A } and then testing for p(X(t+1)|X(t),Z,ZH=0)p(X(t+1)|X(t),Z,ZH=A)𝑝conditional𝑋𝑡1𝑋𝑡subscript𝑍subscript𝑍𝐻0𝑝conditional𝑋𝑡1𝑋𝑡subscript𝑍subscript𝑍𝐻𝐴p(X(t+1)|X(t),Z_{\setminus},Z_{H}=0)\neq p(X(t+1)|X(t),Z_{\setminus},Z_{H}=A)italic_p ( italic_X ( italic_t + 1 ) | italic_X ( italic_t ) , italic_Z start_POSTSUBSCRIPT ∖ end_POSTSUBSCRIPT , italic_Z start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT = 0 ) ≠ italic_p ( italic_X ( italic_t + 1 ) | italic_X ( italic_t ) , italic_Z start_POSTSUBSCRIPT ∖ end_POSTSUBSCRIPT , italic_Z start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT = italic_A ), with a null and alternative hypothesis and Zsubscript𝑍Z_{\setminus}italic_Z start_POSTSUBSCRIPT ∖ end_POSTSUBSCRIPT as other covariates, assumed to me completely independent of ZHsubscript𝑍𝐻Z_{H}italic_Z start_POSTSUBSCRIPT italic_H end_POSTSUBSCRIPT.

The less that Zsubscript𝑍Z_{\setminus}italic_Z start_POSTSUBSCRIPT ∖ end_POSTSUBSCRIPT mediates the transitions, the more the trajectories can be treated as independent.

3.2.1 Conditional Independence and d(irected)-separation

Let G𝐺Gitalic_G be a (D)BN. Let X1,,Xnsubscript𝑋1subscript𝑋𝑛X_{1},\dots,X_{n}italic_X start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , italic_X start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT be the set of random variables of (D)BN. Let V,W𝑉𝑊V,Witalic_V , italic_W be subsets of {1,,n}1𝑛\{1,\dots,n\}{ 1 , … , italic_n }. We say that the set XVsubscript𝑋𝑉X_{V}italic_X start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT is conditional independent of XWsubscript𝑋𝑊X_{W}italic_X start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT given XZsubscript𝑋𝑍X_{Z}italic_X start_POSTSUBSCRIPT italic_Z end_POSTSUBSCRIPT if the following condition holds:

P(XV|XW,XZ)=P(XV|XZ).𝑃conditionalsubscript𝑋𝑉subscript𝑋𝑊subscript𝑋𝑍𝑃conditionalsubscript𝑋𝑉subscript𝑋𝑍P(X_{V}|X_{W},X_{Z})=P(X_{V}|X_{Z}).italic_P ( italic_X start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT | italic_X start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , italic_X start_POSTSUBSCRIPT italic_Z end_POSTSUBSCRIPT ) = italic_P ( italic_X start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT | italic_X start_POSTSUBSCRIPT italic_Z end_POSTSUBSCRIPT ) .

Independence of various sets of variables can be determined by examining d-separation (d means directional) criterion of the (D)BN dag [13].

A (undirected) trail T=(VT,ET)𝑇subscript𝑉𝑇subscript𝐸𝑇T=(V_{T},E_{T})italic_T = ( italic_V start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT ) (path that does not contain any vertex twice) of G𝐺Gitalic_G is blocked by the set Z𝑍Zitalic_Z if vV(G)for-all𝑣𝑉𝐺\forall v\in V(G)∀ italic_v ∈ italic_V ( italic_G ) either (i) vZVT𝑣𝑍subscript𝑉𝑇v\in Z\cap V_{T}italic_v ∈ italic_Z ∩ italic_V start_POSTSUBSCRIPT italic_T end_POSTSUBSCRIPT, and in-degree of v𝑣vitalic_v is at most 1; (ii) vZ𝑣𝑍v\notin Zitalic_v ∉ italic_Z and children(v)Z=children𝑣𝑍\textit{children}(v)\cap Z=\emptysetchildren ( italic_v ) ∩ italic_Z = ∅, and both arcs of T𝑇Titalic_T connected to v𝑣vitalic_v are directed to v𝑣vitalic_v. The sets V𝑉Vitalic_V and W𝑊Witalic_W are d-separated if any trail between V𝑉Vitalic_V and W𝑊Witalic_W is blocked by the set Z𝑍Zitalic_Z. If V𝑉Vitalic_V and W𝑊Witalic_W are not d-separated, we say that they are d-connected.

The set XVsubscript𝑋𝑉X_{V}italic_X start_POSTSUBSCRIPT italic_V end_POSTSUBSCRIPT is conditional independent of XWsubscript𝑋𝑊X_{W}italic_X start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT given XZsubscript𝑋𝑍X_{Z}italic_X start_POSTSUBSCRIPT italic_Z end_POSTSUBSCRIPT, if V𝑉Vitalic_V and W𝑊Witalic_W are d-separated by Z𝑍Zitalic_Z.

3.2.2 Causal Sufficiency

We discuss various definition from [5].

Definition 3.1

We say that U=u𝑈𝑢U=uitalic_U = italic_u is directly sufficient for V=v𝑉𝑣V=vitalic_V = italic_v if for all cR(V(XY)c\in R(V-(X\cup Y)italic_c ∈ italic_R ( italic_V - ( italic_X ∪ italic_Y ) and all uR(U)𝑢𝑅𝑈u\in R(U)italic_u ∈ italic_R ( italic_U ) it holds that (M,u)[Xx,Cc]Y=ymodels𝑀𝑢delimited-[]formulae-sequence𝑋𝑥𝐶𝑐𝑌𝑦(M,u)\models[X\leftarrow x,C\leftarrow c]Y=y( italic_M , italic_u ) ⊧ [ italic_X ← italic_x , italic_C ← italic_c ] italic_Y = italic_y.

Definition 3.2

We define that X=x𝑋𝑥X=xitalic_X = italic_x is strongly sufficient for Y=y𝑌𝑦Y=yitalic_Y = italic_y if there is an N=n𝑁𝑛N=nitalic_N = italic_n such that YN𝑌𝑁Y\subseteq Nitalic_Y ⊆ italic_N and y𝑦yitalic_y is a restriction of n𝑛nitalic_n to Y𝑌Yitalic_Y and X=x𝑋𝑥X=xitalic_X = italic_x is directly sufficient for N=n𝑁𝑛N=nitalic_N = italic_n

Definition 3.3

We define X=x𝑋𝑥X=xitalic_X = italic_x is weakly sufficient for Y=y𝑌𝑦Y=yitalic_Y = italic_y in M𝑀Mitalic_M if for uR(U)𝑢𝑅𝑈u\in R(U)italic_u ∈ italic_R ( italic_U ) it holds that (M,u)[Xx]Y=ymodels𝑀𝑢delimited-[]𝑋𝑥𝑌𝑦(M,u)\models[X\leftarrow x]Y=y( italic_M , italic_u ) ⊧ [ italic_X ← italic_x ] italic_Y = italic_y

3.2.3 Causal discovery and Inference

The problem of Causal discovery is to find a true graph G𝐺Gitalic_G as the best possible explanation of the given data. There are various causal discovery methods. Such as score-based algorithms, which try to recover the true causal graph by finding a graph that maximize a given scoring function. Another example are Constraints based algorithms or continuous optimization algorithms.

3.3 Closed System Graph Causal Identification Model and Likelihood Information

In an effort to establish appropriate first principles by which to study the computational and statistical properties of joint structure-parameter learning in DBNs, we will present two definitions of specific setting and problem. In this first case, we consider the more mathematically convenient circumstance of causal sufficiency, or more broadly, a closed system whereby all of the forces and mechanisms influencing the random variables are either observed, or are ultimately latent variables that are completely determined by observed variables.

Closed System Graph Causal Identification Model: Assume that {X(t),Z}𝑋𝑡𝑍\{X(t),Z\}{ italic_X ( italic_t ) , italic_Z } are random variables whose interdependencies are fully described y some theoretical DBN defined by a graph G¯¯𝐺\bar{G}over¯ start_ARG italic_G end_ARG and f~f~𝑓𝑓\tilde{f}\approx fover~ start_ARG italic_f end_ARG ≈ italic_f, there f~~𝑓\tilde{f}over~ start_ARG italic_f end_ARG is defined as the transition function given by

p(Xi(t+1)A)=f(X(t),Xji(t+1),{Xi(tτ)}τ=1,,p,Z)+ϵ𝑝subscript𝑋𝑖𝑡1𝐴𝑓𝑋𝑡subscript𝑋𝑗𝑖𝑡1subscriptsubscript𝑋𝑖𝑡𝜏𝜏1𝑝𝑍italic-ϵp(X_{i}(t+1)\in A)=f(X(t),X_{j\neq i}(t+1),\{X_{i}(t-\tau)\}_{\tau=1,...,p},Z)+\epsilonitalic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ∈ italic_A ) = italic_f ( italic_X ( italic_t ) , italic_X start_POSTSUBSCRIPT italic_j ≠ italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) , { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t - italic_τ ) } start_POSTSUBSCRIPT italic_τ = 1 , … , italic_p end_POSTSUBSCRIPT , italic_Z ) + italic_ϵ

wherein ϵitalic-ϵ\epsilonitalic_ϵ is a zero mean error term. This additive noise model formulation has been leveraged to establish results on the identifiability of the structure 𝒢¯¯𝒢\bar{\mathcal{G}}over¯ start_ARG caligraphic_G end_ARG [53, 32].

The statistical task is as follows:

  • Frequentist: Given 𝒮𝒮\mathcal{S}caligraphic_S, identify the correct ground truth 𝒢¯¯𝒢\bar{\mathcal{G}}over¯ start_ARG caligraphic_G end_ARG and a set of parameters that maximizes the likelihood of the data given the model, θ^^𝜃\hat{\theta}over^ start_ARG italic_θ end_ARG.

  • Bayesian: Given 𝒮𝒮\mathcal{S}caligraphic_S and some background prior uncertainty knowledge over the structure πG(𝒢¯)subscript𝜋𝐺¯𝒢\pi_{G}(\bar{\mathcal{G}})italic_π start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( over¯ start_ARG caligraphic_G end_ARG ) and parameters p(θ|𝒢¯)𝑝conditional𝜃¯𝒢p(\theta|\bar{\mathcal{G}})italic_p ( italic_θ | over¯ start_ARG caligraphic_G end_ARG ), find the a posteriori distribution over the graphs p(𝒢¯|𝒮)𝑝conditional¯𝒢𝒮p\left(\bar{\mathcal{G}}|\mathcal{S}\right)italic_p ( over¯ start_ARG caligraphic_G end_ARG | caligraphic_S ) and, hierarchically, the weights p(θ|𝒢¯,𝒮)𝑝conditional𝜃¯𝒢𝒮p\left(\theta|\bar{\mathcal{G}},\mathcal{S}\right)italic_p ( italic_θ | over¯ start_ARG caligraphic_G end_ARG , caligraphic_S ).

As |𝒮|𝒮\left|\mathcal{S}\right|\to\infty| caligraphic_S | → ∞, it is known that standard scoring and likelihood metrics enable recovery of the ground truth structure and parameters (𝒢¯,θ𝒢¯)¯𝒢superscript𝜃¯𝒢\left(\bar{\mathcal{G}},\theta^{\bar{\mathcal{G}}}\right)( over¯ start_ARG caligraphic_G end_ARG , italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT ). However, with the superexponential scaling of possible graph structures

Finally, let us investigate in more detail the validity of the iid-inter-intra-trajectory assumption implicit in the likelihood form given by (13).

Consider that we have two observed trajectories for three time steps, that is,

𝒮={X(1)(0),X(1)(1),X(1)(2),X(1)(3),X(2)(0),X(2)(1),X(2)(2),X(2)(3)}𝒮superscript𝑋10superscript𝑋11superscript𝑋12superscript𝑋13superscript𝑋20superscript𝑋21superscript𝑋22superscript𝑋23\mathcal{S}=\left\{X^{(1)}(0),X^{(1)}(1),X^{(1)}(2),X^{(1)}(3),X^{(2)}(0),X^{(% 2)}(1),X^{(2)}(2),X^{(2)}(3)\right\}caligraphic_S = { italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 3 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 3 ) }

We know the trajectories themselves are independent, so we can write the likelihood as a product. The critical consideration now is the treatment of the starting value X(i)(0)superscript𝑋𝑖0X^{(i)}(0)italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( 0 ). It can be taken as an exogenous variable, which would place it in the same role as the conditioned parameters θ𝜃\thetaitalic_θ and 𝒢¯¯𝒢\bar{\mathcal{G}}over¯ start_ARG caligraphic_G end_ARG. Alternatively, a prior of p(X(0)|θ0,θ,𝒢¯)𝑝conditional𝑋0superscript𝜃0𝜃¯𝒢p\left(X(0)|\theta^{0},\theta,\bar{\mathcal{G}}\right)italic_p ( italic_X ( 0 ) | italic_θ start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) would specify that a particular DBN is associated with certain starting points. However, notice that we must add an additional parameter θ0superscript𝜃0\theta^{0}italic_θ start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT, which would functionally play a similar role as simply conditioning on X(i)(0)superscript𝑋𝑖0X^{(i)}(0)italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( 0 ) itself. So, likelihood can be written to be of the form,

L(𝒮|θ,𝒢¯)=p(X(1)(1),X(1)(2),X(1)(3)|X(1)(0),θ,𝒢¯)p(X(2)(1),X(2)(2),X(2)(3)|X(2)(0),θ,𝒢¯)=p(X(1)(2),X(1)(3)|X(1)(1),X(1)(0),θ,𝒢¯)p(X(1)(1)|X(1)(0),θ,𝒢¯)×p(X(2)(2),X(2)(3)|X(2)(1),X(2)(0),θ,𝒢¯)p(X(2)(1)|X(2)(0),θ,𝒢¯)=p(X(1)(3)|X(1)(2),X(1)(0),θ,𝒢¯)p(X(1)(2)|X(1)(1),X(1)(0),θ,𝒢¯)p(X(1)(1)|X(1)(0),θ,𝒢¯)×p(X(2)(3)|X(2)(2),X(2)(0),θ,𝒢¯)p(X(2)(2)|X(2)(1),X(2)(0),θ,𝒢¯)p(X(2)(1)|X(2)(0),θ,𝒢¯)𝐿conditional𝒮𝜃¯𝒢𝑝superscript𝑋11superscript𝑋12conditionalsuperscript𝑋13superscript𝑋10𝜃¯𝒢𝑝superscript𝑋21superscript𝑋22conditionalsuperscript𝑋23superscript𝑋20𝜃¯𝒢absent𝑝superscript𝑋12conditionalsuperscript𝑋13superscript𝑋11superscript𝑋10𝜃¯𝒢𝑝conditionalsuperscript𝑋11superscript𝑋10𝜃¯𝒢absent𝑝superscript𝑋22conditionalsuperscript𝑋23superscript𝑋21superscript𝑋20𝜃¯𝒢𝑝conditionalsuperscript𝑋21superscript𝑋20𝜃¯𝒢absent𝑝conditionalsuperscript𝑋13superscript𝑋12superscript𝑋10𝜃¯𝒢𝑝conditionalsuperscript𝑋12superscript𝑋11superscript𝑋10𝜃¯𝒢𝑝conditionalsuperscript𝑋11superscript𝑋10𝜃¯𝒢absent𝑝conditionalsuperscript𝑋23superscript𝑋22superscript𝑋20𝜃¯𝒢𝑝conditionalsuperscript𝑋22superscript𝑋21superscript𝑋20𝜃¯𝒢𝑝conditionalsuperscript𝑋21superscript𝑋20𝜃¯𝒢\begin{array}[]{l}L\left(\mathcal{S}|\theta,\bar{\mathcal{G}}\right)=p\left(X^% {(1)}(1),X^{(1)}(2),X^{(1)}(3)|X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)p% \left(X^{(2)}(1),X^{(2)}(2),X^{(2)}(3)|X^{(2)}(0),\theta,\bar{\mathcal{G}}% \right)\\ \qquad=p\left(X^{(1)}(2),X^{(1)}(3)|X^{(1)}(1),X^{(1)}(0),\theta,\bar{\mathcal% {G}}\right)p\left(X^{(1)}(1)|X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)\\ \qquad\qquad\times p\left(X^{(2)}(2),X^{(2)}(3)|X^{(2)}(1),X^{(2)}(0),\theta,% \bar{\mathcal{G}}\right)p\left(X^{(2)}(1)|X^{(2)}(0),\theta,\bar{\mathcal{G}}% \right)\\ \qquad=p\left(X^{(1)}(3)|X^{(1)}(2),X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)% p\left(X^{(1)}(2)|X^{(1)}(1),X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)p\left(% X^{(1)}(1)|X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)\\ \qquad\qquad\times p\left(X^{(2)}(3)|X^{(2)}(2),X^{(2)}(0),\theta,\bar{% \mathcal{G}}\right)p\left(X^{(2)}(2)|X^{(2)}(1),X^{(2)}(0),\theta,\bar{% \mathcal{G}}\right)p\left(X^{(2)}(1)|X^{(2)}(0),\theta,\bar{\mathcal{G}}\right% )\\ \end{array}start_ARRAY start_ROW start_CELL italic_L ( caligraphic_S | italic_θ , over¯ start_ARG caligraphic_G end_ARG ) = italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL = italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL × italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL = italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL × italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW end_ARRAY

However, the latter transitions are independent given the starting point, suggesting that arithmetically we are indeed back to (13). So this is technically correct.

In order to see why this is still consistent with the intuition that trajectories should have a greater degree of independence, let us continue rewrite the likelihood:

L(𝒮|θ,𝒢¯)=p(X(1)(3)|X(1)(2),X(1)(0),θ,𝒢¯)p(X(1)(2)|X(1)(1),X(1)(0),θ,𝒢¯)p(X(1)(1)|X(1)(0),θ,𝒢¯)×p(X(2)(3)|X(2)(2),X(2)(0),θ,𝒢¯)p(X(2)(2)|X(2)(1),X(2)(0),θ,𝒢¯)p(X(2)(1)|X(2)(0),θ,𝒢¯)=p(X(1)(3)|X(1)(2),θ,𝒢¯)p(X(1)(2),X(1)(1)|X(1)(0),θ,𝒢¯)×p(X(2)(3)|X(2)(2),θ,𝒢¯)p(X(2)(2),X(2)(1)|X(2)(0),θ,𝒢¯)𝐿conditional𝒮𝜃¯𝒢𝑝conditionalsuperscript𝑋13superscript𝑋12superscript𝑋10𝜃¯𝒢𝑝conditionalsuperscript𝑋12superscript𝑋11superscript𝑋10𝜃¯𝒢𝑝conditionalsuperscript𝑋11superscript𝑋10𝜃¯𝒢absent𝑝conditionalsuperscript𝑋23superscript𝑋22superscript𝑋20𝜃¯𝒢𝑝conditionalsuperscript𝑋22superscript𝑋21superscript𝑋20𝜃¯𝒢𝑝conditionalsuperscript𝑋21superscript𝑋20𝜃¯𝒢absent𝑝conditionalsuperscript𝑋13superscript𝑋12𝜃¯𝒢𝑝superscript𝑋12conditionalsuperscript𝑋11superscript𝑋10𝜃¯𝒢absent𝑝conditionalsuperscript𝑋23superscript𝑋22𝜃¯𝒢𝑝superscript𝑋22conditionalsuperscript𝑋21superscript𝑋20𝜃¯𝒢\begin{array}[]{l}L\left(\mathcal{S}|\theta,\bar{\mathcal{G}}\right)=p\left(X^% {(1)}(3)|X^{(1)}(2),X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)p\left(X^{(1)}(2% )|X^{(1)}(1),X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)p\left(X^{(1)}(1)|X^{(1% )}(0),\theta,\bar{\mathcal{G}}\right)\\ \qquad\qquad\times p\left(X^{(2)}(3)|X^{(2)}(2),X^{(2)}(0),\theta,\bar{% \mathcal{G}}\right)p\left(X^{(2)}(2)|X^{(2)}(1),X^{(2)}(0),\theta,\bar{% \mathcal{G}}\right)p\left(X^{(2)}(1)|X^{(2)}(0),\theta,\bar{\mathcal{G}}\right% )\\ \qquad=p\left(X^{(1)}(3)|X^{(1)}(2),\theta,\bar{\mathcal{G}}\right)p\left(X^{(% 1)}(2),X^{(1)}(1)|X^{(1)}(0),\theta,\bar{\mathcal{G}}\right)\\ \qquad\qquad\times p\left(X^{(2)}(3)|X^{(2)}(2),\theta,\bar{\mathcal{G}}\right% )p\left(X^{(2)}(2),X^{(2)}(1)|X^{(2)}(0),\theta,\bar{\mathcal{G}}\right)\end{array}start_ARRAY start_ROW start_CELL italic_L ( caligraphic_S | italic_θ , over¯ start_ARG caligraphic_G end_ARG ) = italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL × italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL = italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL × italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 3 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW end_ARRAY

Continuing this through, we can see that as T𝑇T\to\inftyitalic_T → ∞, the expression becomes

p(X(i)(T)|X(i)(T1),θ,𝒢¯)p(X(i)(T1),,X(i)(1)|X(i)(0),θ,𝒢¯)𝑝conditionalsuperscript𝑋𝑖𝑇superscript𝑋𝑖𝑇1𝜃¯𝒢𝑝superscript𝑋𝑖𝑇1conditionalsuperscript𝑋𝑖1superscript𝑋𝑖0𝜃¯𝒢p\left(X^{(i)}(T)|X^{(i)}(T-1),\theta,\bar{\mathcal{G}}\right)p\left(X^{(i)}(T% -1),\cdots,X^{(i)}(1)|X^{(i)}(0),\theta,\bar{\mathcal{G}}\right)italic_p ( italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( italic_T ) | italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( italic_T - 1 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( italic_T - 1 ) , ⋯ , italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( 1 ) | italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( 0 ) , italic_θ , over¯ start_ARG caligraphic_G end_ARG )

from which we can see the intuition of the circumstance. Asymptotically, the second term approaches the stationary distribution, and the independence assumption becomes valid. Otherwise, we can consider that for T𝑇Titalic_T much longer than the mixing time, this assumption is also valid for most of the transitions. However, otherwise we can see that:

  1. 1.

    The larger the measure of the support, and the more distinct the starting points X(i)(0)superscript𝑋𝑖0X^{(i)}(0)italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( 0 ) are from each other, the longer it can take for the stochastic process to mix to erase the information from initial conditions.

  2. 2.

    In finite time, the influence of history will depend on the conductance of the Markovian process defined by (θ𝒢¯,𝒢¯)superscript𝜃¯𝒢¯𝒢(\theta^{\bar{\mathcal{G}}},\bar{\mathcal{G}})( italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ), that is,

    ϕ(𝒢¯)=minS,S𝒢¯,|S|,|S|<|𝒢¯|/2{A(S,S;θ,𝒢¯)|S|}italic-ϕ¯𝒢subscriptformulae-sequence𝑆superscript𝑆¯𝒢𝑆superscript𝑆¯𝒢2𝐴𝑆superscript𝑆𝜃¯𝒢𝑆\phi(\bar{\mathcal{G}})=\min\limits_{S,S^{\prime}\subset\bar{\mathcal{G}},|S|,% |S^{\prime}|<|\bar{\mathcal{G}}|/2}\left\{\frac{A(S,S^{\prime};\theta,\bar{% \mathcal{G}})}{|S|}\right\}italic_ϕ ( over¯ start_ARG caligraphic_G end_ARG ) = roman_min start_POSTSUBSCRIPT italic_S , italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ⊂ over¯ start_ARG caligraphic_G end_ARG , | italic_S | , | italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | < | over¯ start_ARG caligraphic_G end_ARG | / 2 end_POSTSUBSCRIPT { divide start_ARG italic_A ( italic_S , italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ; italic_θ , over¯ start_ARG caligraphic_G end_ARG ) end_ARG start_ARG | italic_S | end_ARG } (14)

    where,

    A(S,S;θ,𝒢¯):=iSjSp(Xj(t+1)|Vi)|S|assign𝐴𝑆superscript𝑆𝜃¯𝒢subscript𝑖𝑆subscript𝑗superscript𝑆𝑝conditionalsubscript𝑋𝑗𝑡1subscript𝑉𝑖𝑆A(S,S^{\prime};\theta,\bar{\mathcal{G}}):=\frac{\sum_{i\in S}\sum_{j\in S^{% \prime}}p(X_{j}(t+1)|V_{i})}{|S|}italic_A ( italic_S , italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ; italic_θ , over¯ start_ARG caligraphic_G end_ARG ) := divide start_ARG ∑ start_POSTSUBSCRIPT italic_i ∈ italic_S end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_j ∈ italic_S start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_p ( italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) | italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) end_ARG start_ARG | italic_S | end_ARG

    where Visubscript𝑉𝑖V_{i}italic_V start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT could be any predecessor in the graph for Xi(t+1)subscript𝑋𝑖𝑡1X_{i}(t+1)italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ).

This appears in the previous likelihood as follows: we are actually not learning generic trajectories, but those associated with the history of the trajectory, since we are learning conditional distributions. So, in the previous calculation, under the most unfavorable scenario, (X(1)(1),X(1)(2),X(1)(3))superscript𝑋11superscript𝑋12superscript𝑋13(X^{(1)}(1),X^{(1)}(2),X^{(1)}(3))( italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( 3 ) ) and (X(2)(1),X(2)(2),X(2)(3))superscript𝑋21superscript𝑋22superscript𝑋23(X^{(2)}(1),X^{(2)}(2),X^{(2)}(3))( italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 2 ) , italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( 3 ) ) would correspond to different regions of state space for X𝑋Xitalic_X, that is X(1)(t)C1+C2superscript𝑋1𝑡subscript𝐶1subscript𝐶2X^{(1)}(t)\geq C_{1}+C_{2}italic_X start_POSTSUPERSCRIPT ( 1 ) end_POSTSUPERSCRIPT ( italic_t ) ≥ italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT and X(2)(t)C1C2superscript𝑋2𝑡subscript𝐶1subscript𝐶2X^{(2)}(t)\leq C_{1}-C_{2}italic_X start_POSTSUPERSCRIPT ( 2 ) end_POSTSUPERSCRIPT ( italic_t ) ≤ italic_C start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, for some large C2>0subscript𝐶20C_{2}>0italic_C start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT > 0, and we learning completely independent transitions that don’t inform each other, and moreover, with low spatial correlations, the information gained in the marginal is proportional to X(i)(0)superscript𝑋𝑖0X^{(i)}(0)italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( 0 ).

3.4 Sample Complexity for Forecasting

Where the intuition described above arises is in recent results in sample complexity. We shall see that while the arithmetic of (13) is still correct for DBNs, there are indeed important distinctions on the sample complexity with respect to the number of different trajectories N𝑁Nitalic_N and the length of the trajectory T𝑇Titalic_T.

Classically, theoretical analyses of time series sample complexity typically assumed that the trajectory is much longer than the mixing time and by cutting the synthetic burn in period, as such obviates any need to analyze historical dependence. (see the review of the previous results in [64])

We shall report on the theoretical small sample complexity results reported in [64], which is yet unpublished but extends and otherwise mentions similar recent results in [68, 67, 73, 16].

They derive the sample complexity results for learning and identifying a dynamic system,

X(t+1)=AX(t)+Bϵ(t),Y(t+1)=WX(t)+ξ(t)𝑋𝑡1𝐴𝑋𝑡𝐵italic-ϵ𝑡𝑌𝑡1𝑊𝑋𝑡𝜉𝑡\begin{array}[]{l}X(t+1)=AX(t)+B\epsilon(t),\\ Y(t+1)=WX(t)+\xi(t)\end{array}start_ARRAY start_ROW start_CELL italic_X ( italic_t + 1 ) = italic_A italic_X ( italic_t ) + italic_B italic_ϵ ( italic_t ) , end_CELL end_ROW start_ROW start_CELL italic_Y ( italic_t + 1 ) = italic_W italic_X ( italic_t ) + italic_ξ ( italic_t ) end_CELL end_ROW end_ARRAY (15)

which can be seen a simple Hidden Markov Model and ϵ(t),ξ(t)italic-ϵ𝑡𝜉𝑡\epsilon(t),\xi(t)italic_ϵ ( italic_t ) , italic_ξ ( italic_t ) are i.i.d. normal random variables. With a goal of fitting a test trajectory of length Tsuperscript𝑇T^{\prime}italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT (that is, not necessarily equal to T𝑇Titalic_T), i.e.,

L(f^;T,Px):=𝔼Px[1Tt=1Tf^(X(t))fW(X(t))2]assign𝐿^𝑓superscript𝑇subscript𝑃𝑥subscript𝔼subscript𝑃𝑥delimited-[]1superscript𝑇superscriptsubscript𝑡1superscript𝑇superscriptnorm^𝑓𝑋𝑡subscript𝑓𝑊𝑋𝑡2L(\hat{f};T^{\prime},P_{x}):=\mathbb{E}_{P_{x}}\left[\frac{1}{T^{\prime}}\sum% \limits_{t=1}^{T^{\prime}}\left\|\hat{f}(X(t))-f_{W}(X(t))\right\|^{2}\right]italic_L ( over^ start_ARG italic_f end_ARG ; italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , italic_P start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ) := blackboard_E start_POSTSUBSCRIPT italic_P start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUBSCRIPT [ divide start_ARG 1 end_ARG start_ARG italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_ARG ∑ start_POSTSUBSCRIPT italic_t = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ∥ over^ start_ARG italic_f end_ARG ( italic_X ( italic_t ) ) - italic_f start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ( italic_X ( italic_t ) ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT ]

with a minimax risk, i.e., minimizing, algorithmically, the maximal risk associated with the worst case population subsample Px𝒫xsubscript𝑃𝑥subscript𝒫𝑥P_{x}\in\mathcal{P}_{x}italic_P start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ∈ caligraphic_P start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT. They compute the guarantees associated with the least squares solution, as defined by the specification of (13) to the form given in (15), with a least squares loss, i.e.,

W^argminWi=1Nt=1TWX(i)(t)Y(i)(t)2^𝑊subscript𝑊superscriptsubscript𝑖1𝑁superscriptsubscript𝑡1𝑇superscriptnorm𝑊superscript𝑋𝑖𝑡superscript𝑌𝑖𝑡2\hat{W}\in\arg\min\limits_{W}\sum\limits_{i=1}^{N}\sum\limits_{t=1}^{T}\left\|% WX^{(i)}(t)-Y^{(i)}(t)\right\|^{2}over^ start_ARG italic_W end_ARG ∈ roman_arg roman_min start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_t = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∥ italic_W italic_X start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( italic_t ) - italic_Y start_POSTSUPERSCRIPT ( italic_i ) end_POSTSUPERSCRIPT ( italic_t ) ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT

Finally, they require a trajectory small-ball assumption, that can be understood as a uniform bound on the covariance matrices associated with the noise in the sequence.

With this, they present three major results, which are restated here in their informal form.

Theorem 3.1

[64, Theorem 1.1-3]

  1. 1.

    If Nn𝑁𝑛N\geq nitalic_N ≥ italic_n, TTsuperscript𝑇𝑇T^{\prime}\leq Titalic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ≤ italic_T, and the trajectories are drawn from a trajectory small ball distribution, then the excess prediction risk over horizon length Tsuperscript𝑇T^{\prime}italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is Θ(n/(NT))Θ𝑛𝑁𝑇\Theta\left(n/(NT)\right)roman_Θ ( italic_n / ( italic_N italic_T ) )

  2. 2.

    If Nn𝑁𝑛N\leq nitalic_N ≤ italic_n, NTn𝑁𝑇𝑛NT\geq nitalic_N italic_T ≥ italic_n and A𝐴Aitalic_A is marginally unstable and diagonalizable, then the worst case excess prediction risk over horizon length Tsuperscript𝑇T^{\prime}italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is Θ(n/(NT))max{nT/(NT),1}Θ𝑛𝑁𝑇𝑛superscript𝑇𝑁𝑇1\Theta\left(n/(NT)\right)\max\left\{nT^{\prime}/(NT),1\right\}roman_Θ ( italic_n / ( italic_N italic_T ) ) roman_max { italic_n italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT / ( italic_N italic_T ) , 1 }

  3. 3.

    If Nn𝑁𝑛N\geq nitalic_N ≥ italic_n and covariate trajectories are such that A𝐴Aitalic_A is marginally unstable and diagonalizable, then the worst-case excess prediction risk over Tsuperscript𝑇T^{\prime}italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT is Θ(n/(NT)max{T/T,1})Θ𝑛𝑁𝑇superscript𝑇𝑇1\Theta\left(n/(NT)\max\left\{T^{\prime}/T,1\right\}\right)roman_Θ ( italic_n / ( italic_N italic_T ) roman_max { italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT / italic_T , 1 } )

From this Theorem, we can consider that with enough samples, standard rates of sample complexity treating the trajectory length T𝑇Titalic_T and the number of trajectories N𝑁Nitalic_N apply. However, for large relative dimension size of the variable space, the complexity does not scale as well, but is similarly proportional. Finally, when attempting to fit longer trajectories Tsuperscript𝑇T^{\prime}italic_T start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, we finally see that there is greater benefit towards obtaining data samples with long trajectory lengths over sampling more trajectories.

We report on the one prominent result as far as learning so as to achieve accurate inference on BNs. The classic work [15] reports on a sample complexity, in VC dimension analysis, of modeling a Bayesian Network to be,

O~(n2ϵ2(n2k+log1δ))~𝑂superscript𝑛2superscriptitalic-ϵ2𝑛superscript2𝑘1𝛿\tilde{O}\left(\frac{n^{2}}{\epsilon^{2}}\left(n2^{k}+\log\frac{1}{\delta}% \right)\right)over~ start_ARG italic_O end_ARG ( divide start_ARG italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG italic_ϵ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( italic_n 2 start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT + roman_log divide start_ARG 1 end_ARG start_ARG italic_δ end_ARG ) )

where O~~𝑂\tilde{O}over~ start_ARG italic_O end_ARG suppresses multiplicative terms of log(n/ϵ)𝑛italic-ϵ\log(n/\epsilon)roman_log ( italic_n / italic_ϵ ), δ𝛿\deltaitalic_δ and ϵitalic-ϵ\epsilonitalic_ϵ define the probability of an inference within a small distance of the true outcome, n𝑛nitalic_n is the number of variables, and k𝑘kitalic_k is the number of potential parents.

3.5 Sample Complexity for Identification

The sample complexity given above is for a measure of forecasting error, i.e., excess prediction risk formally. As noted in the Introduction, DBNs are used for a number of purposes. This includes not just forecasting, but also identifying a graph structure that is an interpretative model of potential causal relationships between variables.

To the best of our knowledge, there are no sample complexity results on graph and causal discovery identification which take separate consideration of trajectories and time steps in the data. Instead we report on a few general recent results on the overall sample complexity for learning a (D)BN as well as a recent result on causal discovery specifically.

In general, identifying the Bayesian Network is NP-Complete with respect to the number of variables [10]. It is noted that the number of possible DAGs for 10 variables is greater than 4×\times×1018 [52].

There are some additional sample complexity results worth reporting from the literature.

The work [49] presents poly-time identifiability in the case of bounded treewidth or acyclic super-structure, and otherwise confirms NP-Hardness of search with respect to data. A creative recent work [25] uses models from physiology to argue for O(Mk)𝑂superscript𝑀𝑘O\left(M^{k}\right)italic_O ( italic_M start_POSTSUPERSCRIPT italic_k end_POSTSUPERSCRIPT ) practical complexity, with M𝑀Mitalic_M the cardinality of a discrete valued network and k𝑘kitalic_k is the number of potential parents.

More favorable results are presented for linear SEMs with a recent algorithm that improves the sample complexity to O(n2logk)𝑂superscript𝑛2𝑘O\left(n^{2}\log k\right)italic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT roman_log italic_k ) in the case of sub-Gaussian errors and O(n2k2/m)𝑂superscript𝑛2superscript𝑘2𝑚O\left(n^{2}k^{2/m}\right)italic_O ( italic_n start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT italic_k start_POSTSUPERSCRIPT 2 / italic_m end_POSTSUPERSCRIPT ) for 4m4𝑚4m4 italic_m-bounded moment errors.

Finally, the work [66] considers sample complexity of causal discovery specifically, which runs at the number of samples required being O(n!l3n/8)𝑂𝑛superscript𝑙3𝑛8O\left(n!l^{3n/8}\right)italic_O ( italic_n ! italic_l start_POSTSUPERSCRIPT 3 italic_n / 8 end_POSTSUPERSCRIPT ), where l𝑙litalic_l is the cardinality of the possible random variable values in a discrete network.

3.6 Formalization: Open System Forecasting Model

In practice, in many cases wherein DBNs are employed for modeling, understanding and forecasting, the underlying system is not completely closed, as in a physics experiment, or deliberately marginalized, as in a randomized clinical trial. Instead, it models a complex and often infinite dimensional system, with intricate and impossible-to-know interactions with the environment. With the presence of unknown confounders, causal sufficiency isn’t satisfied. Moreover, it can happen that multiple structures and parameters become equally effective at accurately modeling the process, even highly distinct ones suggesting distinct causal mechanisms.

For instance, DBNs are often used for predictive maintenance, as in [1, 69]. By an appropriate representation of the underlying complex engineering system as distilled into some low dimensional latent structure, one can develop DBNs to monitor signals of deterioration or damage in the system as based on the historical transitions over time in performance.

An interesting formalism of this is given in [21]. For some underlying stochastic process Y˙=g(Y(t),W(t))˙𝑌𝑔𝑌𝑡𝑊𝑡\dot{Y}=g(Y(t),W(t))over˙ start_ARG italic_Y end_ARG = italic_g ( italic_Y ( italic_t ) , italic_W ( italic_t ) ) with (e.g., Brownian) noise W(t)𝑊𝑡W(t)italic_W ( italic_t ) where Y𝒴𝑌𝒴Y\in\mathcal{Y}italic_Y ∈ caligraphic_Y is very high, if not infinite, dimensional, one can consider a DBN model as a finite dimensional reduced order model of the system, and one that maximizes the information relevance towards maintenance. Formal guarantees are provided as far as probabilistic invariance, that is,

p(X(t)A,t[T])p(Y(t)A~,0tT)𝑝formulae-sequence𝑋𝑡𝐴for-all𝑡delimited-[]𝑇𝑝formulae-sequence𝑌𝑡~𝐴for-all0𝑡𝑇p\left(X(t)\in A,\forall\,t\in[T]\right)\approx p\left(Y(t)\in\tilde{A},% \forall 0\leq t\leq T\right)italic_p ( italic_X ( italic_t ) ∈ italic_A , ∀ italic_t ∈ [ italic_T ] ) ≈ italic_p ( italic_Y ( italic_t ) ∈ over~ start_ARG italic_A end_ARG , ∀ 0 ≤ italic_t ≤ italic_T )

indicating the potential for DBNs to serve as useful indicators of higher level properties of stochastic processes, regardless of the fundamental impossibility of formal causal structure identification in such cases.

4 Understanding Structure and Parameter Learning Algorithms

A fundamentally unique feature of learning DBNs corresponds to how structure and weights are treated, both in and of themselves and with respect to each other, as far as modeling and training. Theoretical foundations and best practices developed in the mature disciplines of the statistics of graphical models, random graph theory, time series, causal learning, and others, can provide a diverse source of insight for develo** efficient and reliable methodologies.

Here we present a number of important points of consideration that can be observed from looking at the literature at successful attempts at representation as far as inference and learning. With the distinctions described below, we are able to properly identify and characterize existing structure-weight learners, as well as suggest and provide straightforward extensions to fill in the natural empty places in the taxonomy.

Structure Learning

Structure Learning is the procedure of defining 𝒢¯¯𝒢\bar{\mathcal{G}}over¯ start_ARG caligraphic_G end_ARG from data. This is a critical aspect to learning DBNs because this defines different independence structures between the random variables. Furthermore, these graphical conditional independence structures are interpretable as far as implying causal inference and discovery. It also precedes parameter learning - the space and dimensionality of the parameters in the model itself will vary as depending on the structure of the graph connections. Of course, the quality of the resulting fit on the parameter should inform the quality of the fit of the structure, insofar as it is instrumental.

Given both the rapidly exponentially exploding complexity of considering any encoding of structure, the resulting combinatorial optimization can become difficult to solve with large variable dimension. Structure learning provides a rich source of challenging problems for combinatorics, integer programming, and other discrete applied mathematics. However, at the same time, given the relative paucity of circumstances and means by which the curse of dimensionality can be mitigated, there is a degree to which structure learning serves as a significant limitation to the overall modeling procedure. This means that often, in more challenging settings, approximate suboptimal graph structure, or using alternative modeling techniques, are used.

Parameter Learning

Recall from the previous Section that there is often flexibility in the choice of the statistical model that corresponds to individual potential structures. This flexibility permits for incorporating off the shelf methods attuned for specific parametric forms.

There are some structure solvers that define and score a structure without defining parameters. These make use of binary or Gaussian models, as defined above, for which the computation of the marginal posterior is tractable. Specifically, the posterior of the graph structure given the data is computed through an integration that treats parameters as nuisance through an integration p({Xin}|θ)p(θ|𝒢)𝑑θ𝑝conditionalsubscriptsuperscript𝑋𝑛𝑖𝜃𝑝conditional𝜃𝒢differential-d𝜃\int p(\{X^{n}_{i}\}|\theta)p(\theta|\mathcal{G})d\theta∫ italic_p ( { italic_X start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } | italic_θ ) italic_p ( italic_θ | caligraphic_G ) italic_d italic_θ. In this case, a specific set of parameters is not explicitly defined, however, it can be said that parameters are computed implicitly. Indeed, the marginal likelihood of the structure is simply the integration, over the parameter space, of the posterior distribution for the parameters.

One can note this specific phenomenon regarding the interplay of learning structure and weights as unique to DBNs. Indeed it presents a clear tradeoff between computational ease and model faithfulness. One can also consider whether the structure of parameters are more important and significant as far as the overall modeling of the system of interest, and thus choose more or less complex models, and more or less stringent and exhaustive structure search, depending on this choice.

Frequentist and Bayesian

We shall use the frequentist versus Bayesian distinction to indicate a point estimate based on the optimization of a loss function or criterion, and a probabilistic model, implemented with sampling, that obtains a posterior distribution of the structure and weights given the data, respectively. A frequentist estimate is given as a complete specific structure encoding and a specific value for the parameters. It is generally expected, or at least sought, that the relationships that the graph identifies between various is statistically significant. This presumption often becomes unrealistic in practice, and obtaining an appropriately scaled statistically significant entire network, that is, with all significant edges, is typically unavailable. However, since DBNs are generative rather than discriminative, this is often not a practical concern, as they are a component in an overall statistical modeling pipeline.

The alternative of Bayesian approaches allows for modeling the full distribution of uncertainty for the model considering the data. This makes the degree of confidence in the model quantitatively transparent. Thus, for any regime of data and parameters, some density could be sampled. However, the combinatorial burden of structure learning then becomes transferred to a slow mixing time. Moreover, inference will require numerical integration, and a set of samples is less interpretable to a lay user of the model. Thus, the choice between the two is generally instrumental, that is, in accordance with the ultimate modeling goal.

An effective and commonly used technique is to employ mixtures of a finite set of structures, see [24]. This provides flexibility and the transparent uncertainty in the model, without having to mix through the entire combinatorial space defining possible structure.

Considerations Regarding the Relationship between Structure and Parameter Learning

It is clear that the two are not independent or orthogonal, but rather the hierarchical structure, and the discrete-continuous distinction, presents a number of possible choices as far as algorithmic options.

For instance, consider a particular point estimate of a structure and set of parameters. However, consider that the set of parameters is close to zero, and moreover, that is so close so as to include zero in a, e.g., 95% confidence interval. In this case, it is clear that this implies that the presence of this edge itself in the graph is suspect, that is, not implied by the data.

Criteria for structure still depend on the weights, even if it’s implicitly through integrating the marginal likelihood. Thus, if the weights have a poorly specified prior, or the parametric form for the model is incorrect, then this will curtail the legitimacy of the structure scoring process.

It would be expected that a structure with a low marginal likelihood should have greater uncertainty in the parameters.

These subtle but intuitive considerations suggest that modeling and learning with DBNs is often not an off-the-shelf straightforward use of a black box tool, but requires intuition as to the nature and mechanistic properties of the system of interest.

Hierarchical and One-Shot Methods

In general one can consider most learning methods to be hierarchical in the sense of first learning the structure, and with an amortized structure estimating or sampling the weights. The use of SEMs defined by adjacency matrices including both structure and weights simultaneously introduced what can be referred to as a one-shot approach (we remark the interestingly similar recent popularity of one-shot methods for neural architecture search as including parameter learning [29]).

In this case, a point estimate is obtained for both the structure and the weights simultaneously by solving an appropriate optimization problem that fits both of these as decision variables to the data. To this end there are two approaches we see in the literature. In [45] an IP (for BNs, readily adapted to DBNs) is presented that treats the structure as binary variables encoding the activation of edge links in the graph and the parameters as separate variables, and solves the challenging nonlinear mixed IP (relaxation into conic programs was considered in [37]). Alternatively, the recent work DYNOTEARS [2] presented a gradient based method for solving the structure-parameter learning as a purely continuous optimization problem for weight matrices in the graph. Enforcing sparsity is done to encourage proper structure learning.

This presents a straightforward path to solving an optimization problem using existing toolboxes to obtain a fairly accurate point estimate of the structure and parameters. Methodologically, however, we observe that specifically, there is nothing to prevent encoding a binary variable indicating that an edge is present, and a parameter having a low magnitude to the point of zero being within the margin of error (or even being exactly zero in the IP case). These are clearly contradictory as far as the meaning of the edge.

We make one additional remark going back to hierarchical approaches. Note that one can consider that the frequentist-Bayesian distinction can be applied to present a taxonomy of methods. As a curious example, many Bayesian scoring methods, e.g. the IP method [3], can be considered hybrid frequentist-Bayesian. This is because implicitly the grading is done with a Bayesian parameter model, but a point estimate, that is one unique structure, is returned. Methodologically, we see that the advantages of a hierarchical is an offline calculation of scoring that permits the use of simple and powerful off the shelf commercial grade IP solvers, and the disadvantage is the conceptual contradiction of applying a frequentist mindset to learning structure with Bayesian models as weights. However, one can easily mitigate this in practice by sampling from multiple structures, as weighted in frequency by their respective marginal likelihoods. Regardless, theoretically, in the asymptotic regime, consistency can still be maintained with all approaches and variations thereof, however [36].

5 Learning, Loss Criteria and Constraint Definitions

Now we will proceed to present some of the analytical expressions associated with learning DBNs. Recall that we assume we have a sample of N𝑁Nitalic_N trajectories over time horizon T𝑇Titalic_T, that is, we restate (12),

𝒮=n=1N𝒯n={Z(n),X(n)(0),X(n)(1),X(n)(2),,X(n)(T)}n=1,,N𝒮superscriptsubscript𝑛1𝑁superscript𝒯𝑛subscriptsuperscript𝑍𝑛superscript𝑋𝑛0superscript𝑋𝑛1superscript𝑋𝑛2superscript𝑋𝑛𝑇𝑛1𝑁\mathcal{S}=\cup_{n=1}^{N}\mathcal{T}^{n}=\{Z^{(n)},X^{(n)}(0),X^{(n)}(1),X^{(% n)}(2),...,X^{(n)}(T)\}_{n=1,...,N}caligraphic_S = ∪ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT caligraphic_T start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT = { italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( 0 ) , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( 1 ) , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( 2 ) , … , italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_T ) } start_POSTSUBSCRIPT italic_n = 1 , … , italic_N end_POSTSUBSCRIPT

5.1 Criteria

In order to ascertain the performance of different structures, a score function serves as an objective in an optimization process. The score function is meant to evaluate the statistical accuracy of a model. In performing structure learning as guided by a score, we are performing a likelihood, or some maximum a posteriori maximization, in the process of traversing the decision landscape of structures.

Selection criteria for models appears in both the BN/PGM and the time series modeling literature. In [47] a thorough exploration of the evaluation and computation of various criteria is presentented for a range of different time series models. In [19] it is recommended to use a general form for an information criterion to evaluate possible networks is, for N𝑁Nitalic_N samples and k𝑘kitalic_k parameters:

Δk,N=2logLk+Ck,NsubscriptΔ𝑘𝑁2subscript𝐿𝑘subscript𝐶𝑘𝑁\Delta_{k,N}=-2\log L_{k}+C_{k,N}roman_Δ start_POSTSUBSCRIPT italic_k , italic_N end_POSTSUBSCRIPT = - 2 roman_log italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + italic_C start_POSTSUBSCRIPT italic_k , italic_N end_POSTSUBSCRIPT (16)

where Lksubscript𝐿𝑘L_{k}italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the likelihood of the data given the model and parameters and Ck,Nsubscript𝐶𝑘𝑁C_{k,N}italic_C start_POSTSUBSCRIPT italic_k , italic_N end_POSTSUBSCRIPT is a parsimony term with the following forms:

  • AIC Ck,N=2ksubscript𝐶𝑘𝑁2𝑘C_{k,N}=2kitalic_C start_POSTSUBSCRIPT italic_k , italic_N end_POSTSUBSCRIPT = 2 italic_k

  • AICc Ck,N=N+kNk2subscript𝐶𝑘𝑁𝑁𝑘𝑁𝑘2C_{k,N}=\frac{N+k}{N-k-2}italic_C start_POSTSUBSCRIPT italic_k , italic_N end_POSTSUBSCRIPT = divide start_ARG italic_N + italic_k end_ARG start_ARG italic_N - italic_k - 2 end_ARG

  • BIC Ck,N=klogNsubscript𝐶𝑘𝑁𝑘𝑁C_{k,N}=k\log Nitalic_C start_POSTSUBSCRIPT italic_k , italic_N end_POSTSUBSCRIPT = italic_k roman_log italic_N

There are a variety of options as far as how to use this criterion to choose a model. We first present a few that are natural but do not appear consistently in the literature, before continuing to discuss the Bayesian structure learning approach.

We write generically the likelihood Lk({X}|Θ,𝒢)subscript𝐿𝑘conditional𝑋Θ𝒢L_{k}(\{X\}|\Theta,\mathcal{G})italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( { italic_X } | roman_Θ , caligraphic_G ), and write,

  1. 1.

    One Shot Frequentist Directly maximize Lksubscript𝐿𝑘L_{k}italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT with respect to ΘΘ\Thetaroman_Θ and ΞΞ\Xiroman_Ξ simultaneously for a simultaneous frequentist solution, with Ck,Nsubscript𝐶𝑘𝑁C_{k,N}italic_C start_POSTSUBSCRIPT italic_k , italic_N end_POSTSUBSCRIPT defined as a sparsity metric (i.e., l0𝑙0l0italic_l 0 “norm”)

  2. 2.

    Hierarchical Frequentist Maximize Lk({X}|Θ(𝒢),𝒢)subscript𝐿𝑘conditional𝑋Θ𝒢𝒢L_{k}(\{X\}|\Theta(\mathcal{G}),\mathcal{G})italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( { italic_X } | roman_Θ ( caligraphic_G ) , caligraphic_G ) with respect to 𝒢𝒢\mathcal{G}caligraphic_G. To evaluate the likelihood given 𝒢𝒢\mathcal{G}caligraphic_G, one must compute Θ(𝒢)Θ𝒢\Theta(\mathcal{G})roman_Θ ( caligraphic_G ). This itself can be the maximum likelihood of the parameters, i.e.,

    Θ(𝒢)=argmaxθLk({X}|θ,𝒢)Θ𝒢subscript𝜃subscript𝐿𝑘conditional𝑋𝜃𝒢\Theta(\mathcal{G})=\arg\max_{\theta}L_{k}(\{X\}|\theta,\mathcal{G})roman_Θ ( caligraphic_G ) = roman_arg roman_max start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT italic_L start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ( { italic_X } | italic_θ , caligraphic_G )

    where conditioning on 𝒢𝒢\mathcal{G}caligraphic_G enforces certain components of θ𝜃\thetaitalic_θ to be zero.

A popular alternative is to use Bayesian criteria. In this case, the actual score function is the marginal posterior of the candidate structure given the data, that is p(𝒢|{X})𝑝conditional𝒢𝑋p(\mathcal{G}|\{X\})italic_p ( caligraphic_G | { italic_X } ). For particular kinds of parametrized DBNs, computing this posterior can be done in closed form. For a classic discussion on the statistical intuition, motivation, and some formulations of Bayesian criteria, see [31]

5.2 Likelihood Calculations

A common assumption made in the literature  [36, 26] is that of global parameter independence. That is, it holds that the parameters (θ|𝒢¯)conditional𝜃¯𝒢(\theta|\bar{\mathcal{G}})( italic_θ | over¯ start_ARG caligraphic_G end_ARG ) can be decomposed to be separable across the transitions for each variable Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, i.e. using the notation θ𝒢¯,isuperscript𝜃¯𝒢𝑖\theta^{\bar{\mathcal{G}},i}italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT to indicate parameters associated with the transition step for variable Xi(t+1)subscript𝑋𝑖𝑡1X_{i}(t+1)italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ),

Assumption 5.1

It holds that,

p(θ𝒢¯|𝒢¯)=i[n]p(θ𝒢¯,i|𝒢¯)𝑝conditionalsuperscript𝜃¯𝒢¯𝒢subscriptproduct𝑖delimited-[]𝑛𝑝conditionalsuperscript𝜃¯𝒢𝑖¯𝒢p\left(\theta^{\bar{\mathcal{G}}}|\bar{\mathcal{G}}\right)=\prod\limits_{i\in[% n]}p\left(\theta^{\bar{\mathcal{G}},i}|\bar{\mathcal{G}}\right)italic_p ( italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT | over¯ start_ARG caligraphic_G end_ARG ) = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n ] end_POSTSUBSCRIPT italic_p ( italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT | over¯ start_ARG caligraphic_G end_ARG )

and that, for any data sample 𝒮𝒮\mathcal{S}caligraphic_S,

p(𝒮|θG,𝒢¯)=i[n]p(𝒮|θ𝒢¯,i,𝒢¯)𝑝conditional𝒮subscript𝜃𝐺¯𝒢subscriptproduct𝑖delimited-[]𝑛𝑝conditional𝒮superscript𝜃¯𝒢𝑖¯𝒢p\left(\mathcal{S}|\theta_{G},\bar{\mathcal{G}}\right)=\prod\limits_{i\in[n]}p% \left(\mathcal{S}|\theta^{\bar{\mathcal{G}},i},\bar{\mathcal{G}}\right)italic_p ( caligraphic_S | italic_θ start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n ] end_POSTSUBSCRIPT italic_p ( caligraphic_S | italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG )

Notice that here the separability is with respect to trajectories, and not necessarily time steps. Furthermore, below we shall see that an additional assumption of local independence is needed to furthermore assure independence across the parameters defining the dependence of the transition of Xisubscript𝑋𝑖X_{i}italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT on each parent.

Since the likelihood is a separable function of the parameters, maximizing it corresponds to maximizing the set of parameters separately for each , that is, seek to maximize, where we perform the usual condition dependence chain p(X(t+1),X(t),,X(0)|θ)=p(X(t+1)|X(t),X(t1),,X(1)|θ)=p(X(t+1)|X(t),θ)p(X(t)|X(t1),θ),,p(X(0))p(X(t+1),X(t),...,X(0)|\theta)=p(X(t+1)|X(t),X(t-1),...,X(1)|\theta)=p(X(t+1)|% X(t),\theta)p(X(t)|X(t-1),\theta),...,p(X(0))italic_p ( italic_X ( italic_t + 1 ) , italic_X ( italic_t ) , … , italic_X ( 0 ) | italic_θ ) = italic_p ( italic_X ( italic_t + 1 ) | italic_X ( italic_t ) , italic_X ( italic_t - 1 ) , … , italic_X ( 1 ) | italic_θ ) = italic_p ( italic_X ( italic_t + 1 ) | italic_X ( italic_t ) , italic_θ ) italic_p ( italic_X ( italic_t ) | italic_X ( italic_t - 1 ) , italic_θ ) , … , italic_p ( italic_X ( 0 ) ) to facilitate the presentation of the chain of conditioning to facilitate the posterior derivation.

p(𝒮|θ𝒢¯,i,𝒢¯)=n=1Ns=1Tp(Xi(n)(Ts+1)|Z(n),{Xj(n)(Ts)}jdpad(i),{Xj(n)(Ts+1)}jdpas(i),{Xi(n)(Tsτ)}τdpaτ(i),θ𝒢¯,i,𝒢¯)\begin{array}[]{l}p\left(\mathcal{S}|\theta^{\bar{\mathcal{G}},i},\bar{% \mathcal{G}}\right)=\prod\limits_{n=1}^{N}\prod\limits_{s=1}^{T}p\left(X^{(n)}% _{i}(T-s+1)|Z^{(n)},\{X_{j}^{(n)}(T-s)\}_{j\in dpa_{d}(i)},\right.\\ \qquad\qquad\left.\{X^{(n)}_{j}(T-s+1)\}_{j\in dpa_{s}(i)},\{X_{i}^{(n)}(T-s-% \tau)\}_{\tau\in dpa_{\tau}(i)},\theta^{\bar{\mathcal{G}},i},\bar{\mathcal{G}}% \right)\end{array}start_ARRAY start_ROW start_CELL italic_p ( caligraphic_S | italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) = ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_s = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_p ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_T - italic_s + 1 ) | italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT , { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_T - italic_s ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT , end_CELL end_ROW start_ROW start_CELL { italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_T - italic_s + 1 ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT , { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_T - italic_s - italic_τ ) } start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT , italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW end_ARRAY (17)

5.2.1 Binary Variables

In the case wherein all variables {Xi,Z}subscript𝑋𝑖𝑍\{X_{i},Z\}{ italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_Z } are valued {0,1}01\{0,1\}{ 0 , 1 } sampled from a Bernoulli distribution, this presents the simplest calculation, recalling the definition of the transition model.

More significantly, here, we shall see that the more complex representation permits for closed form computation of the marginal posterior of the structure.

To begin with, the simple linear model (5). In this case we write,

p(Xi(t+1)=1;θ𝒢¯,i)=σ(θ0𝒢¯,i+jdpa(i)θj𝒢¯,iVj)𝑝subscript𝑋𝑖𝑡11superscript𝜃¯𝒢𝑖𝜎subscriptsuperscript𝜃¯𝒢𝑖0subscript𝑗𝑑𝑝𝑎𝑖subscriptsuperscript𝜃¯𝒢𝑖𝑗subscript𝑉𝑗p(X_{i}(t+1)=1;\theta^{\bar{\mathcal{G}},i})=\sigma\left(\theta^{\bar{\mathcal% {G}},i}_{0}+\sum\limits_{j\in dpa(i)}\theta^{\bar{\mathcal{G}},i}_{j}V_{j}\right)italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ; italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT ) = italic_σ ( italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT )

From this functional form we can obtain, recalling generically Vdpa(i)subscript𝑉𝑑𝑝𝑎𝑖V_{dpa(i)}italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT for any parents, by any of the dependencies, of the variable i𝑖iitalic_i.

p(𝒮|θ𝒢¯,i,𝒢¯)=n=1Nt=0T1[𝟏(Xi(n)(t+1)=1)P(Xi(n)(t+1)=1|Vdpa(i)(n);θ)+𝟏(Xi(n)(t+1)=0)P(Xi(n)(t+1)=0|Vdpa(i)(n);θ)]\begin{array}[]{l}p\left(\mathcal{S}|\theta^{\bar{\mathcal{G}},i},\bar{% \mathcal{G}}\right)=\prod\limits_{n=1}^{N}\prod\limits_{t=0}^{T-1}\left[% \mathbf{1}(X^{(n)}_{i}(t+1)=1)P(X^{(n)}_{i}(t+1)=1|V^{(n)}_{dpa(i)};\theta)% \right.\\ \qquad\qquad\left.+\mathbf{1}(X^{(n)}_{i}(t+1)=0)P(X^{(n)}_{i}(t+1)=0|V^{(n)}_% {dpa(i)};\theta)\right]\end{array}start_ARRAY start_ROW start_CELL italic_p ( caligraphic_S | italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) = ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT [ bold_1 ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) italic_P ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 | italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ; italic_θ ) end_CELL end_ROW start_ROW start_CELL + bold_1 ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 0 ) italic_P ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 0 | italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ; italic_θ ) ] end_CELL end_ROW end_ARRAY (18)

Now we take a logarithm of the expression, turning the products into sums,

log(p(𝒮|θ𝒢¯,i,𝒢¯))=n=1Nt=0T1[𝟏(Xi(n)(t+1)=1)[θ0𝒢¯,i+jdpa(i)θj𝒢¯,iVjlog(1+exp{θ0𝒢¯,i+jdpa(i)θj𝒢¯,iVj})]𝟏(Xi(n)(t+1)=0)log(1+exp{θ0𝒢¯,i+jdpa(i)θj𝒢¯,iVj})]]\begin{array}[]{l}\log\left(p\left(\mathcal{S}|\theta^{\bar{\mathcal{G}},i},% \bar{\mathcal{G}}\right)\right)=\sum\limits_{n=1}^{N}\sum\limits_{t=0}^{T-1}% \left[\mathbf{1}(X^{(n)}_{i}(t+1)=1)\left[\theta^{\bar{\mathcal{G}},i}_{0}+% \sum\limits_{j\in dpa(i)}\theta^{\bar{\mathcal{G}},i}_{j}V_{j}\right.\right.\\ \qquad\qquad\left.-\log\left(1+\exp\left\{\theta^{\bar{\mathcal{G}},i}_{0}+% \sum\limits_{j\in dpa(i)}\theta^{\bar{\mathcal{G}},i}_{j}V_{j}\right\}\right)% \right]\\ \qquad\qquad\left.\left.-\mathbf{1}(X^{(n)}_{i}(t+1)=0)\log\left(1+\exp\left\{% \theta^{\bar{\mathcal{G}},i}_{0}+\sum\limits_{j\in dpa(i)}\theta^{\bar{% \mathcal{G}},i}_{j}V_{j}\right\}\right)\right]\right]\end{array}start_ARRAY start_ROW start_CELL roman_log ( italic_p ( caligraphic_S | italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) ) = ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT [ bold_1 ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) [ italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL - roman_log ( 1 + roman_exp { italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT } ) ] end_CELL end_ROW start_ROW start_CELL - bold_1 ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 0 ) roman_log ( 1 + roman_exp { italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG , italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT italic_V start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT } ) ] ] end_CELL end_ROW end_ARRAY (19)

In this case, the maximum likelihood cannot be computed in closed form, and numerical methods must be used. The similar situation holds for computing a Bayesian score under this model restiction.

Now we consider the full combinatorial representation as defined by  (20), which, with binary outcomes, simplifies to:

p(Xi(t+1)=1|Vdpa(i),θi):=θiξ(Vdpa(i)),ξΞi,Ξi:=Ξid×Ξis:=jdpat(i)2+×jdpaz(i)2+assign𝑝subscript𝑋𝑖𝑡1conditional1subscript𝑉𝑑𝑝𝑎𝑖subscript𝜃𝑖superscriptsubscript𝜃𝑖𝜉subscript𝑉𝑑𝑝𝑎𝑖formulae-sequence𝜉subscriptΞ𝑖assignsubscriptΞ𝑖subscriptsuperscriptΞ𝑑𝑖subscriptsuperscriptΞ𝑠𝑖assignsubscriptproduct𝑗𝑑𝑝subscript𝑎𝑡𝑖superscriptsubscript2subscriptproduct𝑗𝑑𝑝subscript𝑎𝑧𝑖superscriptsubscript2\begin{array}[]{l}p(X_{i}(t+1)=1|V_{dpa(i)},\theta_{i}):=\theta_{i}^{\xi(V_{% dpa(i)})},\\ \xi\in\Xi_{i},\,\Xi_{i}:=\Xi^{d}_{i}\times\Xi^{s}_{i}:=\prod_{j\in dpa_{t}(i)}% \mathbb{Z}_{2}^{+}\times\prod_{j\in dpa_{z}(i)}\mathbb{Z}_{2}^{+}\end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 | italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) := italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT , end_CELL end_ROW start_ROW start_CELL italic_ξ ∈ roman_Ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , roman_Ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT := roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT × roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT := ∏ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT blackboard_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT × ∏ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT blackboard_Z start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (20)

Indeed this corresponds to the local parameter independence and the unrestricted multinomial conditions that facilitates the closed form computation for the Bayesian Dirichlet scores. To this end, we now extend the presentation in [31] (see also [30]) to include the contribution of the static Z𝑍Zitalic_Z variables to the model.

First we begin by writing the full expression for the likelihood and computing the likelihood-maximizing parameter values, making use of the modeling representation in (20).

We introduce one more piece of notation, indicating the set of dynamic variables that contribute in the DAG structure to node i𝑖iitalic_i,

Vi,d(n)(t)={Xj(n)(t1)}jdpad(i){Xj(n)(t)}jdpas(i){Xi(n)(tτ)}τdpaτ(i)subscriptsuperscript𝑉𝑛𝑖𝑑𝑡subscriptsuperscriptsubscript𝑋𝑗𝑛𝑡1𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsuperscriptsubscript𝑋𝑗𝑛𝑡𝑗𝑑𝑝subscript𝑎𝑠𝑖subscriptsuperscriptsubscript𝑋𝑖𝑛𝑡𝜏𝜏𝑑𝑝subscript𝑎𝜏𝑖V^{(n)}_{i,d}(t)=\{X_{j}^{(n)}(t-1)\}_{j\in dpa_{d}(i)}\cup\{X_{j}^{(n)}(t)\}_% {j\in dpa_{s}(i)}\cup\{X_{i}^{(n)}(t-\tau)\}_{\tau\in dpa_{\tau}(i)}italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t ) = { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_t - 1 ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∪ { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_t ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ∪ { italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ( italic_t - italic_τ ) } start_POSTSUBSCRIPT italic_τ ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT

this distinguishes the dynamic variables from the static ones.

p(𝒮|θ,𝒢¯))=i[nx]n=1Nt=0T1[p(Xi(t+1)=1|Vdpa(i),θi)Xi(n)(t+1)+(1p(Xi(t+1)=1|Vdpa(i),θi))(1Xi(n)(t+1)]=i[nx]ξdΞidξsΞisn=1Nt=0T1[p(Xi(t+1)=1|ξ,θi)Xi(n)(t+1)𝟏(ξd=Vi,d(n)(t+1))𝟏(ξs=Z(n))+(1p(Xi(t+1)=1|Vdpa(i),θi))(1Xi(n)(t+1))𝟏(ξd=Vi,d(n)(t+1))𝟏(ξs=Z(n))]=i[nx]ξdΞidξsΞisn=1Nt=0T1[θiξ(Vdpa(i))Xi(n)(t+1)𝟏(ξd=Vi,d(n)(t+1))𝟏(ξs=Z(n))+(1θiξ(Vdpa(i)))(1Xi(n)(t+1))𝟏(ξd=Vi,d(n)(t+1))𝟏(ξs=Z(n))]\begin{array}[]{l}p\left(\mathcal{S}|\theta,\bar{\mathcal{G}})\right)=\prod% \limits_{i\in[n_{x}]}\prod\limits_{n=1}^{N}\prod\limits_{t=0}^{T-1}\left[p(X_{% i}(t+1)=1|V_{dpa(i)},\theta_{i})X^{(n)}_{i}(t+1)\right.\\ \qquad\qquad\qquad\qquad\left.+(1-p(X_{i}(t+1)=1|V_{dpa(i)},\theta_{i}))(1-X^{% (n)}_{i}(t+1)\right]\\ =\quad\prod\limits_{i\in[n_{x}]}\prod\limits_{\xi^{d}\in\Xi^{d}_{i}}\prod% \limits_{\xi^{s}\in\Xi^{s}_{i}}\prod\limits_{n=1}^{N}\prod\limits_{t=0}^{T-1}% \left[p(X_{i}(t+1)=1|\xi,\theta_{i})X^{(n)}_{i}(t+1)\mathbf{1}(\xi^{d}=V^{(n)}% _{i,d}(t+1))\mathbf{1}(\xi^{s}=Z^{(n)})\right.\\ \qquad\qquad\left.+(1-p(X_{i}(t+1)=1|V_{dpa(i)},\theta_{i}))(1-X^{(n)}_{i}(t+1% ))\mathbf{1}(\xi^{d}=V^{(n)}_{i,d}(t+1))\mathbf{1}(\xi^{s}=Z^{(n)})\right]\\ =\quad\prod\limits_{i\in[n_{x}]}\prod\limits_{\xi^{d}\in\Xi^{d}_{i}}\prod% \limits_{\xi^{s}\in\Xi^{s}_{i}}\prod\limits_{n=1}^{N}\prod\limits_{t=0}^{T-1}% \left[\theta_{i}^{\xi(V_{dpa(i)})}X^{(n)}_{i}(t+1)\mathbf{1}\left(\xi^{d}=V^{(% n)}_{i,d}(t+1)\right)\mathbf{1}\left(\xi^{s}=Z^{(n)}\right)\right.\\ \qquad\qquad\left.+\left(1-\theta_{i}^{\xi(V_{dpa(i)})}\right)\left(1-X^{(n)}_% {i}(t+1)\right)\mathbf{1}\left(\xi^{d}=V^{(n)}_{i,d}(t+1)\right)\mathbf{1}% \left(\xi^{s}=Z^{(n)}\right)\right]\end{array}start_ARRAY start_ROW start_CELL italic_p ( caligraphic_S | italic_θ , over¯ start_ARG caligraphic_G end_ARG ) ) = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT [ italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 | italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) end_CELL end_ROW start_ROW start_CELL + ( 1 - italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 | italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ) ( 1 - italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ] end_CELL end_ROW start_ROW start_CELL = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT [ italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 | italic_ξ , italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT = italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ) end_CELL end_ROW start_ROW start_CELL + ( 1 - italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 | italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) ) ( 1 - italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT = italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ) ] end_CELL end_ROW start_ROW start_CELL = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT [ italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT = italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ) end_CELL end_ROW start_ROW start_CELL + ( 1 - italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT ) ( 1 - italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT = italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ) ] end_CELL end_ROW end_ARRAY (21)

Let 𝐍(A;𝒞)𝐍𝐴𝒞\mathbf{N}(A;\mathcal{C})bold_N ( italic_A ; caligraphic_C ) be the counting operator of the number of elements of 𝒞𝒞\mathcal{C}caligraphic_C that satisfy the condition given by A𝐴Aitalic_A. Now take the logarithm of the likelihood expression and obtain a sum-separable set of terms for the log likelihood of each parameter, and perform generative learning to find the parameters. Specifically,

logp(𝒮|θiξ(Vdpa(i)),𝒢¯)=𝐍([(Xi(n)(t+1)=1)(Vi,d(n)(t+1)×Z(n)=ξ(Vdpa(i)))];𝒮)log(θiξ(Vdpa(i)))+𝐍([(Xi(n)(t+1)=0)(Vi,d(n)(t+1)×Z(n)=ξ(Vdpa(i))];𝒮)log(1θiξ(Vdpa(i)))\begin{array}[]{l}\log p\left(\mathcal{S}|\theta_{i}^{\xi(V_{dpa(i)})},\bar{% \mathcal{G}}\right)\\ \quad=\mathbf{N}\left(\left[(X^{(n)}_{i}(t+1)=1)\cap\left(V^{(n)}_{i,d}(t+1)% \times Z^{(n)}=\xi(V_{dpa(i)})\right)\right];\mathcal{S}\right)\log\left(% \theta_{i}^{\xi(V_{dpa(i)})}\right)\\ \qquad\qquad+\mathbf{N}\left(\left[(X^{(n)}_{i}(t+1)=0)\cap(V^{(n)}_{i,d}(t+1)% \times Z^{(n)}=\xi(V_{dpa(i)})\right];\mathcal{S}\right)\log\left(1-\theta_{i}% ^{\xi(V_{dpa(i)})}\right)\end{array}start_ARRAY start_ROW start_CELL roman_log italic_p ( caligraphic_S | italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL = bold_N ( [ ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) ∩ ( italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) × italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) roman_log ( italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT ) end_CELL end_ROW start_ROW start_CELL + bold_N ( [ ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 0 ) ∩ ( italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) × italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) ] ; caligraphic_S ) roman_log ( 1 - italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT ) end_CELL end_ROW end_ARRAY

From which the natural maximum likelihood estimate can be formed:

θ^iξ(Vdpa(i))=𝐍([(Xi(n)(t+1)=1)(Vi,d(n)(t+1)×Z(n)=ξ(Vdpa(i)))];𝒮)𝐍([(Vi,d(n)(t+1)×Z(n)=ξ(Vdpa(i)))];𝒮)superscriptsubscript^𝜃𝑖𝜉subscript𝑉𝑑𝑝𝑎𝑖𝐍delimited-[]subscriptsuperscript𝑋𝑛𝑖𝑡11subscriptsuperscript𝑉𝑛𝑖𝑑𝑡1superscript𝑍𝑛𝜉subscript𝑉𝑑𝑝𝑎𝑖𝒮𝐍delimited-[]subscriptsuperscript𝑉𝑛𝑖𝑑𝑡1superscript𝑍𝑛𝜉subscript𝑉𝑑𝑝𝑎𝑖𝒮\hat{\theta}_{i}^{\xi(V_{dpa(i)})}=\frac{\mathbf{N}\left(\left[(X^{(n)}_{i}(t+% 1)=1)\cap\left(V^{(n)}_{i,d}(t+1)\times Z^{(n)}=\xi(V_{dpa(i)})\right)\right];% \mathcal{S}\right)}{\mathbf{N}\left(\left[\left(V^{(n)}_{i,d}(t+1)\times Z^{(n% )}=\xi(V_{dpa(i)})\right)\right];\mathcal{S}\right)}over^ start_ARG italic_θ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT = divide start_ARG bold_N ( [ ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) ∩ ( italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) × italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) end_ARG start_ARG bold_N ( [ ( italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) × italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) end_ARG (22)

Note that in this case, the counts are over both the samples of trajectories and the time points between them. Observe the role of the static variables Z𝑍Zitalic_Z as simply interacting covariates in the form. Thus, when Z𝑍Zitalic_Z is of a mechanistic form that mediates the transitions, its influence is absorbed as simply an added dimension to the parameter space. We can, however, force a distinction between dynamic and static effects if we assume their causal independence. This would correspond to a kernel transition of the form:

p(Xi(t+1)=1|Vdpa(i),θi):=θiξd(Vdpat(i))θiξs(Zdpaz(i))assign𝑝subscript𝑋𝑖𝑡1conditional1subscript𝑉𝑑𝑝𝑎𝑖subscript𝜃𝑖superscriptsubscript𝜃𝑖superscript𝜉𝑑subscript𝑉𝑑𝑝subscript𝑎𝑡𝑖superscriptsubscript𝜃𝑖superscript𝜉𝑠subscript𝑍𝑑𝑝subscript𝑎𝑧𝑖\begin{array}[]{l}p\left(X_{i}(t+1)=1|V_{dpa(i)},\theta_{i}\right):=\theta_{i}% ^{\xi^{d}(V_{dpa_{t}(i)})}\theta_{i}^{\xi^{s}(Z_{dpa_{z}(i)})}\end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 | italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT , italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ) := italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( italic_Z start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (23)

where Vdpat(i)subscript𝑉𝑑𝑝subscript𝑎𝑡𝑖V_{dpa_{t}(i)}italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT denotes the full set of time-dependent variables that influence i𝑖iitalic_i. It can be seen that we can obtain the maximum likelihood estimates as,

θ^iξd(Vdpa(i))=𝐍([(Xi(n)(t+1)=1)(Vi,d(n)(t+1)=ξ(Vdpat(i)))];𝒮)𝐍(T[(Vi,d(n)(t+1)=ξ(Vdpat(i)))];𝒮)θ^iξs(Zdpaz(i))=𝐍([(Xi(n)(t+1)=1)(Z(n)=ξ(Zdpaz(i)))];𝒮)𝐍([(Z(n)=ξ(Zdpaz(i)))];𝒮)=𝐍([(Xi(n)(t+1)=1)(Z(n)=ξ(Zdpaz(i)))];𝒮)T𝐍([(Z(n)=ξ(Zdpaz(i)))];n[N])superscriptsubscript^𝜃𝑖superscript𝜉𝑑subscript𝑉𝑑𝑝𝑎𝑖𝐍delimited-[]subscriptsuperscript𝑋𝑛𝑖𝑡11subscriptsuperscript𝑉𝑛𝑖𝑑𝑡1𝜉subscript𝑉𝑑𝑝subscript𝑎𝑡𝑖𝒮𝐍𝑇delimited-[]subscriptsuperscript𝑉𝑛𝑖𝑑𝑡1𝜉subscript𝑉𝑑𝑝subscript𝑎𝑡𝑖𝒮superscriptsubscript^𝜃𝑖superscript𝜉𝑠subscript𝑍𝑑𝑝subscript𝑎𝑧𝑖𝐍delimited-[]subscriptsuperscript𝑋𝑛𝑖𝑡11superscript𝑍𝑛𝜉subscript𝑍𝑑𝑝subscript𝑎𝑧𝑖𝒮𝐍delimited-[]superscript𝑍𝑛𝜉subscript𝑍𝑑𝑝subscript𝑎𝑧𝑖𝒮𝐍delimited-[]subscriptsuperscript𝑋𝑛𝑖𝑡11superscript𝑍𝑛𝜉subscript𝑍𝑑𝑝subscript𝑎𝑧𝑖𝒮𝑇𝐍delimited-[]superscript𝑍𝑛𝜉subscript𝑍𝑑𝑝subscript𝑎𝑧𝑖𝑛delimited-[]𝑁\begin{array}[]{l}\hat{\theta}_{i}^{\xi^{d}(V_{dpa(i)})}=\frac{\mathbf{N}\left% (\left[(X^{(n)}_{i}(t+1)=1)\cap\left(V^{(n)}_{i,d}(t+1)=\xi(V_{dpa_{t}(i)})% \right)\right];\mathcal{S}\right)}{\mathbf{N}\left(T\left[\left(V^{(n)}_{i,d}(% t+1)=\xi(V_{dpa_{t}(i)})\right)\right];\mathcal{S}\right)}\\ \hat{\theta}_{i}^{\xi^{s}(Z_{dpa_{z}(i)})}=\frac{\mathbf{N}\left(\left[(X^{(n)% }_{i}(t+1)=1)\cap\left(Z^{(n)}=\xi(Z_{dpa_{z}(i)})\right)\right];\mathcal{S}% \right)}{\mathbf{N}\left(\left[\left(Z^{(n)}=\xi(Z_{dpa_{z}(i)})\right)\right]% ;\mathcal{S}\right)}=\frac{\mathbf{N}\left(\left[(X^{(n)}_{i}(t+1)=1)\cap\left% (Z^{(n)}=\xi(Z_{dpa_{z}(i)})\right)\right];\mathcal{S}\right)}{T\mathbf{N}% \left(\left[\left(Z^{(n)}=\xi(Z_{dpa_{z}(i)})\right)\right];n\in[N]\right)}% \end{array}start_ARRAY start_ROW start_CELL over^ start_ARG italic_θ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT = divide start_ARG bold_N ( [ ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) ∩ ( italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) end_ARG start_ARG bold_N ( italic_T [ ( italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) end_ARG end_CELL end_ROW start_ROW start_CELL over^ start_ARG italic_θ end_ARG start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( italic_Z start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT = divide start_ARG bold_N ( [ ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) ∩ ( italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_Z start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) end_ARG start_ARG bold_N ( [ ( italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_Z start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) end_ARG = divide start_ARG bold_N ( [ ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) ∩ ( italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_Z start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) end_ARG start_ARG italic_T bold_N ( [ ( italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_Z start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; italic_n ∈ [ italic_N ] ) end_ARG end_CELL end_ROW end_ARRAY (24)

From this we can see indeed that with independent causal influence, the estimate for the parameters governing the static nodes Z𝑍Zitalic_Z’s influence carries more statistical power, with an effective sample size scaled by T𝑇Titalic_T.

Now we present the computation of the Bayesian Dirichlet scores. This amounts to computing the marginal posterior of the structure by performing an integration treating parameter as nuisance. This is derived, for instance, in [26], and used in the popular integer BN structure learner GOBNILP [14]. The marginal posterior of the structure is given by:

p(𝒢¯|𝒮)=θp(𝒮|θ𝒢¯,𝒢¯)p(θ𝒢¯|𝒢¯)𝑑θ𝒢¯𝑝conditional¯𝒢𝒮subscript𝜃𝑝conditional𝒮superscript𝜃¯𝒢¯𝒢𝑝conditionalsuperscript𝜃¯𝒢¯𝒢differential-dsuperscript𝜃¯𝒢p\left(\bar{\mathcal{G}}|\mathcal{S}\right)=\int_{\theta}p(\mathcal{S}|\theta^% {\bar{\mathcal{G}}},\bar{\mathcal{G}})p(\theta^{\bar{\mathcal{G}}}|\bar{% \mathcal{G}})d\theta^{\bar{\mathcal{G}}}italic_p ( over¯ start_ARG caligraphic_G end_ARG | caligraphic_S ) = ∫ start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT italic_p ( caligraphic_S | italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) italic_p ( italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT | over¯ start_ARG caligraphic_G end_ARG ) italic_d italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT

In order to compute the BDe, we need a prior on the weights, which we write as a Dirichlet distribution,

p(θ𝒢¯|𝒢¯)=i[n]ξΞiΓ(α0i,ξ+α1i,ξ)Γ(α0i,ξ)+Γ(α1i,ξ)θi,ξ,0α0i,ξθi,ξ,1α1i,ξ𝑝conditionalsuperscript𝜃¯𝒢¯𝒢subscriptproduct𝑖delimited-[]𝑛subscriptproduct𝜉subscriptΞ𝑖Γsubscriptsuperscript𝛼𝑖𝜉0subscriptsuperscript𝛼𝑖𝜉1Γsubscriptsuperscript𝛼𝑖𝜉0Γsubscriptsuperscript𝛼𝑖𝜉1subscriptsuperscript𝜃subscriptsuperscript𝛼𝑖𝜉0𝑖𝜉0subscriptsuperscript𝜃subscriptsuperscript𝛼𝑖𝜉1𝑖𝜉1p(\theta^{\bar{\mathcal{G}}}|{\bar{\mathcal{G}}})=\prod_{i\in[n]}\prod_{\xi\in% \Xi_{i}}\frac{\Gamma\left(\alpha^{i,\xi}_{0}+\alpha^{i,\xi}_{1}\right)}{\Gamma% \left(\alpha^{i,\xi}_{0}\right)+\Gamma\left(\alpha^{i,\xi}_{1}\right)}\theta^{% \alpha^{i,\xi}_{0}}_{i,\xi,0}\theta^{\alpha^{i,\xi}_{1}}_{i,\xi,1}italic_p ( italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT | over¯ start_ARG caligraphic_G end_ARG ) = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ ∈ roman_Ξ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG italic_θ start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_ξ , 0 end_POSTSUBSCRIPT italic_θ start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT

Recalling the expression for (21), we can see that the BDe can be computed by,

p(𝒢¯|𝒮)=i[nx]ξdΞidξsΞisn=1Nt=0T1θ[θiξ(Vdpa(i))Xi(n)(t+1)𝟏(ξd=Vi,d(n)(t+1))𝟏(ξs=Z(n))+(1θiξ(Vdpa(i)))(1Xi(n)(t+1))𝟏(ξd=Vi,d(n)(t+1))𝟏(ξs=Z(n))]×Γ(α0i,ξ+α1i,ξ)Γ(α0i,ξ)+Γ(α1i,ξ)θi,ξα0i,ξθi,ξα1i,ξdθ=i[nx]ξdΞidξsΞisΓ(α0i,ξ+α1i,ξ)Γ(α0i,ξ)+Γ(α1i,ξ)×θθi,ξ,0α0i,ξ+𝐍i,ξ𝐍i,ξ,1θi,ξ,1α1i,ξ+𝐍i,ξ,1𝑑θ=i[nx]ξdΞidξsΞisΓ(α0i,ξ+α1i,ξ)Γ(α0i,ξ)+Γ(α1i,ξ)×(α1i,ξ+𝐍i,ξ,1)(𝐍i,ξ+α1i,ξ+α0i,ξ)\begin{array}[]{l}p\left(\bar{\mathcal{G}}|\mathcal{S}\right)\\ \quad=\prod\limits_{i\in[n_{x}]}\prod\limits_{\xi^{d}\in\Xi^{d}_{i}}\prod% \limits_{\xi^{s}\in\Xi^{s}_{i}}\prod\limits_{n=1}^{N}\prod\limits_{t=0}^{T-1}% \int_{\theta}\left[\theta_{i}^{\xi(V_{dpa(i)})}X^{(n)}_{i}(t+1)\mathbf{1}\left% (\xi^{d}=V^{(n)}_{i,d}(t+1)\right)\mathbf{1}\left(\xi^{s}=Z^{(n)}\right)\right% .\\ \qquad\qquad\left.+\left(1-\theta_{i}^{\xi(V_{dpa(i)})}\right)\left(1-X^{(n)}_% {i}(t+1)\right)\mathbf{1}\left(\xi^{d}=V^{(n)}_{i,d}(t+1)\right)\mathbf{1}% \left(\xi^{s}=Z^{(n)}\right)\right]\\ \qquad\qquad\qquad\times\frac{\Gamma\left(\alpha^{i,\xi}_{0}+\alpha^{i,\xi}_{1% }\right)}{\Gamma\left(\alpha^{i,\xi}_{0}\right)+\Gamma\left(\alpha^{i,\xi}_{1}% \right)}\theta_{i,\xi}^{\alpha^{i,\xi}_{0}}\theta_{i,\xi}^{\alpha^{i,\xi}_{1}}% d\theta\\ =\prod\limits_{i\in[n_{x}]}\prod\limits_{\xi^{d}\in\Xi^{d}_{i}}\prod\limits_{% \xi^{s}\in\Xi^{s}_{i}}\frac{\Gamma\left(\alpha^{i,\xi}_{0}+\alpha^{i,\xi}_{1}% \right)}{\Gamma\left(\alpha^{i,\xi}_{0}\right)+\Gamma\left(\alpha^{i,\xi}_{1}% \right)}\times\int_{\theta}\theta_{i,\xi,0}^{\alpha^{i,\xi}_{0}+\mathbf{N}_{i,% \xi}-\mathbf{N}_{i,\xi,1}}\theta_{i,\xi,1}^{\alpha^{i,\xi}_{1}+\mathbf{N}_{i,% \xi,1}}d\theta\\ =\prod\limits_{i\in[n_{x}]}\prod\limits_{\xi^{d}\in\Xi^{d}_{i}}\prod\limits_{% \xi^{s}\in\Xi^{s}_{i}}\frac{\Gamma\left(\alpha^{i,\xi}_{0}+\alpha^{i,\xi}_{1}% \right)}{\Gamma\left(\alpha^{i,\xi}_{0}\right)+\Gamma\left(\alpha^{i,\xi}_{1}% \right)}\times\frac{(\alpha^{i,\xi}_{1}+\mathbf{N}_{i,\xi,1})}{(\mathbf{N}_{i,% \xi}+\alpha^{i,\xi}_{1}+\alpha^{i,\xi}_{0})}\end{array}start_ARRAY start_ROW start_CELL italic_p ( over¯ start_ARG caligraphic_G end_ARG | caligraphic_S ) end_CELL end_ROW start_ROW start_CELL = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT ∫ start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT [ italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT = italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ) end_CELL end_ROW start_ROW start_CELL + ( 1 - italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) end_POSTSUPERSCRIPT ) ( 1 - italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) ) bold_1 ( italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT = italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT ) ] end_CELL end_ROW start_ROW start_CELL × divide start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG italic_θ start_POSTSUBSCRIPT italic_i , italic_ξ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_i , italic_ξ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_d italic_θ end_CELL end_ROW start_ROW start_CELL = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG × ∫ start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT italic_θ start_POSTSUBSCRIPT italic_i , italic_ξ , 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + bold_N start_POSTSUBSCRIPT italic_i , italic_ξ end_POSTSUBSCRIPT - bold_N start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + bold_N start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_d italic_θ end_CELL end_ROW start_ROW start_CELL = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG × divide start_ARG ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + bold_N start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT ) end_ARG start_ARG ( bold_N start_POSTSUBSCRIPT italic_i , italic_ξ end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) end_ARG end_CELL end_ROW end_ARRAY

where

𝐍i,ξ,1=𝐍([(Xi(n)(t+1)=1)(Vi,d(n)(t+1)×Z(n)=ξ(Vdpa(i)))];𝒮),𝐍i,ξ=𝐍([Vi,d(n)(t+1)×Z(n)=ξ(Vdpa(i))];𝒮)subscript𝐍𝑖𝜉1𝐍delimited-[]subscriptsuperscript𝑋𝑛𝑖𝑡11subscriptsuperscript𝑉𝑛𝑖𝑑𝑡1superscript𝑍𝑛𝜉subscript𝑉𝑑𝑝𝑎𝑖𝒮subscript𝐍𝑖𝜉𝐍delimited-[]subscriptsuperscript𝑉𝑛𝑖𝑑𝑡1superscript𝑍𝑛𝜉subscript𝑉𝑑𝑝𝑎𝑖𝒮\begin{array}[]{l}\mathbf{N}_{i,\xi,1}=\mathbf{N}\left(\left[(X^{(n)}_{i}(t+1)% =1)\cap\left(V^{(n)}_{i,d}(t+1)\times Z^{(n)}=\xi(V_{dpa(i)})\right)\right];% \mathcal{S}\right),\\ \mathbf{N}_{i,\xi}=\mathbf{N}\left(\left[V^{(n)}_{i,d}(t+1)\times Z^{(n)}=\xi(% V_{dpa(i)})\right];\mathcal{S}\right)\end{array}start_ARRAY start_ROW start_CELL bold_N start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT = bold_N ( [ ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) = 1 ) ∩ ( italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) × italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) ) ] ; caligraphic_S ) , end_CELL end_ROW start_ROW start_CELL bold_N start_POSTSUBSCRIPT italic_i , italic_ξ end_POSTSUBSCRIPT = bold_N ( [ italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_d end_POSTSUBSCRIPT ( italic_t + 1 ) × italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT = italic_ξ ( italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ) ] ; caligraphic_S ) end_CELL end_ROW end_ARRAY

and with dynamic-static causal influence independence, the score becomes,

p(𝒢¯|𝒮)=i[nx]ξdΞidΓ(α0i,ξd+α1i,ξd)Γ(α0i,ξd)+Γ(α1i,ξd)×(α1i,ξd+𝐍i,ξd,1)(𝐍i,ξd+α1i,ξd+α0i,ξd)×ξsΞisΓ(α0i,ξs+α1i,ξs)Γ(α0i,ξs)+Γ(α1i,ξs)×(α1i,ξs+𝐍i,ξs,1)(𝐍i,ξs+α1i,ξs+α0i,ξs)\begin{array}[]{l}p\left(\bar{\mathcal{G}}|\mathcal{S}\right)=\prod\limits_{i% \in[n_{x}]}\prod\limits_{\xi^{d}\in\Xi^{d}_{i}}\frac{\Gamma\left(\alpha^{i,\xi% ^{d}}_{0}+\alpha^{i,\xi^{d}}_{1}\right)}{\Gamma\left(\alpha^{i,\xi^{d}}_{0}% \right)+\Gamma\left(\alpha^{i,\xi^{d}}_{1}\right)}\times\frac{(\alpha^{i,\xi^{% d}}_{1}+\mathbf{N}_{i,\xi^{d},1})}{(\mathbf{N}_{i,\xi^{d}}+\alpha^{i,\xi^{d}}_% {1}+\alpha^{i,\xi^{d}}_{0})}\\ \qquad\times\prod\limits_{\xi^{s}\in\Xi^{s}_{i}}\frac{\Gamma\left(\alpha^{i,% \xi^{s}}_{0}+\alpha^{i,\xi^{s}}_{1}\right)}{\Gamma\left(\alpha^{i,\xi^{s}}_{0}% \right)+\Gamma\left(\alpha^{i,\xi^{s}}_{1}\right)}\times\frac{(\alpha^{i,\xi^{% s}}_{1}+\mathbf{N}_{i,\xi^{s},1})}{(\mathbf{N}_{i,\xi^{s}}+\alpha^{i,\xi^{s}}_% {1}+\alpha^{i,\xi^{s}}_{0})}\end{array}start_ARRAY start_ROW start_CELL italic_p ( over¯ start_ARG caligraphic_G end_ARG | caligraphic_S ) = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG × divide start_ARG ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + bold_N start_POSTSUBSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , 1 end_POSTSUBSCRIPT ) end_ARG start_ARG ( bold_N start_POSTSUBSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) end_ARG end_CELL end_ROW start_ROW start_CELL × ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG × divide start_ARG ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + bold_N start_POSTSUBSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT , 1 end_POSTSUBSCRIPT ) end_ARG start_ARG ( bold_N start_POSTSUBSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) end_ARG end_CELL end_ROW end_ARRAY (25)

Thus, for the DBN case, computing the above amounts to evaluating the BD score. We observe, in addition, that this derivation indicates how one can sample from the posterior distribution of the weights given the structure that a learner identifies as maximizing the desired score. Indeed the posterior of the weights given the structure is shown above, it is the expression under the integral sign, i.e.,

p(θ|𝒢¯,𝒮)=i[nx]ξdΞidξsΞisΓ(α0i,ξ+α1i,ξ)Γ(α0i,ξ)+Γ(α1i,ξ)θi,ξ,0α0i,ξ+𝐍i,ξ𝐍i,ξ,1θi,ξ,1α1i,ξ+𝐍i,ξ,1𝑝conditional𝜃¯𝒢𝒮subscriptproduct𝑖delimited-[]subscript𝑛𝑥subscriptproductsuperscript𝜉𝑑subscriptsuperscriptΞ𝑑𝑖subscriptproductsuperscript𝜉𝑠subscriptsuperscriptΞ𝑠𝑖Γsubscriptsuperscript𝛼𝑖𝜉0subscriptsuperscript𝛼𝑖𝜉1Γsubscriptsuperscript𝛼𝑖𝜉0Γsubscriptsuperscript𝛼𝑖𝜉1superscriptsubscript𝜃𝑖𝜉0subscriptsuperscript𝛼𝑖𝜉0subscript𝐍𝑖𝜉subscript𝐍𝑖𝜉1superscriptsubscript𝜃𝑖𝜉1subscriptsuperscript𝛼𝑖𝜉1subscript𝐍𝑖𝜉1p\left(\theta|\bar{\mathcal{G}},\mathcal{S}\right)=\prod\limits_{i\in[n_{x}]}% \prod\limits_{\xi^{d}\in\Xi^{d}_{i}}\prod\limits_{\xi^{s}\in\Xi^{s}_{i}}\frac{% \Gamma\left(\alpha^{i,\xi}_{0}+\alpha^{i,\xi}_{1}\right)}{\Gamma\left(\alpha^{% i,\xi}_{0}\right)+\Gamma\left(\alpha^{i,\xi}_{1}\right)}\theta_{i,\xi,0}^{% \alpha^{i,\xi}_{0}+\mathbf{N}_{i,\xi}-\mathbf{N}_{i,\xi,1}}\theta_{i,\xi,1}^{% \alpha^{i,\xi}_{1}+\mathbf{N}_{i,\xi,1}}italic_p ( italic_θ | over¯ start_ARG caligraphic_G end_ARG , caligraphic_S ) = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ∈ roman_Ξ start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT end_POSTSUBSCRIPT divide start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG start_ARG roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT ) + roman_Γ ( italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ) end_ARG italic_θ start_POSTSUBSCRIPT italic_i , italic_ξ , 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + bold_N start_POSTSUBSCRIPT italic_i , italic_ξ end_POSTSUBSCRIPT - bold_N start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_θ start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_α start_POSTSUPERSCRIPT italic_i , italic_ξ end_POSTSUPERSCRIPT start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + bold_N start_POSTSUBSCRIPT italic_i , italic_ξ , 1 end_POSTSUBSCRIPT end_POSTSUPERSCRIPT (26)

5.2.2 Gaussian DBNs

Now we present the derivation of the likelihood and Bayesian criterion (BGe) for DBNs with Gaussian models. The development follows [26] and extends their derivation in two ways. First we perform the recursion for computing the entire trajectory time data. Second, we include a specific parametrization and show how one can simultaneously perform the recursion to obtain a posterior of the weights. We, however, simplify our model to only include Markovian influence, and not lagged autoregressive effects.

We apply the model in [26] to (10) to obtain the following transition likelihood function for the first step and prior for both the overall likelihood transition and the parameters themselves:

p(Xi(1)Xjdpad(0)Xjdpas(1)Zjdpaz|β,dpad(i)dpas(i)dpaz(i))=𝒩(μ(0),W)μ(0)=(μix(1;0)μjdpad(i)x(0)μjdpas(i)x(0)μjdpazz(0))Tμx(0)nx,μz(0)nzμix(1;0)β0+jdpad(i)βi,jdXj(0)+jdpas(i)βi,jsXj(1)+jdpaz(i)βi,jzZj(β0,βd,βs,βz)𝒩(η(0),ψΥ(0))𝑝subscript𝑋𝑖1subscript𝑋𝑗𝑑𝑝subscript𝑎𝑑0subscript𝑋𝑗𝑑𝑝subscript𝑎𝑠1conditionalsubscript𝑍𝑗𝑑𝑝subscript𝑎𝑧𝛽𝑑𝑝subscript𝑎𝑑𝑖𝑑𝑝subscript𝑎𝑠𝑖𝑑𝑝subscript𝑎𝑧𝑖𝒩𝜇0𝑊𝜇0superscriptmatrixsubscriptsuperscript𝜇𝑥𝑖10subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑑𝑖0subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑠𝑖0subscriptsuperscript𝜇𝑧𝑗𝑑𝑝subscript𝑎𝑧0𝑇formulae-sequencesuperscript𝜇𝑥0superscriptsubscript𝑛𝑥superscript𝜇𝑧0superscriptsubscript𝑛𝑧similar-tosubscriptsuperscript𝜇𝑥𝑖10superscript𝛽0subscript𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsuperscript𝛽𝑑𝑖𝑗subscript𝑋𝑗0subscript𝑗𝑑𝑝subscript𝑎𝑠𝑖subscriptsuperscript𝛽𝑠𝑖𝑗subscript𝑋𝑗1subscript𝑗𝑑𝑝subscript𝑎𝑧𝑖subscriptsuperscript𝛽𝑧𝑖𝑗subscript𝑍𝑗similar-tosuperscript𝛽0superscript𝛽𝑑superscript𝛽𝑠superscript𝛽𝑧𝒩𝜂0𝜓Υ0\begin{array}[]{l}p(X_{i}(1)\cup X_{j\in dpa_{d}}(0)\cup X_{j\in dpa_{s}}(1)% \cup Z_{j\in dpa_{z}}|\beta,dpa_{d}(i)\cup dpa_{s}(i)\cup dpa_{z}(i))=\mathcal% {N}\left(\mu(0),W\right)\\ \mu(0)=\begin{pmatrix}\mu^{x}_{i}(1;0)&\mu^{x}_{j\in dpa_{d}(i)}(0)&\mu^{x}_{j% \in dpa_{s}(i)}(0)&\mu^{z}_{j\in dpa_{z}}(0)\end{pmatrix}^{T}\\ \mu^{x}(0)\in\mathbb{R}^{n_{x}},\,\mu^{z}(0)\in\mathbb{R}^{n_{z}}\\ \mu^{x}_{i}(1;0)\sim\beta^{0}+\sum\limits_{j\in dpa_{d}(i)}\beta^{d}_{i,j}X_{j% }(0)+\sum\limits_{j\in dpa_{s}(i)}\beta^{s}_{i,j}X_{j}(1)+\sum\limits_{j\in dpa% _{z}(i)}\beta^{z}_{i,j}Z_{j}\\ (\beta^{0},\beta^{d},\beta^{s},\beta^{z})\sim\mathcal{N}(\eta(0),\psi\Upsilon(% 0))\end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_X start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) ∪ italic_X start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( 0 ) ∪ italic_X start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( 1 ) ∪ italic_Z start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_POSTSUBSCRIPT | italic_β , italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) ∪ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) ∪ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) ) = caligraphic_N ( italic_μ ( 0 ) , italic_W ) end_CELL end_ROW start_ROW start_CELL italic_μ ( 0 ) = ( start_ARG start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ; 0 ) end_CELL start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 0 ) end_CELL start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 0 ) end_CELL start_CELL italic_μ start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW end_ARG ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT ( 0 ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT , italic_μ start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( 0 ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ; 0 ) ∼ italic_β start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( 0 ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( 1 ) + ∑ start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL ( italic_β start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT , italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT , italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT , italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ) ∼ caligraphic_N ( italic_η ( 0 ) , italic_ψ roman_Υ ( 0 ) ) end_CELL end_ROW end_ARRAY (27)

Now consider that the variables have corresponding priors marginal:

X(0),Z𝒩((μx(0),μz(0)),{Σ(0),Σz})similar-to𝑋0𝑍𝒩subscript𝜇𝑥0subscript𝜇𝑧0Σ0subscriptΣ𝑧X(0),Z\sim\mathcal{N}\left((\mu_{x}(0),\mu_{z}(0)),\{\Sigma(0),\Sigma_{z}\}\right)italic_X ( 0 ) , italic_Z ∼ caligraphic_N ( ( italic_μ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( 0 ) , italic_μ start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( 0 ) ) , { roman_Σ ( 0 ) , roman_Σ start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT } ) (28)

this will be also used to derive the corresponding equivalent posterior analysis. Note that the DAG structure is important for the sensibility of these definitions.

Let us define W𝑊Witalic_W. The parameter prior introduces a normal-Wishart distribution on the mean with precision matrix T𝑇Titalic_T, drop** the i𝑖iitalic_i dependence

p(μ(0)|W,𝒢¯)=𝒩(ν(0),αμW)ν(0)=(μ+(0):=η0+ηdμjdpadx(0)+ηsμjdpasx+ηzμjdpaz(i)z(0)μjdpadx(0)μjdpasx(0)μjdpaz(i)z(0))p(W|𝒢¯)=c(ni(1),αw)|T|αw/2|W|(aαni(1)1)/2e1/2tr(TW)Wishart(W|αw,T)c(ni(1),αw):=(2αwn/2πn(n1)/4i=1nxΓ(αw+1i2))1n(1)=1+|dpa(i)|αμW=ψ((Υ(0)/Υ0(0))(Υ(0)/Υ0(0))Tμdpad(i)x(0)(Υ(0)/Υ0(0))(Υ(0)/Υd(0))T............μdpaz(i)z(0)(Υ(0)/Υ0(0))(Υ(0)/Υd(0)))𝑝conditional𝜇0𝑊¯𝒢𝒩𝜈0subscript𝛼𝜇𝑊𝜈0matrixassignsuperscript𝜇0subscript𝜂0subscript𝜂𝑑subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑑0subscript𝜂𝑠subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑠subscript𝜂𝑧subscriptsuperscript𝜇𝑧𝑗𝑑𝑝subscript𝑎𝑧𝑖0subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑑0subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑠0subscriptsuperscript𝜇𝑧𝑗𝑑𝑝subscript𝑎𝑧𝑖0𝑝conditional𝑊¯𝒢𝑐subscript𝑛𝑖1subscript𝛼𝑤superscript𝑇subscript𝛼𝑤2superscript𝑊subscript𝑎𝛼subscript𝑛𝑖112superscript𝑒12𝑡𝑟𝑇𝑊Wishartconditional𝑊subscript𝛼𝑤𝑇assign𝑐subscript𝑛𝑖1subscript𝛼𝑤superscriptsuperscript2subscript𝛼𝑤𝑛2superscript𝜋𝑛𝑛14superscriptsubscriptproduct𝑖1subscript𝑛𝑥Γsubscript𝛼𝑤1𝑖21𝑛11𝑑𝑝𝑎𝑖subscript𝛼𝜇𝑊absent𝜓matrixΥ0subscriptΥ00superscriptΥ0subscriptΥ00𝑇superscriptsubscript𝜇𝑑𝑝subscript𝑎𝑑𝑖𝑥0Υ0subscriptΥ00superscriptΥ0subscriptΥ𝑑0𝑇absentabsentabsentabsentabsentabsentsuperscriptsubscript𝜇𝑑𝑝subscript𝑎𝑧𝑖𝑧0Υ0subscriptΥ00Υ0subscriptΥ𝑑0\begin{array}[]{l}p\left(\mu(0)|W,\bar{\mathcal{G}}\right)=\mathcal{N}\left(% \nu(0),\alpha_{\mu}W\right)\\ \nu(0)=\begin{pmatrix}\mu^{+}(0):=\eta_{0}+\eta_{d}\cdot\mu^{x}_{j\in dpa_{d}}% (0)+\eta_{s}\cdot\mu^{x}_{j\in dpa_{s}}+\eta_{z}\cdot\mu^{z}_{j\in dpa_{z}(i)}% (0)\\ \mu^{x}_{j\in dpa_{d}}(0)\\ \mu^{x}_{j\in dpa_{s}}(0)\\ \mu^{z}_{j\in dpa_{z}(i)}(0)\end{pmatrix}\\ p\left(W|\bar{\mathcal{G}}\right)=c(n_{i}(1),\alpha_{w})|T|^{\alpha_{w}/2}|W|^% {(a_{\alpha}-n_{i}(1)-1)/2}e^{-1/2\mathop{tr}(TW)}\equiv\text{Wishart}\left(W|% \alpha_{w},T\right)\\ c(n_{i}(1),\alpha_{w}):=\left(2^{\alpha_{w}n/2}\pi^{n(n-1)/4}\prod\limits_{i=1% }^{n_{x}}\Gamma\left(\frac{\alpha_{w}+1-i}{2}\right)\right)^{-1}\\ n(1)=1+|dpa(i)|\\ \alpha_{\mu}W=\\ \psi\begin{pmatrix}(\Upsilon(0)\,/\,\Upsilon_{\setminus 0}(0))(\Upsilon(0)\,/% \,\Upsilon_{\setminus 0}(0))^{T}&\mu_{dpa_{d}(i)}^{x}(0)(\Upsilon(0)\,/\,% \Upsilon_{\setminus 0}(0))(\Upsilon(0)\,/\,\Upsilon_{\setminus d}(0))^{T}&..\\ ..&..&..\\ ..&..&\mu_{dpa_{z}(i)}^{z}(0)(\Upsilon(0)\,/\,\Upsilon_{\setminus 0}(0))(% \Upsilon(0)\,/\,\Upsilon_{\setminus d}(0))\end{pmatrix}\end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_μ ( 0 ) | italic_W , over¯ start_ARG caligraphic_G end_ARG ) = caligraphic_N ( italic_ν ( 0 ) , italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_W ) end_CELL end_ROW start_ROW start_CELL italic_ν ( 0 ) = ( start_ARG start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ( 0 ) := italic_η start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_η start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ⋅ italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( 0 ) + italic_η start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ⋅ italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_POSTSUBSCRIPT + italic_η start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ⋅ italic_μ start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW end_ARG ) end_CELL end_ROW start_ROW start_CELL italic_p ( italic_W | over¯ start_ARG caligraphic_G end_ARG ) = italic_c ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) , italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ) | italic_T | start_POSTSUPERSCRIPT italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT / 2 end_POSTSUPERSCRIPT | italic_W | start_POSTSUPERSCRIPT ( italic_a start_POSTSUBSCRIPT italic_α end_POSTSUBSCRIPT - italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) - 1 ) / 2 end_POSTSUPERSCRIPT italic_e start_POSTSUPERSCRIPT - 1 / 2 start_BIGOP italic_t italic_r end_BIGOP ( italic_T italic_W ) end_POSTSUPERSCRIPT ≡ Wishart ( italic_W | italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT , italic_T ) end_CELL end_ROW start_ROW start_CELL italic_c ( italic_n start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) , italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT ) := ( 2 start_POSTSUPERSCRIPT italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT italic_n / 2 end_POSTSUPERSCRIPT italic_π start_POSTSUPERSCRIPT italic_n ( italic_n - 1 ) / 4 end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT roman_Γ ( divide start_ARG italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT + 1 - italic_i end_ARG start_ARG 2 end_ARG ) ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL italic_n ( 1 ) = 1 + | italic_d italic_p italic_a ( italic_i ) | end_CELL end_ROW start_ROW start_CELL italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_W = end_CELL end_ROW start_ROW start_CELL italic_ψ ( start_ARG start_ROW start_CELL ( roman_Υ ( 0 ) / roman_Υ start_POSTSUBSCRIPT ∖ 0 end_POSTSUBSCRIPT ( 0 ) ) ( roman_Υ ( 0 ) / roman_Υ start_POSTSUBSCRIPT ∖ 0 end_POSTSUBSCRIPT ( 0 ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL italic_μ start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT ( 0 ) ( roman_Υ ( 0 ) / roman_Υ start_POSTSUBSCRIPT ∖ 0 end_POSTSUBSCRIPT ( 0 ) ) ( roman_Υ ( 0 ) / roman_Υ start_POSTSUBSCRIPT ∖ italic_d end_POSTSUBSCRIPT ( 0 ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL start_CELL . . end_CELL end_ROW start_ROW start_CELL . . end_CELL start_CELL . . end_CELL start_CELL . . end_CELL end_ROW start_ROW start_CELL . . end_CELL start_CELL . . end_CELL start_CELL italic_μ start_POSTSUBSCRIPT italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( 0 ) ( roman_Υ ( 0 ) / roman_Υ start_POSTSUBSCRIPT ∖ 0 end_POSTSUBSCRIPT ( 0 ) ) ( roman_Υ ( 0 ) / roman_Υ start_POSTSUBSCRIPT ∖ italic_d end_POSTSUBSCRIPT ( 0 ) ) end_CELL end_ROW end_ARG ) end_CELL end_ROW end_ARRAY (29)

where A/B𝐴𝐵A/Bitalic_A / italic_B denotes the Schur complement of A𝐴Aitalic_A with respect to B𝐵Bitalic_B. In [26, Theorem 4 and Theorem 5] it is shown that parameter independence is preserved through the computation of the posterior. Note that the posterior now is with respect to all the data that is present in a transition. The DAG structure ensures that ν(0)𝜈0\nu(0)italic_ν ( 0 ) is well defined as a vector, rather than implicitly as a function of μjdpas(i)x(0)subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑠𝑖0\mu^{x}_{j\in dpa_{s}(i)}(0)italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 0 ). Finally, the last line related the two models together, indicating how the Wishart distribution arises from the parameter distribution, in this case.

With this, we obtain the joint likelihood expression:

p(𝒮|β𝒢¯,𝒢¯)=n=1Nt=0T1i[nx]p(Xi(n)(t+1)Vjdpa(i)(n)(t+1)|θ𝒢¯,𝒢¯)=i[nx]t=0T1n=1Np(Xi(n)(t+1){Xj(n)(t)}jdpad(i),{Xj(t+1)}jdpa(i),{Zj}jdpaz(i)|μx(0),μz(0),η(0),𝒢¯):=i[nx]t=0T1n=1Np(𝒮i(n)(1)|μx(0),μz(0),η(0),𝒢¯)𝑝conditional𝒮superscript𝛽¯𝒢¯𝒢superscriptsubscriptproduct𝑛1𝑁superscriptsubscriptproduct𝑡0𝑇1subscriptproduct𝑖delimited-[]subscript𝑛𝑥𝑝subscriptsuperscript𝑋𝑛𝑖𝑡1conditionalsubscriptsuperscript𝑉𝑛𝑗𝑑𝑝𝑎𝑖𝑡1superscript𝜃¯𝒢¯𝒢absentsubscriptproduct𝑖delimited-[]subscript𝑛𝑥superscriptsubscriptproduct𝑡0𝑇1superscriptsubscriptproduct𝑛1𝑁𝑝subscriptsuperscript𝑋𝑛𝑖𝑡1subscriptsubscriptsuperscript𝑋𝑛𝑗𝑡𝑗𝑑𝑝subscript𝑎𝑑𝑖subscriptsubscript𝑋𝑗𝑡1𝑗𝑑𝑝𝑎𝑖conditionalsubscriptsubscript𝑍𝑗𝑗𝑑𝑝subscript𝑎𝑧𝑖subscript𝜇𝑥0subscript𝜇𝑧0𝜂0¯𝒢assignabsentsubscriptproduct𝑖delimited-[]subscript𝑛𝑥superscriptsubscriptproduct𝑡0𝑇1superscriptsubscriptproduct𝑛1𝑁𝑝conditionalsubscriptsuperscript𝒮𝑛𝑖1subscript𝜇𝑥0subscript𝜇𝑧0𝜂0¯𝒢\begin{array}[]{l}p\left(\mathcal{S}|\beta^{\bar{\mathcal{G}}},\bar{\mathcal{G% }}\right)=\par\prod\limits_{n=1}^{N}\prod\limits_{t=0}^{T-1}\prod\limits_{i\in% [n_{x}]}p\left(X^{(n)}_{i}(t+1)\cup V^{(n)}_{j\in dpa(i)}(t+1)|\theta^{\bar{% \mathcal{G}}},\bar{\mathcal{G}}\right)\\ =\prod\limits_{i\in[n_{x}]}\prod\limits_{t=0}^{T-1}\prod\limits_{n=1}^{N}p% \left(X^{(n)}_{i}(t+1)\cup\{X^{(n)}_{j}(t)\}_{j\in dpa_{d}(i)},\{X_{j}(t+1)\}_% {j\in dpa(i)},\{Z_{j}\}_{j\in dpa_{z}(i)}|\mu_{x}(0),\mu_{z}(0),\eta(0),\bar{% \mathcal{G}}\right)\\ :=\prod\limits_{i\in[n_{x}]}\prod\limits_{t=0}^{T-1}\prod\limits_{n=1}^{N}p% \left(\mathcal{S}^{(n)}_{i}(1)|\mu_{x}(0),\mu_{z}(0),\eta(0),\bar{\mathcal{G}}% \right)\end{array}start_ARRAY start_ROW start_CELL italic_p ( caligraphic_S | italic_β start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) = ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT italic_p ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ∪ italic_V start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_t + 1 ) | italic_θ start_POSTSUPERSCRIPT over¯ start_ARG caligraphic_G end_ARG end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL = ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_p ( italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_t + 1 ) ∪ { italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT , { italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( italic_t + 1 ) } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT , { italic_Z start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT | italic_μ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( 0 ) , italic_μ start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( 0 ) , italic_η ( 0 ) , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW start_ROW start_CELL := ∏ start_POSTSUBSCRIPT italic_i ∈ [ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ] end_POSTSUBSCRIPT ∏ start_POSTSUBSCRIPT italic_t = 0 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T - 1 end_POSTSUPERSCRIPT ∏ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_p ( caligraphic_S start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) | italic_μ start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ( 0 ) , italic_μ start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( 0 ) , italic_η ( 0 ) , over¯ start_ARG caligraphic_G end_ARG ) end_CELL end_ROW end_ARRAY (30)

for mean μ𝜇\muitalic_μ and nowhere singular covariance matrix W𝑊Witalic_W.

Now, with this redundant embedding in both prior in the variable space and parameter space, we deduce how to compute the posterior of the distribution distribution of the data μ𝜇\muitalic_μ and W𝑊Witalic_W from [26] for T=2𝑇2T=2italic_T = 2, and subsequently, compute the posterior of the parameters in the model, while showing it is equivalent by a straightforward Bayesian posterior propagation. After deriving the base case T=2𝑇2T=2italic_T = 2, we continue with the induction for T𝑇Titalic_T to T+1𝑇1T+1italic_T + 1, in order to derive the final posterior of the data, from which we can compute the marginal likelihood of the structure, as well as sample the final posterior values.

Now from the original we know that the likelihood of the data can be given by:

p(μ(1)|W,𝒮i(n)(1),𝒢¯)𝒩(ν(1),(αw+N)W(1)),W(1)Wishart(αw+N,R(1))ν(1)=(μ+(1)μjdpad(i)x(1)μjdpas(i)x(1)μjdpaz(i)z(1)):=1αμ+N[αμν(0)+Nν¯(1)]R=T+SN(1)+αμNαμ+N(ν(0)ν¯(1))(ν(0)ν¯(1))Tν¯(1)=(ν¯(1;0)ν¯jdpad(i)x(0)ν¯jdpas(i)x(0)ν¯jdpaz(i)z):=(1Nn=1NXi(n)(1)1Nn=1NXjdpad(n)(0)1Nn=1NXjdpas(i)(n)(1)1Nn=1NZjdpaz(i)(n))similar-to𝑝conditional𝜇1𝑊subscriptsuperscript𝒮𝑛𝑖1¯𝒢𝒩𝜈1subscript𝛼𝑤𝑁𝑊1similar-to𝑊1Wishartsubscript𝛼𝑤𝑁𝑅1𝜈1matrixsuperscript𝜇1subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑑𝑖1subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑠𝑖1subscriptsuperscript𝜇𝑧𝑗𝑑𝑝subscript𝑎𝑧𝑖1assign1subscript𝛼𝜇𝑁delimited-[]subscript𝛼𝜇𝜈0𝑁¯𝜈1𝑅𝑇subscript𝑆𝑁1subscript𝛼𝜇𝑁subscript𝛼𝜇𝑁𝜈0¯𝜈1superscript𝜈0¯𝜈1𝑇¯𝜈1matrix¯𝜈10subscriptsuperscript¯𝜈𝑥𝑗𝑑𝑝subscript𝑎𝑑𝑖0subscriptsuperscript¯𝜈𝑥𝑗𝑑𝑝subscript𝑎𝑠𝑖0subscriptsuperscript¯𝜈𝑧𝑗𝑑𝑝subscript𝑎𝑧𝑖assignmatrix1𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑋𝑛𝑖11𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑋𝑛𝑗𝑑𝑝subscript𝑎𝑑01𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑋𝑛𝑗𝑑𝑝subscript𝑎𝑠𝑖11𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑍𝑛𝑗𝑑𝑝subscript𝑎𝑧𝑖\begin{array}[]{l}p\left(\mu(1)|W,\mathcal{S}^{(n)}_{i}(1),\bar{\mathcal{G}}% \right)\sim\mathcal{N}(\nu(1),(\alpha_{w}+N)W(1)),\\ W(1)\sim\text{Wishart}(\alpha_{w}+N,R(1))\\ \nu(1)=\begin{pmatrix}\mu^{+}(1)\\ \mu^{x}_{j\in dpa_{d}(i)}(1)\\ \mu^{x}_{j\in dpa_{s}(i)}(1)\\ \mu^{z}_{j\in dpa_{z}(i)}(1)\end{pmatrix}:=\frac{1}{\alpha_{\mu}+N}\left[% \alpha_{\mu}\nu(0)+N\bar{\nu}(1)\right]\\ R=T+S_{N}(1)+\frac{\alpha_{\mu}N}{\alpha_{\mu}+N}(\nu(0)-\bar{\nu}(1))(\nu(0)-% \bar{\nu}(1))^{T}\\ \bar{\nu}(1)=\begin{pmatrix}\bar{\nu}(1;0)\\ \bar{\nu}^{x}_{j\in dpa_{d}(i)}(0)\\ \bar{\nu}^{x}_{j\in dpa_{s}(i)}(0)\\ \bar{\nu}^{z}_{j\in dpa_{z}(i)}\end{pmatrix}:=\begin{pmatrix}\frac{1}{N}\sum% \limits_{n=1}^{N}X^{(n)}_{i}(1)\\ \frac{1}{N}\sum\limits_{n=1}^{N}X^{(n)}_{j\in dpa_{d}}(0)\\ \frac{1}{N}\sum\limits_{n=1}^{N}X^{(n)}_{j\in dpa_{s}(i)}(1)\\ \frac{1}{N}\sum\limits_{n=1}^{N}Z^{(n)}_{j\in dpa_{z}(i)}\end{pmatrix}\\ \end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_μ ( 1 ) | italic_W , caligraphic_S start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) , over¯ start_ARG caligraphic_G end_ARG ) ∼ caligraphic_N ( italic_ν ( 1 ) , ( italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT + italic_N ) italic_W ( 1 ) ) , end_CELL end_ROW start_ROW start_CELL italic_W ( 1 ) ∼ Wishart ( italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT + italic_N , italic_R ( 1 ) ) end_CELL end_ROW start_ROW start_CELL italic_ν ( 1 ) = ( start_ARG start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW end_ARG ) := divide start_ARG 1 end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT + italic_N end_ARG [ italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_ν ( 0 ) + italic_N over¯ start_ARG italic_ν end_ARG ( 1 ) ] end_CELL end_ROW start_ROW start_CELL italic_R = italic_T + italic_S start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT ( 1 ) + divide start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_N end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT + italic_N end_ARG ( italic_ν ( 0 ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) ( italic_ν ( 0 ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG ( 1 ) = ( start_ARG start_ROW start_CELL over¯ start_ARG italic_ν end_ARG ( 1 ; 0 ) end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ) := ( start_ARG start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ) end_CELL end_ROW end_ARRAY (31)

Now, before we proceed with the next time step, let us define the propagation in the hyperparameters, that is of the model η,Σ𝜂Σ\eta,\Sigmaitalic_η , roman_Σ.

β(1):=(β0(1),βd(1),βs(1),βz(1))𝒩(η(1),Υ(1))η0(1)=η0(0)+1Nη¯0(1)Σ(0,1)Σdpa(i)1(0,0)ηdpa(i)0(0)ηd(1)=ηd(0)+Σd1(0,0;1)Σd(0,1)ηs(1)=ηs(0)+Σs1(0,0;1)Σs(0,1)ηz(1)=ηz(0)+Σz1(0,0;1)Σz(0,1)Υ(1)=ψΥ(0)+Σ(1,1)Σ(0,1)Σ1(0,0;1)Σ(0,1)Σ(1,1)=1N2(ν(0)ν¯(1))(ν(0)ν¯(1))TΣ(0,1)=1N2(ν(0)ν¯(1))((nX¯i(n)(1)V¯jdpa(i)(n)(1))ν¯(1))TΣ(0,0;1)=1N2((nX¯i(n)(1)V¯jdpa(i)(n)(1))ν¯(1))((nX¯i(n)(1)V¯jdpa(i)(n)(1))ν¯(1))Tassign𝛽1superscript𝛽01superscript𝛽𝑑1superscript𝛽𝑠1superscript𝛽𝑧1similar-to𝒩𝜂1Υ1superscript𝜂01superscript𝜂001𝑁superscript¯𝜂01Σ01subscriptsuperscriptΣ1𝑑𝑝𝑎𝑖00subscriptsuperscript𝜂0𝑑𝑝𝑎𝑖0superscript𝜂𝑑1superscript𝜂𝑑0subscriptsuperscriptΣ1𝑑001subscriptΣ𝑑01superscript𝜂𝑠1superscript𝜂𝑠0subscriptsuperscriptΣ1𝑠001subscriptΣ𝑠01superscript𝜂𝑧1superscript𝜂𝑧0subscriptsuperscriptΣ1𝑧001subscriptΣ𝑧01Υ1𝜓Υ0Σ11Σ01superscriptΣ1001Σ01Σ111superscript𝑁2𝜈0¯𝜈1superscript𝜈0¯𝜈1𝑇Σ011superscript𝑁2𝜈0¯𝜈1superscriptmatrixsubscript𝑛subscriptsuperscript¯𝑋𝑛𝑖1subscriptsuperscript¯𝑉𝑛𝑗𝑑𝑝𝑎𝑖1¯𝜈1𝑇Σ0011superscript𝑁2matrixsubscript𝑛subscriptsuperscript¯𝑋𝑛𝑖1subscriptsuperscript¯𝑉𝑛𝑗𝑑𝑝𝑎𝑖1¯𝜈1superscriptmatrixsubscript𝑛subscriptsuperscript¯𝑋𝑛𝑖1subscriptsuperscript¯𝑉𝑛𝑗𝑑𝑝𝑎𝑖1¯𝜈1𝑇\begin{array}[]{l}\beta(1):=(\beta^{0}(1),\beta^{d}(1),\beta^{s}(1),\beta^{z}(% 1))\sim\mathcal{N}(\eta(1),\Upsilon(1))\\ \eta^{0}(1)=\eta^{0}(0)+\frac{1}{N}\bar{\eta}^{0}(1)-\Sigma(0,1)\Sigma^{-1}_{% dpa(i)}(0,0)\eta^{0}_{dpa(i)}(0)\\ \eta^{d}(1)=\eta^{d}(0)+\Sigma^{-1}_{\setminus d}(0,0;1)\Sigma_{d}(0,1)\\ \eta^{s}(1)=\eta^{s}(0)+\Sigma^{-1}_{\setminus s}(0,0;1)\Sigma_{s}(0,1)\\ \eta^{z}(1)=\eta^{z}(0)+\Sigma^{-1}_{\setminus z}(0,0;1)\Sigma_{z}(0,1)\\ \Upsilon(1)=\psi\Upsilon(0)+\Sigma(1,1)-\Sigma(0,1)\Sigma^{-1}(0,0;1)\Sigma(0,% 1)\\ \Sigma(1,1)=\frac{1}{N^{2}}(\nu(0)-\bar{\nu}(1))(\nu(0)-\bar{\nu}(1))^{T}\\ \Sigma(0,1)=\frac{1}{N^{2}}\left(\nu(0)-\bar{\nu}(1)\right)\left(\begin{% pmatrix}\sum_{n}\bar{X}^{(n)}_{i}(1)\\ \sum\bar{V}^{(n)}_{j\in dpa(i)}(1)\end{pmatrix}-\bar{\nu}(1)\right)^{T}\\ \Sigma(0,0;1)=\frac{1}{N^{2}}\left(\begin{pmatrix}\sum_{n}\bar{X}^{(n)}_{i}(1)% \\ \sum\bar{V}^{(n)}_{j\in dpa(i)}(1)\end{pmatrix}-\bar{\nu}(1)\right)\left(% \begin{pmatrix}\sum_{n}\bar{X}^{(n)}_{i}(1)\\ \sum\bar{V}^{(n)}_{j\in dpa(i)}(1)\end{pmatrix}-\bar{\nu}(1)\right)^{T}\end{array}start_ARRAY start_ROW start_CELL italic_β ( 1 ) := ( italic_β start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( 1 ) , italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( 1 ) , italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( 1 ) , italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( 1 ) ) ∼ caligraphic_N ( italic_η ( 1 ) , roman_Υ ( 1 ) ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( 1 ) = italic_η start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( 0 ) + divide start_ARG 1 end_ARG start_ARG italic_N end_ARG over¯ start_ARG italic_η end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( 1 ) - roman_Σ ( 0 , 1 ) roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( 0 , 0 ) italic_η start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( 0 ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( 1 ) = italic_η start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( 0 ) + roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∖ italic_d end_POSTSUBSCRIPT ( 0 , 0 ; 1 ) roman_Σ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( 0 , 1 ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( 1 ) = italic_η start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( 0 ) + roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∖ italic_s end_POSTSUBSCRIPT ( 0 , 0 ; 1 ) roman_Σ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( 0 , 1 ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( 1 ) = italic_η start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( 0 ) + roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∖ italic_z end_POSTSUBSCRIPT ( 0 , 0 ; 1 ) roman_Σ start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( 0 , 1 ) end_CELL end_ROW start_ROW start_CELL roman_Υ ( 1 ) = italic_ψ roman_Υ ( 0 ) + roman_Σ ( 1 , 1 ) - roman_Σ ( 0 , 1 ) roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( 0 , 0 ; 1 ) roman_Σ ( 0 , 1 ) end_CELL end_ROW start_ROW start_CELL roman_Σ ( 1 , 1 ) = divide start_ARG 1 end_ARG start_ARG italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( italic_ν ( 0 ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) ( italic_ν ( 0 ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL roman_Σ ( 0 , 1 ) = divide start_ARG 1 end_ARG start_ARG italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( italic_ν ( 0 ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) ( ( start_ARG start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT over¯ start_ARG italic_X end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL ∑ over¯ start_ARG italic_V end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW end_ARG ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL roman_Σ ( 0 , 0 ; 1 ) = divide start_ARG 1 end_ARG start_ARG italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( ( start_ARG start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT over¯ start_ARG italic_X end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL ∑ over¯ start_ARG italic_V end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW end_ARG ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) ( ( start_ARG start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT over¯ start_ARG italic_X end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW start_ROW start_CELL ∑ over¯ start_ARG italic_V end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( 1 ) end_CELL end_ROW end_ARG ) - over¯ start_ARG italic_ν end_ARG ( 1 ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (32)

Recalling that, and Wab,a,b{0,d,s}subscript𝑊𝑎𝑏𝑎𝑏0𝑑𝑠W_{ab},a,b\in\{0,d,s\}italic_W start_POSTSUBSCRIPT italic_a italic_b end_POSTSUBSCRIPT , italic_a , italic_b ∈ { 0 , italic_d , italic_s } the block mean vector and covariance matrix components corresponding to the estimates for β0,βd,βssubscript𝛽0subscript𝛽𝑑subscript𝛽𝑠\beta_{0},\beta_{d},\beta_{s}italic_β start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT , italic_β start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT , italic_β start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT, respectively, can be similarly computed through Υ(1)Υ1\Upsilon(1)roman_Υ ( 1 ).

We now perform the grand inductive step, to obtain the recursion from T1𝑇1T-1italic_T - 1 to T𝑇Titalic_T to be as follows, for the posterior of the data:

p(μ(T)|W,𝒮(n),𝒢¯)𝒩(ν(T),(αw+NT)W(T)),W(T)Wishart(αw+NT,R(T))ν(T)=(μ+(T)μjdpad(i)x(T)μjdpas(i)x(T)μjdpaz(i)z(T)):=1αμ+N[αμν(T1)+Nν¯(T)]=1αμ+N[αμν(0)+Nt[T]ν¯(t)]R(T)=R(T1)+SN(T)+αμNαμ+N(ν(T1)ν¯(T))(ν(T1)ν¯(T))T=T+t=1TSN(t)+αμNαμ+Nt=1T(ν(t1)ν¯(t))(ν(t1)ν¯(t))Tν¯(T)=(ν¯(T;T1)ν¯jdpad(i)x(T1)ν¯jdpas(i)x(T1)ν¯jdpaz(i)z):=(1Nn=1NXi(n)(T)1Nn=1NXjdpad(n)(T1)1Nn=1NXjdpas(i)(n)(T)1Nn=1NZjdpaz(i)(n))similar-to𝑝conditional𝜇𝑇𝑊superscript𝒮𝑛¯𝒢𝒩𝜈𝑇subscript𝛼𝑤𝑁𝑇𝑊𝑇similar-to𝑊𝑇Wishartsubscript𝛼𝑤𝑁𝑇𝑅𝑇𝜈𝑇matrixsuperscript𝜇𝑇subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑑𝑖𝑇subscriptsuperscript𝜇𝑥𝑗𝑑𝑝subscript𝑎𝑠𝑖𝑇subscriptsuperscript𝜇𝑧𝑗𝑑𝑝subscript𝑎𝑧𝑖𝑇assign1subscript𝛼𝜇𝑁delimited-[]subscript𝛼𝜇𝜈𝑇1𝑁¯𝜈𝑇absent1subscript𝛼𝜇𝑁delimited-[]subscript𝛼𝜇𝜈0𝑁subscript𝑡delimited-[]𝑇¯𝜈𝑡𝑅𝑇𝑅𝑇1subscript𝑆𝑁𝑇subscript𝛼𝜇𝑁subscript𝛼𝜇𝑁𝜈𝑇1¯𝜈𝑇superscript𝜈𝑇1¯𝜈𝑇𝑇absent𝑇superscriptsubscript𝑡1𝑇subscript𝑆𝑁𝑡subscript𝛼𝜇𝑁subscript𝛼𝜇𝑁superscriptsubscript𝑡1𝑇𝜈𝑡1¯𝜈𝑡superscript𝜈𝑡1¯𝜈𝑡𝑇¯𝜈𝑇matrix¯𝜈𝑇𝑇1subscriptsuperscript¯𝜈𝑥𝑗𝑑𝑝subscript𝑎𝑑𝑖𝑇1subscriptsuperscript¯𝜈𝑥𝑗𝑑𝑝subscript𝑎𝑠𝑖𝑇1subscriptsuperscript¯𝜈𝑧𝑗𝑑𝑝subscript𝑎𝑧𝑖assignmatrix1𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑋𝑛𝑖𝑇1𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑋𝑛𝑗𝑑𝑝subscript𝑎𝑑𝑇11𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑋𝑛𝑗𝑑𝑝subscript𝑎𝑠𝑖𝑇1𝑁superscriptsubscript𝑛1𝑁subscriptsuperscript𝑍𝑛𝑗𝑑𝑝subscript𝑎𝑧𝑖\begin{array}[]{l}p\left(\mu(T)|W,\mathcal{S}^{(n)},\bar{\mathcal{G}}\right)% \sim\mathcal{N}(\nu(T),(\alpha_{w}+NT)W(T)),\\ W(T)\sim\text{Wishart}(\alpha_{w}+NT,R(T))\\ \nu(T)=\begin{pmatrix}\mu^{+}(T)\\ \mu^{x}_{j\in dpa_{d}(i)}(T)\\ \mu^{x}_{j\in dpa_{s}(i)}(T)\\ \mu^{z}_{j\in dpa_{z}(i)}(T)\end{pmatrix}:=\frac{1}{\alpha_{\mu}+N}\left[% \alpha_{\mu}\nu(T-1)+N\bar{\nu}(T)\right]\\ \qquad=\frac{1}{\alpha_{\mu}+N}\left[\alpha_{\mu}\nu(0)+N\sum_{t\in[T]}\bar{% \nu}(t)\right]\\ R(T)=R(T-1)+S_{N}(T)+\frac{\alpha_{\mu}N}{\alpha_{\mu}+N}(\nu(T-1)-\bar{\nu}(T% ))(\nu(T-1)-\bar{\nu}(T))^{T}\\ \qquad=T+\sum\limits_{t=1}^{T}S_{N}(t)+\frac{\alpha_{\mu}N}{\alpha_{\mu}+N}% \sum\limits_{t=1}^{T}(\nu(t-1)-\bar{\nu}(t))(\nu(t-1)-\bar{\nu}(t))^{T}\\ \bar{\nu}(T)=\begin{pmatrix}\bar{\nu}(T;T-1)\\ \bar{\nu}^{x}_{j\in dpa_{d}(i)}(T-1)\\ \bar{\nu}^{x}_{j\in dpa_{s}(i)}(T-1)\\ \bar{\nu}^{z}_{j\in dpa_{z}(i)}\end{pmatrix}:=\begin{pmatrix}\frac{1}{N}\sum% \limits_{n=1}^{N}X^{(n)}_{i}(T)\\ \frac{1}{N}\sum\limits_{n=1}^{N}X^{(n)}_{j\in dpa_{d}}(T-1)\\ \frac{1}{N}\sum\limits_{n=1}^{N}X^{(n)}_{j\in dpa_{s}(i)}(T)\\ \frac{1}{N}\sum\limits_{n=1}^{N}Z^{(n)}_{j\in dpa_{z}(i)}\end{pmatrix}\end{array}start_ARRAY start_ROW start_CELL italic_p ( italic_μ ( italic_T ) | italic_W , caligraphic_S start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT , over¯ start_ARG caligraphic_G end_ARG ) ∼ caligraphic_N ( italic_ν ( italic_T ) , ( italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT + italic_N italic_T ) italic_W ( italic_T ) ) , end_CELL end_ROW start_ROW start_CELL italic_W ( italic_T ) ∼ Wishart ( italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT + italic_N italic_T , italic_R ( italic_T ) ) end_CELL end_ROW start_ROW start_CELL italic_ν ( italic_T ) = ( start_ARG start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL italic_μ start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW end_ARG ) := divide start_ARG 1 end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT + italic_N end_ARG [ italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_ν ( italic_T - 1 ) + italic_N over¯ start_ARG italic_ν end_ARG ( italic_T ) ] end_CELL end_ROW start_ROW start_CELL = divide start_ARG 1 end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT + italic_N end_ARG [ italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_ν ( 0 ) + italic_N ∑ start_POSTSUBSCRIPT italic_t ∈ [ italic_T ] end_POSTSUBSCRIPT over¯ start_ARG italic_ν end_ARG ( italic_t ) ] end_CELL end_ROW start_ROW start_CELL italic_R ( italic_T ) = italic_R ( italic_T - 1 ) + italic_S start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT ( italic_T ) + divide start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_N end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT + italic_N end_ARG ( italic_ν ( italic_T - 1 ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) ( italic_ν ( italic_T - 1 ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL = italic_T + ∑ start_POSTSUBSCRIPT italic_t = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_N end_POSTSUBSCRIPT ( italic_t ) + divide start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT italic_N end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT + italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_t = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ( italic_ν ( italic_t - 1 ) - over¯ start_ARG italic_ν end_ARG ( italic_t ) ) ( italic_ν ( italic_t - 1 ) - over¯ start_ARG italic_ν end_ARG ( italic_t ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG ( italic_T ) = ( start_ARG start_ROW start_CELL over¯ start_ARG italic_ν end_ARG ( italic_T ; italic_T - 1 ) end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( italic_T - 1 ) end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG start_POSTSUPERSCRIPT italic_x end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( italic_T - 1 ) end_CELL end_ROW start_ROW start_CELL over¯ start_ARG italic_ν end_ARG start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ) := ( start_ARG start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT ( italic_T - 1 ) end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL divide start_ARG 1 end_ARG start_ARG italic_N end_ARG ∑ start_POSTSUBSCRIPT italic_n = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_N end_POSTSUPERSCRIPT italic_Z start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_i ) end_POSTSUBSCRIPT end_CELL end_ROW end_ARG ) end_CELL end_ROW end_ARRAY (33)

In general terms, the form is broadly preserved. As such, we can reproduce the evaluation for the marginal likelihood, that is the BGe score, directly from [26]

p(𝒮|𝒢¯)=(2π)nx(n~x+n~z)NT/2(αμαμ+NT)(n~x+n~z)/2c(1+n~x+n~z,αw+(1+n~x+n~z))c(1+n~x+n~z,αw1+(n~x+n~z)+NT×|R(T1)|awnx+n~x+n~z2|R(T)|αwnx+n~x+n~z+NT2\begin{array}[]{l}p\left(\mathcal{S}|\bar{\mathcal{G}}\right)=(2\pi)^{n_{x}-(% \tilde{n}_{x}+\tilde{n}_{z})NT/2}\left(\frac{\alpha_{\mu}}{\alpha_{\mu}+NT}% \right)^{(\tilde{n}_{x}+\tilde{n}_{z})/2}\frac{c(1+\tilde{n}_{x}+\tilde{n}_{z}% ,\alpha_{w}+(1+\tilde{n}_{x}+\tilde{n}_{z}))}{c(1+\tilde{n}_{x}+\tilde{n}_{z},% \alpha_{w}-1+(\tilde{n}_{x}+\tilde{n}_{z})+NT}\\ \qquad\qquad\qquad\times\left|R(T-1)\right|^{\frac{a_{w}-n_{x}+\tilde{n}_{x}+% \tilde{n}_{z}}{2}}\left|R(T)\right|^{-\frac{\alpha_{w}-n_{x}+\tilde{n}_{x}+% \tilde{n}_{z}+NT}{2}}\end{array}start_ARRAY start_ROW start_CELL italic_p ( caligraphic_S | over¯ start_ARG caligraphic_G end_ARG ) = ( 2 italic_π ) start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT - ( over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ) italic_N italic_T / 2 end_POSTSUPERSCRIPT ( divide start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_μ end_POSTSUBSCRIPT + italic_N italic_T end_ARG ) start_POSTSUPERSCRIPT ( over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ) / 2 end_POSTSUPERSCRIPT divide start_ARG italic_c ( 1 + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT , italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT + ( 1 + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ) ) end_ARG start_ARG italic_c ( 1 + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT , italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT - 1 + ( over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ) + italic_N italic_T end_ARG end_CELL end_ROW start_ROW start_CELL × | italic_R ( italic_T - 1 ) | start_POSTSUPERSCRIPT divide start_ARG italic_a start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT - italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT | italic_R ( italic_T ) | start_POSTSUPERSCRIPT - divide start_ARG italic_α start_POSTSUBSCRIPT italic_w end_POSTSUBSCRIPT - italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT + over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT + italic_N italic_T end_ARG start_ARG 2 end_ARG end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (34)

where n~xnx,n~znzformulae-sequencesubscript~𝑛𝑥subscript𝑛𝑥subscript~𝑛𝑧subscript𝑛𝑧\tilde{n}_{x}\leq n_{x},\tilde{n}_{z}\leq n_{z}over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT ≤ italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT , over~ start_ARG italic_n end_ARG start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ≤ italic_n start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT are maximal, or the appropriate weighted average, of the sparsity of dependence on covariates on the transition to X(t+1)𝑋𝑡1X(t+1)italic_X ( italic_t + 1 ) (that is, the dimension of Vdpa(i)subscript𝑉𝑑𝑝𝑎𝑖V_{dpa(i)}italic_V start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT).

We can also express the parametric form of the posterior of the distribution of the weights, which also follows along the recursion.

β(T):=(β0(T),βd(T),βs(T),βz(T))𝒩(η(T),Υ(T))η0(T)=η0(0)+1Nη¯0(T)Σ(T1,T)Σdpa(i)1(T1,T1)ηdpa(i)0(T1)ηd(T)=ηd(T1)+Σd1(T1,T1;T)Σd(T1,T)ηs(T)=ηs(T1)+Σs1(T1,T1;T)Σs(T1,T)ηz(T)=ηz(T1)+Σz1(T1,T1;T)Σz(T1,T)Υ(T)=Υ(T1)+Σ(T,T)Σ(T1,T)Σ1(T1,T1;T)Σ(T1,T)Σ(T,T)=1N2(ν(T1)ν¯(T))(ν(T1)ν¯(T))TΣ(T1,T)=1N2(ν(T1)ν¯(T))((nX¯i(n)(T)V¯jdpa(i)(n)(T))ν¯(T))TΣ(T1,T1;T)=1N2((nX¯i(n)(T)V¯jdpa(i)(n)(T))ν¯(T))((nX¯i(n)(T)V¯jdpa(i)(n)(T))ν¯(T))Tassign𝛽𝑇superscript𝛽0𝑇superscript𝛽𝑑𝑇superscript𝛽𝑠𝑇superscript𝛽𝑧𝑇similar-to𝒩𝜂𝑇Υ𝑇superscript𝜂0𝑇superscript𝜂001𝑁superscript¯𝜂0𝑇Σ𝑇1𝑇subscriptsuperscriptΣ1𝑑𝑝𝑎𝑖𝑇1𝑇1subscriptsuperscript𝜂0𝑑𝑝𝑎𝑖𝑇1superscript𝜂𝑑𝑇superscript𝜂𝑑𝑇1subscriptsuperscriptΣ1𝑑𝑇1𝑇1𝑇subscriptΣ𝑑𝑇1𝑇superscript𝜂𝑠𝑇superscript𝜂𝑠𝑇1subscriptsuperscriptΣ1𝑠𝑇1𝑇1𝑇subscriptΣ𝑠𝑇1𝑇superscript𝜂𝑧𝑇superscript𝜂𝑧𝑇1subscriptsuperscriptΣ1𝑧𝑇1𝑇1𝑇subscriptΣ𝑧𝑇1𝑇Υ𝑇Υ𝑇1Σ𝑇𝑇Σ𝑇1𝑇superscriptΣ1𝑇1𝑇1𝑇Σ𝑇1𝑇Σ𝑇𝑇1superscript𝑁2𝜈𝑇1¯𝜈𝑇superscript𝜈𝑇1¯𝜈𝑇𝑇Σ𝑇1𝑇1superscript𝑁2𝜈𝑇1¯𝜈𝑇superscriptmatrixsubscript𝑛subscriptsuperscript¯𝑋𝑛𝑖𝑇subscriptsuperscript¯𝑉𝑛𝑗𝑑𝑝𝑎𝑖𝑇¯𝜈𝑇𝑇Σ𝑇1𝑇1𝑇1superscript𝑁2matrixsubscript𝑛subscriptsuperscript¯𝑋𝑛𝑖𝑇subscriptsuperscript¯𝑉𝑛𝑗𝑑𝑝𝑎𝑖𝑇¯𝜈𝑇superscriptmatrixsubscript𝑛subscriptsuperscript¯𝑋𝑛𝑖𝑇subscriptsuperscript¯𝑉𝑛𝑗𝑑𝑝𝑎𝑖𝑇¯𝜈𝑇𝑇\begin{array}[]{l}\beta(T):=(\beta^{0}(T),\beta^{d}(T),\beta^{s}(T),\beta^{z}(% T))\sim\mathcal{N}(\eta(T),\Upsilon(T))\\ \eta^{0}(T)=\eta^{0}(0)+\frac{1}{N}\bar{\eta}^{0}(T)-\Sigma(T-1,T)\Sigma^{-1}_% {dpa(i)}(T-1,T-1)\eta^{0}_{dpa(i)}(T-1)\\ \eta^{d}(T)=\eta^{d}(T-1)+\Sigma^{-1}_{\setminus d}(T-1,T-1;T)\Sigma_{d}(T-1,T% )\\ \eta^{s}(T)=\eta^{s}(T-1)+\Sigma^{-1}_{\setminus s}(T-1,T-1;T)\Sigma_{s}(T-1,T% )\\ \eta^{z}(T)=\eta^{z}(T-1)+\Sigma^{-1}_{\setminus z}(T-1,T-1;T)\Sigma_{z}(T-1,T% )\\ \Upsilon(T)=\Upsilon(T-1)+\Sigma(T,T)-\Sigma(T-1,T)\Sigma^{-1}(T-1,T-1;T)% \Sigma(T-1,T)\\ \Sigma(T,T)=\frac{1}{N^{2}}(\nu(T-1)-\bar{\nu}(T))(\nu(T-1)-\bar{\nu}(T))^{T}% \\ \Sigma(T-1,T)=\frac{1}{N^{2}}\left(\nu(T-1)-\bar{\nu}(T)\right)\left(\begin{% pmatrix}\sum_{n}\bar{X}^{(n)}_{i}(T)\\ \sum\bar{V}^{(n)}_{j\in dpa(i)}(T)\end{pmatrix}-\bar{\nu}(T)\right)^{T}\\ \Sigma(T-1,T-1;T)=\frac{1}{N^{2}}\left(\begin{pmatrix}\sum_{n}\bar{X}^{(n)}_{i% }(T)\\ \sum\bar{V}^{(n)}_{j\in dpa(i)}(T)\end{pmatrix}-\bar{\nu}(T)\right)\left(% \begin{pmatrix}\sum_{n}\bar{X}^{(n)}_{i}(T)\\ \sum\bar{V}^{(n)}_{j\in dpa(i)}(T)\end{pmatrix}-\bar{\nu}(T)\right)^{T}\end{array}start_ARRAY start_ROW start_CELL italic_β ( italic_T ) := ( italic_β start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( italic_T ) , italic_β start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( italic_T ) , italic_β start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( italic_T ) , italic_β start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( italic_T ) ) ∼ caligraphic_N ( italic_η ( italic_T ) , roman_Υ ( italic_T ) ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( italic_T ) = italic_η start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( 0 ) + divide start_ARG 1 end_ARG start_ARG italic_N end_ARG over¯ start_ARG italic_η end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ( italic_T ) - roman_Σ ( italic_T - 1 , italic_T ) roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_T - 1 , italic_T - 1 ) italic_η start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_T - 1 ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( italic_T ) = italic_η start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( italic_T - 1 ) + roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∖ italic_d end_POSTSUBSCRIPT ( italic_T - 1 , italic_T - 1 ; italic_T ) roman_Σ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ( italic_T - 1 , italic_T ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( italic_T ) = italic_η start_POSTSUPERSCRIPT italic_s end_POSTSUPERSCRIPT ( italic_T - 1 ) + roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∖ italic_s end_POSTSUBSCRIPT ( italic_T - 1 , italic_T - 1 ; italic_T ) roman_Σ start_POSTSUBSCRIPT italic_s end_POSTSUBSCRIPT ( italic_T - 1 , italic_T ) end_CELL end_ROW start_ROW start_CELL italic_η start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( italic_T ) = italic_η start_POSTSUPERSCRIPT italic_z end_POSTSUPERSCRIPT ( italic_T - 1 ) + roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT start_POSTSUBSCRIPT ∖ italic_z end_POSTSUBSCRIPT ( italic_T - 1 , italic_T - 1 ; italic_T ) roman_Σ start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_T - 1 , italic_T ) end_CELL end_ROW start_ROW start_CELL roman_Υ ( italic_T ) = roman_Υ ( italic_T - 1 ) + roman_Σ ( italic_T , italic_T ) - roman_Σ ( italic_T - 1 , italic_T ) roman_Σ start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ( italic_T - 1 , italic_T - 1 ; italic_T ) roman_Σ ( italic_T - 1 , italic_T ) end_CELL end_ROW start_ROW start_CELL roman_Σ ( italic_T , italic_T ) = divide start_ARG 1 end_ARG start_ARG italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( italic_ν ( italic_T - 1 ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) ( italic_ν ( italic_T - 1 ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL roman_Σ ( italic_T - 1 , italic_T ) = divide start_ARG 1 end_ARG start_ARG italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( italic_ν ( italic_T - 1 ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) ( ( start_ARG start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT over¯ start_ARG italic_X end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL ∑ over¯ start_ARG italic_V end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW end_ARG ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL roman_Σ ( italic_T - 1 , italic_T - 1 ; italic_T ) = divide start_ARG 1 end_ARG start_ARG italic_N start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG ( ( start_ARG start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT over¯ start_ARG italic_X end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL ∑ over¯ start_ARG italic_V end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW end_ARG ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) ( ( start_ARG start_ROW start_CELL ∑ start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT over¯ start_ARG italic_X end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW start_ROW start_CELL ∑ over¯ start_ARG italic_V end_ARG start_POSTSUPERSCRIPT ( italic_n ) end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j ∈ italic_d italic_p italic_a ( italic_i ) end_POSTSUBSCRIPT ( italic_T ) end_CELL end_ROW end_ARG ) - over¯ start_ARG italic_ν end_ARG ( italic_T ) ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (35)

This defines the distribution of weights. Let us finally consider the reverse transformation, of obtaining the score from the weights. Indeed, this can be done straightforwardly, as then W(T)𝑊𝑇W(T)italic_W ( italic_T ) can be recovered from Υ(T)Υ𝑇\Upsilon(T)roman_Υ ( italic_T ), and then μ(T)𝜇𝑇\mu(T)italic_μ ( italic_T ) will have mean ν(T)𝜈𝑇\nu(T)italic_ν ( italic_T )

5.3 Enforcing Acyclicity

For ensuring that the structure that is learned is a proper Directed Acyclic Graph, there are a number of options as far as formulations for the various optimization problems defining the learning. Below we detail how these are enforced both when the structure is defined by integer decision variables as well as the continuous one shot formulation.

Integer Variables

The primary challenge in solving optimization problems on DAGs stems from the exponential size of the acyclicity constraint. A well-known method to ensure acyclicity involves using cycle elimination constraints, which were originally introduced in the context of the Traveling Salesman Problem (TSP) in [11]. Supposing that the set of all cycles is denoted by 𝒞𝒞\mathcal{C}caligraphic_C, these constraints often take the form

(i,j)Cei,j|C|1,C𝒞,formulae-sequencesubscript𝑖𝑗𝐶subscript𝑒𝑖𝑗𝐶1for-all𝐶𝒞\sum_{\left(i,j\right)\in C}e_{i,j}\leq\left|C\right|-1,\quad\forall C\in% \mathcal{C},∑ start_POSTSUBSCRIPT ( italic_i , italic_j ) ∈ italic_C end_POSTSUBSCRIPT italic_e start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT ≤ | italic_C | - 1 , ∀ italic_C ∈ caligraphic_C , (36)

where ei,jsubscript𝑒𝑖𝑗e_{i,j}italic_e start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT denote binary decision variables that indicate which edges are present in the directed graph. These constraints may be complemented by different score functions to complete the optimization problem leading to dag recovery. This can then lead to different types of problems, some of which are linear [51, 34, 45], some quadratic [56]. Furthermore, this method of cycle elimination is also typically augmented with a cutting plane method [48, 56].

Another method for acyclicity enforcement is derived from a well-known combinatorial optimization problem called linear ordering (LO) [28]. In the LO problem, we aim to find ”the best” permutations, which may be further constrained. In the case a directed acyclic graphs, these permutations correspond to the placements of edges and since the basis has only quadratic cardinality, the number of constraints is limited. The cycles are then excluded by imposing LO constraints. A perceived drawback of this approach is the neccessity for a quadratic cost function [57, 28].

The third method for eliminating cycles involves enforcing constraints to ensure the nodes adhere to a topological order. A topological order is a linear arrangement of the nodes in a graph such that an arc (j,k)𝑗𝑘\left(j,k\right)( italic_j , italic_k ) exists only if node j𝑗jitalic_j precedes node k𝑘kitalic_k in this order. The discrete decision variables, indexed by the node and placement in the topological order determine the graph. It has been reported that in some cases this approach can lead to polynomial time learning [60].

Recently, an alternative approach based on layered networks has been proposed [57]. The concept of layering forbids the placement of arcs between layers in a given direction. The problem of finding a layered graph is defined by the number of layers and the minimal number of layers for a given DAG is unique. This contrasts the topological order method described in the previous paragraph, which can have a possitive influence on the construction of the branch-and-bound tree [57].

One Shot Continuous Formulations

Recall that in one shot continuous variable adjacency matrix formulations, the variables denote both the structure (as far as their nonzeros) as well as the sign and magnitude of the weights themselves. Thus it is natural to consider that a constraint in the form of an equality of some function to zero could correspond to ensuring the right zero-nonzero structure of the adjacency matrix to establish acyclicity. On the other hand, considering that this must involve considerations of multiple transitions, potentially extensive matrix multiplication could, and we shall see is, involved.

The algorithm NOTEARS [72] and DYNOTEARS[50] uses the following functional constraint in a continuous optimization algorithm to enforce the DAG structure of the graph,

trexp{WW}d=tr(I+W+W22+W33!+)d=0𝑡𝑟direct-product𝑊𝑊𝑑𝑡𝑟𝐼𝑊superscript𝑊22superscript𝑊33𝑑0\mathop{tr}\exp\left\{W\odot W\right\}-d=\mathop{tr}\left(I+W+\frac{W^{2}}{2}+% \frac{W^{3}}{3!}+...\right)-d=0start_BIGOP italic_t italic_r end_BIGOP roman_exp { italic_W ⊙ italic_W } - italic_d = start_BIGOP italic_t italic_r end_BIGOP ( italic_I + italic_W + divide start_ARG italic_W start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_ARG start_ARG 2 end_ARG + divide start_ARG italic_W start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT end_ARG start_ARG 3 ! end_ARG + … ) - italic_d = 0 (37)

which is meant to approximate the following (perhaps more easily enforced) set of constraints,

tr(I+WW)d=0tr(I+WWW)d=0tr(I+WnxW)d=0𝑡𝑟𝐼direct-product𝑊𝑊𝑑0𝑡𝑟𝐼direct-product𝑊𝑊𝑊𝑑0𝑡𝑟𝐼superscriptdirect-productsubscript𝑛𝑥𝑊𝑊𝑑0\begin{array}[]{l}\mathop{tr}(I+W\odot W)-d=0\\ \mathop{tr}(I+W\odot W\odot W)-d=0\\ ...\\ \mathop{tr}(I+W\odot^{n_{x}}W)-d=0\end{array}start_ARRAY start_ROW start_CELL start_BIGOP italic_t italic_r end_BIGOP ( italic_I + italic_W ⊙ italic_W ) - italic_d = 0 end_CELL end_ROW start_ROW start_CELL start_BIGOP italic_t italic_r end_BIGOP ( italic_I + italic_W ⊙ italic_W ⊙ italic_W ) - italic_d = 0 end_CELL end_ROW start_ROW start_CELL … end_CELL end_ROW start_ROW start_CELL start_BIGOP italic_t italic_r end_BIGOP ( italic_I + italic_W ⊙ start_POSTSUPERSCRIPT italic_n start_POSTSUBSCRIPT italic_x end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_W ) - italic_d = 0 end_CELL end_ROW end_ARRAY (38)

In [70] they introduce a different constraint term that also enforces the DAG constraint, but appears to have better numerical stability, for small μ>0𝜇0\mu>0italic_μ > 0:

tr((I+μWW)d)d𝑡𝑟superscript𝐼direct-product𝜇𝑊𝑊𝑑𝑑\mathop{tr}\left((I+\mu W\odot W)^{d}\right)-dstart_BIGOP italic_t italic_r end_BIGOP ( ( italic_I + italic_μ italic_W ⊙ italic_W ) start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ) - italic_d (39)

In the procedure NO BEARS [41] the spectral radius is used to define the presence of a DAG constraint on the adjacency graph. Certain numerical approximations make this relatively feasible, despite the high complexity and nondifferentiability of the spectral radius of a matrix.

Finally, [71] present DAGS with NOCURL, which obviates the need for an explicit functional constraint by solving:

(U,p)=argU𝕊minpdf(UReLU(grad(p)))superscript𝑈superscript𝑝subscript𝑈𝕊subscript𝑝superscript𝑑𝑓direct-product𝑈𝑅𝑒𝐿𝑈𝑔𝑟𝑎𝑑𝑝(U^{*},p^{*})=\arg_{U\in\mathbb{S}}\min_{p\in\mathbb{R}^{d}}f(U\odot\mathop{% ReLU}(\mathop{grad}(p)))( italic_U start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT , italic_p start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) = roman_arg start_POSTSUBSCRIPT italic_U ∈ blackboard_S end_POSTSUBSCRIPT roman_min start_POSTSUBSCRIPT italic_p ∈ blackboard_R start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_f ( italic_U ⊙ start_BIGOP italic_R italic_e italic_L italic_U end_BIGOP ( start_BIGOP italic_g italic_r italic_a italic_d end_BIGOP ( italic_p ) ) )

with 𝕊𝕊\mathbb{S}blackboard_S the space of d×d𝑑𝑑d\times ditalic_d × italic_d skew-symmetric matrices and grad(p)ji=pipj𝑔𝑟𝑎𝑑subscript𝑝𝑗𝑖subscript𝑝𝑖subscript𝑝𝑗\mathop{grad}(p)_{ji}=p_{i}-p_{j}start_BIGOP italic_g italic_r italic_a italic_d end_BIGOP ( italic_p ) start_POSTSUBSCRIPT italic_j italic_i end_POSTSUBSCRIPT = italic_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_p start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT defines the gradient flow on the nodes of the graph.

6 Methods for Learning Structure and Parameters in DBNs

Now we describe the details of several prominent algorithms that are used to train DBNs. These are not meant to be exhaustive, nor are they even intended to be chosen among the best performing in general. Rather, we hope to present a comprehensive variety, that is, we intend that each broad type of method that is commonly used and studied has a representative among the algorithms chosen. These algorithms use very different techniques, and treat all of the aforementioned considerations regarding learning, that is, the correspondence between structure and weights, and the distinction between points and samples and hierarchical and one shot methods. In addition, approximate (or “local”) versus exact (or “global”) methods will indicate the tradeoffs associated with seeking the best solution or seeking to find a satisficing statistical model.

6.1 Highlighted Existing Methods

6.1.1 Constraint Based

Under the assumptions of causal sufficiency (no hidden confounders) and faithfulness, classical algorithms developed by Spirtes et al. [62] have been proven to estimate the DAG without exhaustive enumeration of possible structures (which is impossible in interesting cases). The Peter-Clark (PC) algorithm is a method to retrieve the skeleton and directions of the edges, relying on an empirical hypothesis test of Conditional Independence (CI) for each pair of variables given a subset of other variables. It starts from a complete undirected graph and deletes sequentially edges based on these CI relations. PCMCI [55] is adapted to time-series datasets and works for lagged links (causes precede effects). It operates in two stages: 1/ PC testing which identifies a potential set of parents with high probabilities for each variable Xjtsuperscriptsubscript𝑋𝑗𝑡X_{j}^{t}italic_X start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_t end_POSTSUPERSCRIPT. 2/ using these parents as conditions for the momentary conditional independence (MCI) to address the false positives and test all variable pairs. Statistical tests ParCorr, GPDC, and CMI are used in both steps. PCMCI+ extends PCMCI to include contemporaneous links [54].

This is a good representative of a method that clearly prioritizes structure, and is a statistically principled frequentist technique for identifying said structure. As such there are strong asymptotic theoretical results for this method, and it is broadly accepted to be reliable as far as identifying the ground truth. As any method prioritizing structure, however, the necessity of focusing exclusively on a discrete procedure limits the scalability of this approach.

6.1.2 Score Based:

There are a number of methods that attempt to either optimize to obtain or sample from a high score of a Bayesian Criterion. We include a few of these methods due to their significant difference as far as the method of optimization/sampling.

Integer Programming

The Integer Programming based [3] uses the local score (BDeu, BGe, DiscreteLL, DiscreteBIC, DiscreteAIC, GaussianLL, GaussianBIC, GaussianAIC, GaussianL0) to optimize the network, amortizing its evaluation, thus obviating the need to compute parameters to compute the score. This algorithm was later relased as GOBNILP [14] (Globally Optimal Bayesian Network learning using Integer Linear Programming). GOBNILP finds the network with the highest BDeu score under the constraint that the underlying structure can be represented as a DAG. For every node in the graph v𝑣vitalic_v and every possible parent set W𝑊Witalic_W, binary variable I(Wv)𝐼𝑊𝑣I(W\rightarrow v)italic_I ( italic_W → italic_v ) is created. The optimization criterion is then sum over all possible vertices and all possible parent sets, where the BDeu score for the selected parent set of every node is considered, i.e.,

vWI(Wv)BDeu(v,W).subscript𝑣subscript𝑊𝐼𝑊𝑣𝐵𝐷𝑒𝑢𝑣𝑊\sum_{v}\sum_{W}I(W\rightarrow v)\cdot BDeu(v,W).∑ start_POSTSUBSCRIPT italic_v end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT italic_I ( italic_W → italic_v ) ⋅ italic_B italic_D italic_e italic_u ( italic_v , italic_W ) . (40)

The constraints are then of two types. First, each vertex needs to have only a single parent set, which for node v𝑣vitalic_v formulates as

WI(Wv)=1.subscript𝑊𝐼𝑊𝑣1\sum_{W}I(W\rightarrow v)=1.∑ start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT italic_I ( italic_W → italic_v ) = 1 . (41)

The second constraint requires that there are no cycles in the graph. This is imposed by cluster constraints, which require that there must be 1111 node with no parents for any set of nodes. As there are exponentially many such sets of nodes, the optimization problem is solved, and if a cycle is in the final solution, the cluster constraint that prohibits the found cycle is added. Such computation is iterated until a DAG is found, which also ensured that the optimal model is found.

This algorithm represents the curious “frequentist-Bayesian” approach to structure-parameter learning. As it is an IP based method, there are also practical limitations in regards to scaling, however, the method is broadly known to be reliable and, for its search space, efficient.

GFlowNets

GFlowNet (GFN) for structure learning [17] consists of approximating the posterior instead of finding a single DAG, to reduce uncertainty over models. They construct the sample DAG from the posterior as a sequential decision problem by starting from an empty graph and adding one edge at a time. The GFN environment is similar to Reinforcement Learning where the states are different graphs, each associated with a reward which is the score of that structure. They define a terminal state sfsubscript𝑠𝑓s_{f}italic_s start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT to which every connected state is called complete. The actions taken are edge adding (no edge reversal or removal). In addition, they define a mask that prevents having cycles in the graphs. GFN’s goal is to model the whole distribution proportional to the rewards. It also borrows from Markov chain literature, using forward and backward transition probabilities, Pθ(s/s)subscript𝑃𝜃superscript𝑠𝑠P_{\theta}(s^{\prime}/s)italic_P start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ( italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT / italic_s ) and PB(s/s)subscript𝑃𝐵𝑠superscript𝑠P_{B}(s/s^{\prime})italic_P start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ( italic_s / italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) in the loss function that satisfies the detailed balance condition:

(θ)=ss[logR(s)PB(s/s)PB(sf/s)R(s)Pθ(s/s)Pθ(sf/s)]2𝜃subscript𝑠superscript𝑠superscriptdelimited-[]𝑙𝑜𝑔𝑅superscript𝑠subscript𝑃𝐵𝑠superscript𝑠subscript𝑃𝐵subscript𝑠𝑓𝑠𝑅𝑠subscript𝑃𝜃superscript𝑠𝑠subscript𝑃𝜃subscript𝑠𝑓superscript𝑠2\mathcal{L}(\theta)=\sum_{s\rightarrow s^{\prime}}\left[log\frac{R(s^{\prime})% P_{B}(s/s^{\prime})P_{B}(s_{f}/s)}{R(s)P_{\theta}(s^{\prime}/s)P_{\theta}(s_{f% }/s^{\prime})}\right]^{2}caligraphic_L ( italic_θ ) = ∑ start_POSTSUBSCRIPT italic_s → italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT [ italic_l italic_o italic_g divide start_ARG italic_R ( italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) italic_P start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ( italic_s / italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) italic_P start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ( italic_s start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT / italic_s ) end_ARG start_ARG italic_R ( italic_s ) italic_P start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ( italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT / italic_s ) italic_P start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ( italic_s start_POSTSUBSCRIPT italic_f end_POSTSUBSCRIPT / italic_s start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ) end_ARG ] start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT (42)

where R(s)𝑅𝑠R(s)italic_R ( italic_s ) is the reward function of state s𝑠sitalic_s. Extending GFN to DBN required changing the scoring function BDe and BGe adequately and changing the mask used before to also take into account the stationarity assumption (transitions are invariant in time) and to be a block upper triangular matrix (no edges going from time slice t+1𝑡1t+1italic_t + 1 to t𝑡titalic_t).

This has been recently extended in [18] for sampling the structure and weights simultaneously using recent developments of expanding the GFN environment to continuous variables [39].

Monte Carlo Greedy Hill Search

Monte Carlo methods are classical for solving difficult statistical problems, and have been a popular choice for learning the structure and parameters of a DBN. There are two prominent Monte Carlo methods in the literature that developed the foundations and have been seminal in the development of structure learning algorithms. These include the work (1128 citations as of this writing)  [24] as well as (2344) [63], who developed the popular MMHC, a max-min hill climb (MMHC) procedure.

In the numerical experiments, we use MMHC from the package bnstruct [23].

MCMC

We use [38], a more recent development. It uses order based structure sampling and at the same restricts the search space using conditional independence tests. Performance of the method is generally the strongest performer for difficult problems.

6.1.3 One Shot Linear SEMs:

There are two prominent procedures that represent one shot learning of LSEMs. The two are based on integer and continuous based optimization. LSEMs indeed uniquely presents the opportunity for continuous optimization methods, and as such presents the possibility of scaling the estimation procedure, at the cost of theoretical guarantees of global convergence.

Integer Programming

The mixed integer-linear program defined in [45] is presented here:

min(EW,EA,,W,A)𝐄(EW,EA,W,A)+λWEW0+λAEA0:=m=1Mt=1Ti=1d([Xm,t]ij=1dWj,i[Xm,t]jl=1max{p,t}j=1nAl,j,i[Xm,tl]j)2+λWi,j[EW]i,j+λAl,i,j[EA]l,i,js.t. W(1EW)=0,A(1EA)=0,DAG(EW),(EW,EA)[{0,1}d2]×[{0,1}d2]pWd×d,Ap×d×d\begin{array}[]{rl}\min\limits_{(E_{W},E_{A},,W,A)}&\mathbf{E}(E_{W},E_{A},W,A% )+\lambda_{W}\|E_{W}\|_{0}+\lambda_{A}\|E_{A}\|_{0}\\ &:=\sum\limits_{m=1}^{M}\sum\limits_{t=1}^{T}\sum\limits_{i=1}^{d}\left([X_{m,% t}]_{i}-\sum\limits_{j=1}^{d}W_{j,i}[X_{m,t}]_{j}\right.\\ &\left.-\sum\limits_{l=1}^{\max\{p,t\}}\sum\limits_{j=1}^{n}A_{l,j,i}[X_{m,t-l% }]_{j}\right)^{2}+\lambda_{W}\sum\limits_{i,j}[E_{W}]_{i,j}+\lambda_{A}\sum% \limits_{l,i,j}[E_{A}]_{l,i,j}\\ \text{s.t. }&W\cdot(1-E_{W})=0,\\ &A\cdot(1-E_{A})=0,\\ &DAG(E_{W}),\\ &(E_{W},E_{A})\in\left[\{0,1\}^{d^{2}}\right]\times\left[\{0,1\}^{d^{2}}\right% ]^{p}\\ &W\in\mathbb{R}^{d\times d},\,A\in\mathbb{R}^{p\times d\times d}\end{array}start_ARRAY start_ROW start_CELL roman_min start_POSTSUBSCRIPT ( italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT , , italic_W , italic_A ) end_POSTSUBSCRIPT end_CELL start_CELL bold_E ( italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT , italic_W , italic_A ) + italic_λ start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ∥ italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∥ italic_E start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL := ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_t = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( [ italic_X start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_j , italic_i end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL - ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_max { italic_p , italic_t } end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT italic_A start_POSTSUBSCRIPT italic_l , italic_j , italic_i end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT italic_m , italic_t - italic_l end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_λ start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT [ italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_l , italic_i , italic_j end_POSTSUBSCRIPT [ italic_E start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_l , italic_i , italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL s.t. end_CELL start_CELL italic_W ⋅ ( 1 - italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ) = 0 , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_A ⋅ ( 1 - italic_E start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ) = 0 , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_D italic_A italic_G ( italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ) , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL ( italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ) ∈ [ { 0 , 1 } start_POSTSUPERSCRIPT italic_d start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ] × [ { 0 , 1 } start_POSTSUPERSCRIPT italic_d start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_W ∈ blackboard_R start_POSTSUPERSCRIPT italic_d × italic_d end_POSTSUPERSCRIPT , italic_A ∈ blackboard_R start_POSTSUPERSCRIPT italic_p × italic_d × italic_d end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (43)

We can see that a linear model is fit with a standard least squares loss to the data. The constraints appear, in order, as enforcing that an absent structure, defined by the binary variable [EW]i,j=0subscriptdelimited-[]subscript𝐸𝑊𝑖𝑗0[E_{W}]_{i,j}=0[ italic_E start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT = 0, corresponds to a zero weight, that is [W]i,jsubscriptdelimited-[]𝑊𝑖𝑗[W]_{i,j}[ italic_W ] start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT, and similarly for A𝐴Aitalic_A. Next, we enforce a DAG constraint on the integer variables. This was described above in the previous section. Finally, the binary and continuous variables are indicated.

Continuous Optimization

We begin by presenting the general algorithm introduced in [50] which followed the well cited [72]. In this paper, they consider the transition dynamics of X(t)𝑋𝑡X(t)italic_X ( italic_t ) can be expressed using the SEM:

Xt+1=XtW+τ=1τMXtτAτ+σtsubscript𝑋𝑡1subscript𝑋𝑡𝑊superscriptsubscript𝜏1subscript𝜏𝑀subscript𝑋𝑡𝜏subscript𝐴𝜏subscript𝜎𝑡X_{t+1}=X_{t}W+\sum\limits_{\tau=1}^{\tau_{M}}X_{t-\tau}A_{\tau}+\sigma_{t}italic_X start_POSTSUBSCRIPT italic_t + 1 end_POSTSUBSCRIPT = italic_X start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT italic_W + ∑ start_POSTSUBSCRIPT italic_τ = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_X start_POSTSUBSCRIPT italic_t - italic_τ end_POSTSUBSCRIPT italic_A start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT + italic_σ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT (44)

which includes the transition encoding W𝑊Witalic_W, whose sparsity pattern reflects the patterns of causation and magnitudes the linear regression coefficients in the transition. Aisubscript𝐴𝑖A_{i}italic_A start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are autoregressive matrices in case of lagged effects. Here σtsubscript𝜎𝑡\sigma_{t}italic_σ start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT is the noise (note that in the original, this is denoted as Ztsubscript𝑍𝑡Z_{t}italic_Z start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT, which we avoid for confusion).

They solve the optimization problem,

minW,A12nt,iXtiXtiW+τ=1τMXtτiAτ2+λWW1+λAA1subject to Tr[exp(WW)]d=0subscript𝑊𝐴12𝑛subscript𝑡𝑖superscriptnormsubscriptsuperscript𝑋𝑖𝑡subscriptsuperscript𝑋𝑖𝑡𝑊superscriptsubscript𝜏1subscript𝜏𝑀subscriptsuperscript𝑋𝑖𝑡𝜏subscript𝐴𝜏2subscript𝜆𝑊subscriptnorm𝑊1subscript𝜆𝐴subscriptnorm𝐴1subject to 𝑇𝑟delimited-[]𝑊𝑊𝑑0\begin{array}[]{rl}\min\limits_{W,A}&\frac{1}{2n}\sum\limits_{t,i}\|X^{i}_{t}-% X^{i}_{t}W+\sum\limits_{\tau=1}^{\tau_{M}}X^{i}_{t-\tau}A_{\tau}\|^{2}+\lambda% _{W}\|W\|_{1}+\lambda_{A}\|A\|_{1}\\ \text{subject to }&\mathop{Tr}\left[\exp\left(W\circ W\right)\right]-d=0\end{array}start_ARRAY start_ROW start_CELL roman_min start_POSTSUBSCRIPT italic_W , italic_A end_POSTSUBSCRIPT end_CELL start_CELL divide start_ARG 1 end_ARG start_ARG 2 italic_n end_ARG ∑ start_POSTSUBSCRIPT italic_t , italic_i end_POSTSUBSCRIPT ∥ italic_X start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT - italic_X start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT italic_W + ∑ start_POSTSUBSCRIPT italic_τ = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT end_POSTSUPERSCRIPT italic_X start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_t - italic_τ end_POSTSUBSCRIPT italic_A start_POSTSUBSCRIPT italic_τ end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT + italic_λ start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT ∥ italic_W ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT ∥ italic_A ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL subject to end_CELL start_CELL start_BIGOP italic_T italic_r end_BIGOP [ roman_exp ( italic_W ∘ italic_W ) ] - italic_d = 0 end_CELL end_ROW end_ARRAY (45)

wherein the nonlinear constraint function is based on the description in Section 5.3, in particular, see the motivation by (37).

This method is able to impressively identify the ground truth structure for many synthetic examples, while also performing well as far as predictive modeling and forecasting of real world datasets.

6.2 Novel Modifications of Existing Methods

In develo** the work for this paper, a few natural developments of existing algorithms, that wouldn’t be worthwhile to appear independently, arose. We present each of these methods and describe them

One Shot Structure-Parameter Consistent Frequentist

We propose a modified variant of (46). In this case, we introduce positive and negative weights, and require a lower bound for the weights. Thus, if the edge is active, the weights are forced to be bounded away from zero. This is based on two motivations:

  1. 1.

    In principle, a structure being correctly identified should correspond to the weights associated with any active edge to be nonzero. Thus a search for the structure fitting the data well should be expected to have weights that would reject a null hypothesis of zero.

  2. 2.

    In the literature on sparsity (0\|\cdot\|_{0}∥ ⋅ ∥ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT) constrained optimization, e.g. [4], it can be seen that a necessary (but not sufficient) condition for optimality is an L𝐿Litalic_L-stationarity condition that implies that, effectively, the indices (θ)=supp(θ)superscript𝜃𝑠𝑢𝑝𝑝superscript𝜃\mathcal{I}(\theta^{*})=\mathop{supp}(\theta^{*})caligraphic_I ( italic_θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) = start_BIGOP italic_s italic_u italic_p italic_p end_BIGOP ( italic_θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) are such that θi,i(θ)subscript𝜃𝑖𝑖superscript𝜃\theta_{i},i\in\mathcal{I}(\theta^{*})italic_θ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_i ∈ caligraphic_I ( italic_θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT ) must be bounded away from zero a distance corresponding the Lipschitz constant of the gradient and the gradient vector components corresponding to the components of θsuperscript𝜃\theta^{*}italic_θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT that are zero.

min(EW+,EW,EA+,EAW+,W,A+,A)𝐄((EW+,EW,EA+,EA,W+,W,A+,A))+λW+EW+0+λWEW0+λA+EA+0+λAEA0:=m=1Mt=1Ti=1d([Xm,t]ij=1d[EW+]l,j,iWj,i+[Xm,t]jj=1d[EW]l,j,iWj,i[Xm,t]jl=1min{p,t}j=1n[EA+]l,j,iAl,j,i+[Xm,tl]jl=1min{p,t}j=1n[EA]l,j,iAl,j,i[Xm,tl]j)2+λW+i,j[EW+]i,j+λWi,j[EW]i,j+λA+l,i,j[EA+]l,i,j+λAl,i,j[EA]l,i,js.t. W+bW,WbWA+bA,AbAEW++EW1,EA++EA1DAG(EW++EW),EW+,EW[{0,1}d2]EA+,EA[{0,1}d2]pW+,Wd×d,A+,Ap×d×d\begin{array}[]{rl}\min\limits_{\left(\begin{array}[]{c}E_{W^{+}},E_{W^{-}},E_% {A^{+}},E_{A^{-}}\\ W^{+},W^{-},A^{+},A^{-}\end{array}\right)}&\mathbf{E}((E_{W^{+}},E_{W^{-}},E_{% A^{+}},E_{A^{-}},W^{+},W^{-},A^{+},A^{-}))\\ &+\lambda_{W^{+}}\|E_{W^{+}}\|_{0}+\lambda_{W^{-}}\|E_{W^{-}}\|_{0}+\lambda_{A% ^{+}}\|E_{A^{+}}\|_{0}+\lambda_{A^{-}}\|E_{A^{-}}\|_{0}\\ &:=\sum\limits_{m=1}^{M}\sum\limits_{t=1}^{T}\sum\limits_{i=1}^{d}\left([X_{m,% t}]_{i}-\sum\limits_{j=1}^{d}[E_{W^{+}}]_{l,j,i}W^{+}_{j,i}[X_{m,t}]_{j}-\sum% \limits_{j=1}^{d}[E_{W^{-}}]_{l,j,i}W^{-}_{j,i}[X_{m,t}]_{j}\right.\\ &\left.-\sum\limits_{l=1}^{\min\{p,t\}}\sum\limits_{j=1}^{n}[E_{A^{+}}]_{l,j,i% }A^{+}_{l,j,i}[X_{m,t-l}]_{j}-\sum\limits_{l=1}^{\min\{p,t\}}\sum\limits_{j=1}% ^{n}[E_{A^{-}}]_{l,j,i}A^{-}_{l,j,i}[X_{m,t-l}]_{j}\right)^{2}\\ &+\lambda_{W^{+}}\sum\limits_{i,j}[E_{W^{+}}]_{i,j}+\lambda_{W^{-}}\sum\limits% _{i,j}[E_{W^{-}}]_{i,j}\\ &+\lambda_{A^{+}}\sum\limits_{l,i,j}[E_{A^{+}}]_{l,i,j}+\lambda_{A^{-}}\sum% \limits_{l,i,j}[E_{A^{-}}]_{l,i,j}\\ \text{s.t. }&W^{+}\geq b_{W},\,W^{-}\leq-b_{W}\\ &A^{+}\geq b_{A},\,A^{-}\leq-b_{A}\\ &E_{W^{+}}+E_{W^{-}}\leq 1,\,E_{A^{+}}+E_{A^{-}}\leq 1\\ &DAG\left(E_{W^{+}}+E_{W^{-}}\right),\\ &E_{W^{+}},E_{W^{-}}\in\left[\{0,1\}^{d^{2}}\right]\\ &E_{A^{+}},E_{A^{-}}\in\left[\{0,1\}^{d^{2}}\right]^{p}\\ &W^{+},W^{-}\in\mathbb{R}^{d\times d},\,A^{+},A^{-}\in\mathbb{R}^{p\times d% \times d}\end{array}start_ARRAY start_ROW start_CELL roman_min start_POSTSUBSCRIPT ( start_ARRAY start_ROW start_CELL italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT , italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT , italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT , italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY ) end_POSTSUBSCRIPT end_CELL start_CELL bold_E ( ( italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT , italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT , italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT , italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT ) ) end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL := ∑ start_POSTSUBSCRIPT italic_m = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_M end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_t = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT ( [ italic_X start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT [ italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_l , italic_j , italic_i end_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j , italic_i end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT [ italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_l , italic_j , italic_i end_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_j , italic_i end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT italic_m , italic_t end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL - ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_min { italic_p , italic_t } end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT [ italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_l , italic_j , italic_i end_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_l , italic_j , italic_i end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT italic_m , italic_t - italic_l end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT - ∑ start_POSTSUBSCRIPT italic_l = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT roman_min { italic_p , italic_t } end_POSTSUPERSCRIPT ∑ start_POSTSUBSCRIPT italic_j = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT [ italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_l , italic_j , italic_i end_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT start_POSTSUBSCRIPT italic_l , italic_j , italic_i end_POSTSUBSCRIPT [ italic_X start_POSTSUBSCRIPT italic_m , italic_t - italic_l end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ) start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT [ italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT [ italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_i , italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL + italic_λ start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_l , italic_i , italic_j end_POSTSUBSCRIPT [ italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_l , italic_i , italic_j end_POSTSUBSCRIPT + italic_λ start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_l , italic_i , italic_j end_POSTSUBSCRIPT [ italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ] start_POSTSUBSCRIPT italic_l , italic_i , italic_j end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL s.t. end_CELL start_CELL italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ≥ italic_b start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT ≤ - italic_b start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT ≥ italic_b start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT , italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT ≤ - italic_b start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ≤ 1 , italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ≤ 1 end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_D italic_A italic_G ( italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT + italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ) , end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∈ [ { 0 , 1 } start_POSTSUPERSCRIPT italic_d start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ] end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT , italic_E start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ∈ [ { 0 , 1 } start_POSTSUPERSCRIPT italic_d start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT italic_p end_POSTSUPERSCRIPT end_CELL end_ROW start_ROW start_CELL end_CELL start_CELL italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT , italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_d × italic_d end_POSTSUPERSCRIPT , italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT , italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_p × italic_d × italic_d end_POSTSUPERSCRIPT end_CELL end_ROW end_ARRAY (46)

where bW,bA>0subscript𝑏𝑊subscript𝑏𝐴0b_{W},b_{A}>0italic_b start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT , italic_b start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT > 0 are lower bounds on the magnitude of these weights.

7 Numerical Results

Note: this is a work on progress, and the numerical results reported here are exploratory

The synthetic datasets were generated following causalLens [40]. We set the maximum lag to 1 and the graph complexity to 30, corresponding to complex causal graphs. The algorithms used are Dynotears with hyperparameters lambda_w𝑙𝑎𝑚𝑏𝑑𝑎_𝑤lambda\_witalic_l italic_a italic_m italic_b italic_d italic_a _ italic_w and lambda_a𝑙𝑎𝑚𝑏𝑑𝑎_𝑎lambda\_aitalic_l italic_a italic_m italic_b italic_d italic_a _ italic_a equal to 0.05, and a small w_threshold𝑤_𝑡𝑟𝑒𝑠𝑜𝑙𝑑w\_thresholditalic_w _ italic_t italic_h italic_r italic_e italic_s italic_h italic_o italic_l italic_d of 0.01. For structure identification in tables 4 and 5, we only compare the structure of the algorithms, so the binary adjacency matrix (rather than the weighted one) is taken from Dynotears. For GOBNILP, the algorithm only supports IID data. To use it, we run it twice on the data in the first time slice to get the prior network, then on the two first slices to get the transition network. For the MCMC, we use iterative MCMC followed by order MCMC from BiDAG package, to sample the MAP DAG. We set alpha𝑎𝑙𝑝𝑎alphaitalic_a italic_l italic_p italic_h italic_a to , alphainit𝑎𝑙𝑝𝑎𝑖𝑛𝑖𝑡alphainititalic_a italic_l italic_p italic_h italic_a italic_i italic_n italic_i italic_t to 0.01 and change hardlimit𝑎𝑟𝑑𝑙𝑖𝑚𝑖𝑡hardlimititalic_h italic_a italic_r italic_d italic_l italic_i italic_m italic_i italic_t, limit on the size of parent sets , according to the number of variables per experiment. For PCMCI+, we choose an pc_alpha𝑝𝑐_𝑎𝑙𝑝𝑎pc\_alphaitalic_p italic_c _ italic_a italic_l italic_p italic_h italic_a of 0.01 and use ParCorr as the conditional independence test (which assumes univariate, continuous variables with linear dependencies and Gaussian noise). We further correct the p-values by False Discovery Rate control with an alpha_level𝑎𝑙𝑝𝑎_𝑙𝑒𝑣𝑒𝑙alpha\_levelitalic_a italic_l italic_p italic_h italic_a _ italic_l italic_e italic_v italic_e italic_l of 0.01. And finally we use Max Min Hill Climbing algorithm from bnstruct package using the BIC score. The parameters of the one shot frequentist ILP approach (see (46)) were bW=bA=0.1subscript𝑏𝑊subscript𝑏𝐴0.1b_{W}=b_{A}=0.1italic_b start_POSTSUBSCRIPT italic_W end_POSTSUBSCRIPT = italic_b start_POSTSUBSCRIPT italic_A end_POSTSUBSCRIPT = 0.1. The regularization parameters were λA+=λA=λW+=λW=0.05subscript𝜆superscript𝐴subscript𝜆superscript𝐴subscript𝜆superscript𝑊subscript𝜆superscript𝑊0.05\lambda_{A^{+}}=\lambda_{A^{-}}=\lambda_{W^{+}}=\lambda_{W^{-}}=0.05italic_λ start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_λ start_POSTSUBSCRIPT italic_A start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_λ start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = italic_λ start_POSTSUBSCRIPT italic_W start_POSTSUPERSCRIPT - end_POSTSUPERSCRIPT end_POSTSUBSCRIPT = 0.05.

Structure of Numerical Comparisons

We can consider three main purposes for which DBNs may be used for, and so we perform tests comparing the learners for these three criteria in an appropriate manner. In addition, we report on the time of execution, and present results across the scale of small and medium covariate dimension problems.

  1. 1.

    Generative Accuracy A DBN is a generative model, meaning there are no labels, however, it is still meant to model the relationship between random variables. Thus a natural comparison as to the overall statistical quality of a model would be the classic train-test data split comparison of loss. That is, using a holdout validation set from the data, perform the learning to define a DBN model on the training data, and then perform a set of inference queries on this model, and compare their output to the ground truth output given by the validation set.

  2. 2.

    Ground Truth Graph Identification One of the primary goals of using BN and DBN models for fitting various time-varying phenomena is causal discovery and causal inference. This amounts to being able to accurately reconstruct the graph from a noisy realization of the ground truth. Indeed under the causal identifiability assumption given above, the relative success by which a learner is able to compute this ground truth graph is, understandably so, a central for evaluating DBN learners in the literature.

Data Regimes

: Favorable Regime for Identification: This corresponds to NTnmuch-greater-than𝑁𝑇𝑛NT\gg nitalic_N italic_T ≫ italic_n, in which case, the more generally well-developed methods are able to identify the ground truth graph. We shall take:

(n,N,T){(3,30,10),(5,50,50),(10,100,200)}𝑛𝑁𝑇330105505010100200(n,N,T)\in\{(3,30,10),(5,50,50),(10,100,200)\}( italic_n , italic_N , italic_T ) ∈ { ( 3 , 30 , 10 ) , ( 5 , 50 , 50 ) , ( 10 , 100 , 200 ) } (47)

High Dimensional Regime: In this case, causal identification will not be available because the number of trajectories and time steps is insufficient to specify the exact graph that generated the data. However, we can still attempt to train DBN models that fit the data appropriately.

(n,N,T){(3,5,10),(5,10,20),(10,20,40),(20,40,50),(30,60,100)}𝑛𝑁𝑇3510510201020402040503060100(n,N,T)\in\{(3,5,10),(5,10,20),(10,20,40),(20,40,50),(30,60,100)\}( italic_n , italic_N , italic_T ) ∈ { ( 3 , 5 , 10 ) , ( 5 , 10 , 20 ) , ( 10 , 20 , 40 ) , ( 20 , 40 , 50 ) , ( 30 , 60 , 100 ) } (48)

7.1 Model Validation Accuracy

For validation of the accuracy, we split the time series so that the first 70%percent7070\,\%70 % are used for training, and the remaining 30%percent3030\,\%30 % are used for testing. Then, we use the dbnR package to evaluate the log-likelihood of the train data given the predicted model. Results are presented in Tables 2 and 3.

Table 2: Log-likelihood for the favorable regime. TL indicates a setting that did not finish within the time limit, and E indicates a setting that ended in an error.
(3,30,10) (5,50,50) (10,100,200)
GFN -3.872058 144.9295 TL
Dynotears -7.249293 -68.31561 -1911.473
Gobnilp -8.655779 -37.15421 -1474.687
MCMC -6.983337 -71.15038 148.7103
PCMCI+ -9.333284 -144.704 -1986.396
MMHC -7.827745 -61.64009 TL
One Shot F. ILP -1.554613 31.7567 TL
Table 3: Log-likelihood for the high dimensional regime. TL indicates a setting that did not finish within the time limit, and E indicates a setting that ended in an error.
(3,5,10) (5,10,20) (10,20,40) (20,40,50) (30,60,100)
GFN -Inf 192.0897 TL TL TL
Dynotears 23.58121 35.43635 126.4152 -876.4649 -2071.534
Gobnilp 24.81038 44.50767 229.5804 TL TL
MCMC 32.12857 46.05138 208.4295 -457.6892 135.5351
PCMCI+ 23.6628 13.21597 36.11931 -1021.048 -2506.6
MMHC E E E E E
One Shot F. ILP 29.60606 75.58703 TL TL TL

7.2 Structure Identification

To evaluate the qualitative measures of the predicted structure, we compared the predictions with the ground truth adjacency matrix. The comparison was made using the structural Hamming distance, which is informally the number of edges that need to be either removed from or added to the predicted structural graph. The second measure is the AUROC, a standard metric that measures the area under the receiver operator characteristic. The results can be found in Tables 4 and 5.

Table 4: Expected SHD and AUROC for favorable dimensional regime for identification. TL indicates a setting that did not finish within the time limit, and E indicates a setting that ended in an error.
(3,30,10) (5,50,50) (10,100,200)
SHD AUROC SHD AUROC SHD AUROC
GFN 49.0 0.766 1030.0 0.871 16432.0 0.787
Dynotears 13.0 0.658 447.0 0.608 5578.0 0.583
Gobnilp 25.0 0.493 655.0 0.548 5018.0 0.562
MCMC 31.0 0.486 378.0 0.555 4321.0 0.687
PCMCI+ 19.0 0.5 242.0 0.610 5016.0 0.541
MMHC 20.0 0.650 516.0 0.552 TL TL
One Shot F. ILP 46.0 0.770 620.0 0.824 TL TL
Table 5: Expected SHD and AUROC for high dimensional regime. TL indicates a setting that did not finish within the time limit, and E indicates a setting that ended in an error.
(3,5,10) (5,10,20) (10,20,40) (20,40,50) (30,60,100)
SHD AUROC SHD AUROC SHD AUROC SHD AUROC SHD AUROC
GFN 57.212 0.797 442.0 0.728 3636.0 0.850 19228.0 0.863 90471 0.845
Dynotears 13.0 0.658 174.0 0.603 1126.0 0.558 2863.0 0.525 9384.0 0.528
Gobnilp 33.0 0.634 175.0 0.712 1022.0 0.663 TL TL TL TL
MCMC 43.0 0.647 228.0 0.545 904.0 0.664 2753.0 0.615 9801.0 0.614
PCMCI+ 19.0 0.5 121.0 0.5 822.0 0.519 2408.0 0.508 7639.0 0.534
MMHC E E E E E E E E E E
One Shot F. ILP 44.0 0.470 322.0 0.692 TL TL TL TL TL TL

8 Discussion and Conclusion

We hope this paper has provided a useful guide to the main principles behind learning the structure and parameters of a DBN. We focused on the fundamentals for the most simple cases, while targeting breadth in the scope of the various methodological approaches to learning these models from data.

There is an important aspect to DBNs that we did not discuss, as for the simple cases of learning it can be considered an orthogonal topic. This would be inference. DBNs are a generative model, so by themselves they do not accomplish any particular statistical decision test. However, one can perform various inference inqueries, such as the probability an instance of X(2)𝑋2X(2)italic_X ( 2 ) with X(1)=3.2𝑋13.2X(1)=3.2italic_X ( 1 ) = 3.2 and Z=3𝑍3Z=3italic_Z = 3 be greater than 2.12.12.12.1. One natural one for DBNs is a forward time forecast. Causal inference can also be performed through queries DBN models. Inference and approximate inference have a number of different procedures available, as far as efficiently and effectively sampling from the network.

Furthermore, inference algorithms are required in order to further extend DBN modeling to many real world datasets. For one, they become necessary for the expectation step in an Expectation-Maximization algorithm to learn structure with hidden variables. Often, with systems wherein the mechanism of action isn’t observed, a latent variable structure is able to model a rough set of possible dependencies that fits the observed data directed to and from in the graph.

For larger dimensions, IP approaches become computationally infeasible. In such a circumstance, given the Sample Complexity discussed in Section 3.

When data is plentiful, that is, millions and possibly easily available streaming samples, then neural network approaches can be effective. This suggests, for instance, the potential scalability of Generative Flow Networks [2] for instance. Reinforcement Learning is another common approach [74]. Otherwise, in the high-dimensional regime, wherein samples are finite but there are many covariates, Bayesian methods [6] or meta-heuristics are typically applied [33].

Acknowledgements

The authors would like to thank and Ondřej Kuželka for his suggestions and discussion on this work. This work has received funding from the European Union’s Horizon Europe research and innovation programme under grant agreement No. 101084642.

References

  • [1] Md Tan** Amin, Faisal Khan, and Syed Imtiaz. Fault detection and pathway analysis using a dynamic bayesian network. Chemical Engineering Science, 195:777–790, 2019.
  • [2] Lazar Atanackovic, Alexander Tong, Bo Wang, Leo J Lee, Yoshua Bengio, and Jason S Hartford. Dyngfn: Towards bayesian inference of gene regulatory networks with gflownets. Advances in Neural Information Processing Systems, 36, 2024.
  • [3] Mark Bartlett and James Cussens. Integer linear programming for the bayesian network structure learning problem. Artificial Intelligence, 244:258–271, 2017. Combining Constraint Solving with Mining and Learning.
  • [4] Amir Beck and Nadav Hallak. On the minimization over sparse symmetric sets: projections, optimality conditions, and algorithms. Mathematics of Operations Research, 41(1):196–223, 2016.
  • [5] Sander Beckers. Causal Sufficiency and Actual Causation. Journal of Philosophical Logic, 50(6):1341–1374, December 2021.
  • [6] Eva Besada-Portas, Sergey M Plis, Jesus M de la Cruz, and Terran Lane. Parallel subspace sampling for particle filtering in dynamic bayesian networks. In Machine Learning and Knowledge Discovery in Databases: European Conference, ECML PKDD 2009, Bled, Slovenia, September 7-11, 2009, Proceedings, Part I 20, pages 131–146. Springer, 2009.
  • [7] Natasha K Bowen and Shenyang Guo. Structural equation modeling. Oxford University Press, 2011.
  • [8] Marcos L.P. Bueno, Arjen Hommersom, Peter J. Lucas, Gerald Anne Martijn Lappenschaar, and Joost Janzing. Understanding disease processes by partitioned dynamic bayesian networks. Journal of Biomedical Informatics, 61, 05 2016.
  • [9] Wanlin Cai, Yuxuan Liang, Xianggen Liu, Jianshuai Feng, and Yuankai Wu. Msgnet: Learning multi-scale inter-series correlations for multivariate time series forecasting. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 38, pages 11141–11149, 2024.
  • [10] David Maxwell Chickering. Learning bayesian networks is np-complete. Learning from data: Artificial intelligence and statistics V, pages 121–130, 1996.
  • [11] Vašek Chvátal, William Cook, George Dantzig, Delbert Fulkerson, and Selmer Johnson. Solution of a Large-Scale Traveling-Salesman Problem, volume 2, pages 7–28. 11 2010.
  • [12] David Collett. Modelling Survival Data in Medical Research. 05 2023.
  • [13] R.G. Cowell, Alexander Dawid, Steffen Lauritzen, and David Spiegelhalter. Probabilistic Networks and Expert Systems, volume 43. 01 2001.
  • [14] James Cussens. Gobnilp: Learning bayesian network structure with integer programming. In International Conference on Probabilistic Graphical Models, pages 605–608. PMLR, 2020.
  • [15] Sanjoy Dasgupta. The sample complexity of learning fixed-structure bayesian networks. Machine Learning, 29:165–180, 1997.
  • [16] Sarah Dean, Horia Mania, Nikolai Matni, Benjamin Recht, and Stephen Tu. On the sample complexity of the linear quadratic regulator. Foundations of Computational Mathematics, 20(4):633–679, 2020.
  • [17] Tristan Deleu, António Góis, Chris Emezue, Mansi Rankawat, Simon Lacoste-Julien, Stefan Bauer, and Yoshua Bengio. Bayesian structure learning with generative flow networks. In James Cussens and Kun Zhang, editors, Proceedings of the Thirty-Eighth Conference on Uncertainty in Artificial Intelligence, volume 180 of Proceedings of Machine Learning Research, pages 518–528. PMLR, 01–05 Aug 2022.
  • [18] Tristan Deleu, Mizu Nishikawa-Toomey, Jithendaraa Subramanian, Nikolay Malkin, Laurent Charlin, and Yoshua Bengio. Joint bayesian inference of graphical structure and parameters with a single generative flow network. Advances in Neural Information Processing Systems, 36, 2024.
  • [19] Randal Douc, Eric Moulines, and David Stoffer. Nonlinear time series: Theory, methods and applications with R examples. CRC press, 2014.
  • [20] Seif Eldawlatly, Yang Zhou, Rong **, and Karim Oweiss. Reconstructing functional neuronal circuits using dynamic bayesian networks. Conference proceedings : … Annual International Conference of the IEEE Engineering in Medicine and Biology Society. IEEE Engineering in Medicine and Biology Society. Conference, 2008:5531–4, 02 2008.
  • [21] Sadegh Esmaeil Zadeh Soudjani, Alessandro Abate, and Rupak Majumdar. Dynamic bayesian networks as formal abstractions of structured stochastic processes. In 26th International Conference on Concurrency Theory (CONCUR 2015). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2015.
  • [22] Jean-Yves Franceschi, Aymeric Dieuleveut, and Martin Jaggi. Unsupervised scalable representation learning for multivariate time series. Advances in neural information processing systems, 32, 2019.
  • [23] Alberto Franzin, Francesco Sambo, and Barbara Di Camillo. bnstruct: an R package for Bayesian Network structure learning in the presence of missing data. Bioinformatics, 33(8):1250–1252, 12 2016.
  • [24] Nir Friedman and Daphne Koller. Being bayesian about network structure. In Proceedings of the Sixteenth conference on Uncertainty in artificial intelligence, pages 201–210, 2000.
  • [25] Salih Geduk and İlkay Ulusoy. A practical analysis of sample complexity for structure learning of discrete dynamic bayesian networks. Optimization, 71(10):2935–2962, 2022.
  • [26] Dan Geiger and David Heckerman. Parameter priors for directed acyclic graphical models and the characterization of several probability distributions. The Annals of Statistics, 30(5):1412–1440, 2002.
  • [27] Victor Gomez Comendador, Álvaro Sanz, Rosa Valdés, and Javier Pérez Castán. Characterization and prediction of the airport operational saturation. Journal of Air Transport Management, 69:147–172, 06 2018.
  • [28] Martin Grötschel, Michael Jünger, and Gerhard Reinelt. On the acyclic subgraph polytope. Mathematical Programming, 33:28–42, 09 1985.
  • [29] Zichao Guo, Xiangyu Zhang, Haoyuan Mu, Wen Heng, Zechun Liu, Yichen Wei, and Jian Sun. Single path one-shot neural architecture search with uniform sampling. In Computer Vision–ECCV 2020: 16th European Conference, Glasgow, UK, August 23–28, 2020, Proceedings, Part XVI 16, pages 544–560. Springer, 2020.
  • [30] David Heckerman. A tutorial on learning with bayesian networks. Innovations in Bayesian networks: Theory and applications, pages 33–82, 2008.
  • [31] David Heckerman, Dan Geiger, and David M Chickering. Learning bayesian networks: The combination of knowledge and statistical data. Machine learning, 20:197–243, 1995.
  • [32] Patrik Hoyer, Dominik Janzing, Joris M Mooij, Jonas Peters, and Bernhard Schölkopf. Nonlinear causal discovery with additive noise models. Advances in neural information processing systems, 21, 2008.
  • [33] **qiu Hu, Laibin Zhang, Lin Ma, and Wei Liang. An integrated safety prognosis model for complex system based on dynamic bayesian network and ant colony algorithm. Expert Systems with Applications, 38(3):1431–1446, 2011.
  • [34] Tommi Jaakkola, David Sontag, Amir Globerson, and Marina Meila. Learning bayesian network structure using lp relaxations. In Proceedings of the thirteenth international conference on artificial intelligence and statistics, pages 358–365. JMLR Workshop and Conference Proceedings, 2010.
  • [35] Sunyong Kim, Seiya Imoto, and Satoru Miyano. Dynamic bayesian network and nonparametric regression for nonlinear modeling of gene networks from time series gene expression data. Biosystems, 75(1-3):57–65, 2004.
  • [36] Daphne Koller and Nir Friedman. Probabilistic graphical models: principles and techniques. MIT press, 2009.
  • [37] Simge Kucukyavuz, Ali Shojaie, Hasan Manzour, Linchuan Wei, and Hao-Hsiang Wu. Consistent second-order conic integer programming for learning bayesian networks. Journal of Machine Learning Research, 24(322):1–38, 2023.
  • [38] Jack Kuipers, Polina Suter, and Giusi Moffa. Efficient sampling and structure learning of bayesian networks. Journal of Computational and Graphical Statistics, 31(3):639–650, 2022.
  • [39] Salem Lahlou, Tristan Deleu, Pablo Lemos, Dinghuai Zhang, Alexandra Volokhova, Alex Hernández-Garcıa, Léna Néhale Ezzine, Yoshua Bengio, and Nikolay Malkin. A theory of continuous generative flow networks. In International Conference on Machine Learning, pages 18269–18300. PMLR, 2023.
  • [40] Andrew Lawrence, Marcus Kaiser, Rui Sampaio, and Maksim Sipos. Data generating process to evaluate causal discovery techniques for time series data, 04 2021.
  • [41] Hao-Chih Lee, Matteo Danieletto, Riccardo Miotto, Sarah T Cherng, and Joel T Dudley. Scaling structural learning with no-bears to infer causal transcriptome networks. In Pacific Symposium on Biocomputing 2020, pages 391–402. World Scientific, 2019.
  • [42] Sik-Yum Lee and Hong-Tu Zhu. Statistical analysis of nonlinear structural equation models with continuous and polytomous data. British Journal of Mathematical and Statistical Psychology, 53(2):209–232, 2000.
  • [43] Shiqing Ling, Michael McAleer, and Howell Tong. Frontiers in time series and financial econometrics: An overview. Journal of Econometrics, 189, 03 2015.
  • [44] Yue Liu, Yi**g Wang, Guihuan Zheng, Jue Wang, and Kun Guo. The dynamical relationship between capital market and macroeconomy: based on dynamic bayesian network. Procedia Computer Science, 162:46–52, 2019. 7th International Conference on Information Technology and Quantitative Management (ITQM 2019): Information technology and quantitative management based on Artificial Intelligence.
  • [45] Hasan Manzour, Simge Küçükyavuz, Hao-Hsiang Wu, and Ali Shojaie. Integer programming for learning directed acyclic graphs from continuous data. INFORMS journal on optimization, 3(1):46–73, 2021.
  • [46] Bryan Matthews, Santanu Das, Kanishka Bhaduri, Kamalika Das, Rodney Martin, and Nikunj Oza. Discovering anomalous aviation safety events using scalable data mining algorithms. Journal of Aerospace Information Systems, 10:467–475, 10 2013.
  • [47] Allan DR McQuarrie and Chih-Ling Tsai. Regression and time series model selection. World Scientific, 1998.
  • [48] George Nemhauser, Martin Savelsbergh, and Gabriele Sigismondi. Constraint classification for mixed integer programming formulations. IEEE Transactions on Software Engineering - TSE, 20, 01 1991.
  • [49] Sebastian Ordyniak and Stefan Szeider. Parameterized complexity results for exact bayesian network structure learning. Journal of Artificial Intelligence Research, 46:263–302, 2013.
  • [50] Roxana Pamfil, Nisara Sriwattanaworachai, Shaan Desai, Philip Pilgerstorfer, Konstantinos Georgatzis, Paul Beaumont, and Bryon Aragam. Dynotears: Structure learning from time-series data. In International Conference on Artificial Intelligence and Statistics, pages 1595–1605. Pmlr, 2020.
  • [51] Young Woong Park and Diego Klabjan. Bayesian network learning via topological order. Journal of Machine Learning Research, 18:1–32, 10 2017.
  • [52] Jonas Peters, Dominik Janzing, and Bernhard Schölkopf. Elements of causal inference: foundations and learning algorithms. The MIT Press, 2017.
  • [53] Jonas Peters, Joris M Mooij, Dominik Janzing, and Bernhard Schölkopf. Causal discovery with continuous additive noise models. 2014.
  • [54] Jakob Runge. Discovering contemporaneous and lagged causal relations in autocorrelated nonlinear time series datasets, 2022.
  • [55] Jakob Runge, Peer Nowack, Marlene Kretschmer, Seth Flaxman, and Dino Sejdinovic. Detecting and quantifying causal associations in large nonlinear time series datasets. Science Advances, 5(11):eaau4996, 2019.
  • [56] Pavel Rytíř, Aleš Wodecki, and Jakub Mareček. Exdag: Exact learning of dags, 2024.
  • [57] Ronald Seoh. Solving bayesian network structure learning problem with integer linear programming. arXiv preprint arXiv:2007.02829, 2020.
  • [58] Charupriya Sharma and Peter van Beek. Scalable bayesian network structure learning with splines. In International Conference on Probabilistic Graphical Models, pages 181–192. PMLR, 2022.
  • [59] Pedro Shiguihara, Alneu De Andrade Lopes, and David Mauricio. Dynamic bayesian network modeling, learning, and inference: a survey. IEEE Access, 9:117639–117648, 2021.
  • [60] Ali Shojaie and George Michailidis. Penalized likelihood methods for estimation of sparse high dimensional directed acyclic graphs. Biometrika, 97:519–538, 09 2010.
  • [61] David J Spiegelhalter and Steffen L Lauritzen. Sequential updating of conditional probabilities on directed graphical structures. Networks, 20(5):579–605, 1990.
  • [62] Peter Spirtes, Clark Glymour, and Richard Scheines. Causation, Prediction, and Search. The MIT Press, 2000.
  • [63] Ioannis Tsamardinos, Laura E Brown, and Constantin F Aliferis. The max-min hill-climbing bayesian network structure learning algorithm. Machine learning, 65:31–78, 2006.
  • [64] Stephen Tu, Roy Frostig, and Mahdi Soltanolkotabi. Learning from many trajectories. arXiv preprint arXiv:2203.17193, 2022.
  • [65] Rosa Valdés, Victor Gomez Comendador, Álvaro Sanz, Eduardo Ayra, Javier Pérez Castán, and Luis Sanz. Bayesian Networks for Decision-Making and Causal Analysis under Uncertainty in Aviation. 11 2018.
  • [66] Samir Wadhwa and Roy Dong. On the sample complexity of causal discovery and the value of domain expertise. arXiv preprint arXiv:2102.03274, 2021.
  • [67] Lei Xin, George Chiu, and Shreyas Sundaram. Learning the dynamics of autonomous linear systems from multiple trajectories. In 2022 American Control Conference (ACC), pages 3955–3960. IEEE, 2022.
  • [68] Yu Xing, Benjamin Gravell, Xingkang He, Karl Henrik Johansson, and Tyler H Summers. Identification of linear systems with multiplicative noise from multiple trajectory data. Automatica, 144:110486, 2022.
  • [69] Jie Yu and Mudassir M Rashid. A novel dynamic bayesian network-based networked process monitoring approach for fault detection, propagation identification, and root cause diagnosis. AIChE Journal, 59(7):2348–2365, 2013.
  • [70] Yue Yu, Jie Chen, Tian Gao, and Mo Yu. Dag-gnn: Dag structure learning with graph neural networks. In International Conference on Machine Learning, pages 7154–7163. PMLR, 2019.
  • [71] Yue Yu, Tian Gao, Naiyu Yin, and Qiang Ji. Dags with no curl: An efficient dag structure learning approach. In International Conference on Machine Learning, pages 12156–12166. Pmlr, 2021.
  • [72] Xun Zheng, Bryon Aragam, Pradeep K Ravikumar, and Eric P Xing. Dags with no tears: Continuous optimization for structure learning. Advances in neural information processing systems, 31, 2018.
  • [73] Yang Zheng and Na Li. Non-asymptotic identification of linear dynamical systems using multiple trajectories. IEEE Control Systems Letters, 5(5):1693–1698, 2020.
  • [74] Zuowu Zheng, Chao Wang, Xiaofeng Gao, and Guihai Chen. Rbnets: A reinforcement learning approach for learning bayesian network structure. In Joint European Conference on Machine Learning and Knowledge Discovery in Databases, pages 193–208. Springer, 2023.
  • [75] Piotr Ładyżyński, Maria Molik, and Piotr Foltynski. Dynamic bayesian networks for prediction of health status and treatment effect in patients with chronic lymphocytic leukemia. Scientific Reports, 12:1811, 02 2022.