<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/default.xsl"?>
<fr:tree xmlns:fr="http://www.forester-notes.org" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:xml="http://www.w3.org/XML/1998/namespace" root="false" base-url="/">
  <fr:frontmatter>
    <fr:authors>
      <fr:author>
        <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
      </fr:author>
    </fr:authors>
    <fr:date>
      <fr:year>2024</fr:year>
      <fr:month>5</fr:month>
      <fr:day>25</fr:day>
    </fr:date>
    <fr:uri>https://erischel.com/efr-0003/</fr:uri>
    <fr:display-uri>efr-0003</fr:display-uri>
    <fr:route>/efr-0003/</fr:route>
    <fr:title text="Structural Causal Model">Structural Causal Model</fr:title>
    <fr:taxon>Definition</fr:taxon>
  </fr:frontmatter>
  <fr:mainmatter>
    <html:p>
  Let <fr:tex display="inline"><![CDATA[G]]></fr:tex> be a (finite) directed acyclic graph (DAG). Then a structural causal model (SCM) on <fr:tex display="inline"><![CDATA[G]]></fr:tex> consists of
  <html:ul><html:li>For each vertex <fr:tex display="inline"><![CDATA[v \in  V(G)]]></fr:tex>, measurable spaces <fr:tex display="inline"><![CDATA[\mathcal {X}_v, \mathcal {E}_v]]></fr:tex></html:li>
    <html:li>A family of independent random variables <fr:tex display="inline"><![CDATA[E_v \in  \mathcal {E}_v]]></fr:tex>---these are called the <html:em>exogenous variables</html:em></html:li>
    <html:li>For each <fr:tex display="inline"><![CDATA[v]]></fr:tex>, a measurable function <fr:tex display="inline"><![CDATA[\phi _v: \mathcal {E}_v  \times  \prod _{v' \to  v} \mathcal {X}_{v'} \to  \mathcal {X}_v]]></fr:tex> (note that if <fr:tex display="inline"><![CDATA[v]]></fr:tex> has no parents, the product is just a singleton)</html:li></html:ul></html:p>
  </fr:mainmatter>
  <fr:backmatter>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="References">References</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Context">Context</fr:title>
      </fr:frontmatter>
      <fr:mainmatter>
        <fr:tree show-metadata="true" expanded="false" toc="false" numbered="false">
          <fr:frontmatter>
            <fr:authors>
              <fr:author>
                <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
              </fr:author>
            </fr:authors>
            <fr:date>
              <fr:year>2024</fr:year>
              <fr:month>5</fr:month>
              <fr:day>25</fr:day>
            </fr:date>
            <fr:uri>https://erischel.com/efr-0002/</fr:uri>
            <fr:display-uri>efr-0002</fr:display-uri>
            <fr:route>/efr-0002/</fr:route>
            <fr:title text="Bidirectionality in graphical models">Bidirectionality in graphical models</fr:title>
          </fr:frontmatter>
          <fr:mainmatter>
            <fr:tree show-metadata="false">
              <fr:frontmatter>
                <fr:authors>
                  <fr:author>
                    <fr:link href="/eigil-rischel/" title="Eigil Fjeldgren Rischel" uri="https://erischel.com/eigil-rischel/" display-uri="eigil-rischel" type="local">Eigil Fjeldgren Rischel</fr:link>
                  </fr:author>
                </fr:authors>
                <fr:date>
                  <fr:year>2024</fr:year>
                  <fr:month>5</fr:month>
                  <fr:day>25</fr:day>
                </fr:date>
                <fr:uri>https://erischel.com/efr-0003/</fr:uri>
                <fr:display-uri>efr-0003</fr:display-uri>
                <fr:route>/efr-0003/</fr:route>
                <fr:title text="Structural Causal Model">Structural Causal Model</fr:title>
                <fr:taxon>Definition</fr:taxon>
              </fr:frontmatter>
              <fr:mainmatter>
                <html:p>
  Let <fr:tex display="inline"><![CDATA[G]]></fr:tex> be a (finite) directed acyclic graph (DAG). Then a structural causal model (SCM) on <fr:tex display="inline"><![CDATA[G]]></fr:tex> consists of
  <html:ul><html:li>For each vertex <fr:tex display="inline"><![CDATA[v \in  V(G)]]></fr:tex>, measurable spaces <fr:tex display="inline"><![CDATA[\mathcal {X}_v, \mathcal {E}_v]]></fr:tex></html:li>
    <html:li>A family of independent random variables <fr:tex display="inline"><![CDATA[E_v \in  \mathcal {E}_v]]></fr:tex>---these are called the <html:em>exogenous variables</html:em></html:li>
    <html:li>For each <fr:tex display="inline"><![CDATA[v]]></fr:tex>, a measurable function <fr:tex display="inline"><![CDATA[\phi _v: \mathcal {E}_v  \times  \prod _{v' \to  v} \mathcal {X}_{v'} \to  \mathcal {X}_v]]></fr:tex> (note that if <fr:tex display="inline"><![CDATA[v]]></fr:tex> has no parents, the product is just a singleton)</html:li></html:ul></html:p>
              </fr:mainmatter>
            </fr:tree>
            <html:p>
  There is a significant existing literature (see <fr:link href="/beckers_abstracting_2019/" title="Abstracting causal models" uri="https://erischel.com/beckers_abstracting_2019/" display-uri="beckers_abstracting_2019" type="local">Abstracting causal models</fr:link>, <fr:link href="/rischel_compositional_2021/" title="Compositional abstraction error and a category of causal models" uri="https://erischel.com/rischel_compositional_2021/" display-uri="rischel_compositional_2021" type="local">Reference <fr:contextual-number uri="https://erischel.com/rischel_compositional_2021/" display-uri="rischel_compositional_2021" /></fr:link>, <fr:link href="/rubenstein_causal_2017/" title="Causal consistency of structural equation models" uri="https://erischel.com/rubenstein_causal_2017/" display-uri="rubenstein_causal_2017" type="local">Reference <fr:contextual-number uri="https://erischel.com/rubenstein_causal_2017/" display-uri="rubenstein_causal_2017" /></fr:link>. For a survey see <fr:link href="/zennaro_abstraction_2022/" title="Abstraction between structural causal models: A review of definitions and properties" uri="https://erischel.com/zennaro_abstraction_2022/" display-uri="zennaro_abstraction_2022" type="local">Reference <fr:contextual-number uri="https://erischel.com/zennaro_abstraction_2022/" display-uri="zennaro_abstraction_2022" /></fr:link>) studying transformations between structural causal models. These have generally been called something like <html:em>abstractions,</html:em> the typical examples being the relationship between a high-level and a low-level model of the same system. However, the precise properties that we should ask for in such a transformation have turned out to be somewhat subtle. The most obvious condition to impose is to ask, for any possible variable we could intervene on, say <fr:tex display="inline"><![CDATA[X]]></fr:tex>, and any other variable (or collection of variables) <fr:tex display="inline"><![CDATA[Y]]></fr:tex>, that the diagram
  
  <html:figure><fr:resource hash="e2dbe16aeca4023223c1b5f5fa455b01"><fr:resource-content><html:img src="/e2dbe16aeca4023223c1b5f5fa455b01.svg" /></fr:resource-content><fr:resource-source type="latex" part="preamble"><![CDATA[\usepackage {quiver, amsopn, amssymb, mathrsfs}]]></fr:resource-source><fr:resource-source type="latex" part="body"><![CDATA[
    \begin {tikzcd}
    \mathcal {A}_X \ar [r] \ar [d] & \mathcal {A}_Y \ar [d]\\
    \mathcal {A}_{f(X)} \ar [r] & \mathcal {A}_{f(Y)}
    \end {tikzcd}
  ]]></fr:resource-source></fr:resource></html:figure>

  of kernels commutes---in other words, given an intervention <html:em>in the low-level model,</html:em> the two possible distributions in the high-level model agree.
</html:p>
            <html:p>
  The main problem with this condition is that it is simply too strict. We generally can't ask that <html:em>every</html:em> low-level intervention is well-modeled by the corresponding high-level intervention. Rather, each high-level intervention corresponds to some distribution of the corresponding low-level variables, and we must ask that a diagram of this form:
  
  <html:figure><fr:resource hash="107a641e1e4475129d8de6854b631dc1"><fr:resource-content><html:img src="/107a641e1e4475129d8de6854b631dc1.svg" /></fr:resource-content><fr:resource-source type="latex" part="preamble"><![CDATA[\usepackage {quiver, amsopn, amssymb, mathrsfs}]]></fr:resource-source><fr:resource-source type="latex" part="body"><![CDATA[
    \begin {tikzcd}
    \mathcal {A}_X \ar [r]& \mathcal {A}_Y \ar [d]\\
    \mathcal {A}_{f(X)} \ar [r] \ar [u] & \mathcal {A}_{f(Y)}
    \end {tikzcd}
  ]]></fr:resource-source></fr:resource></html:figure>

  commutes. For example, if the low-level variables are the velocities of all the gas molecules in a container, and the high-level variables are thermodynamic quantities like temperature and pressure, we can't expect that <html:em>every</html:em> set of velocities corresponding to a given temperature will lead to a given distribution of outcomes---rather, intervening on the temperature leads to some particular distribution of possible sets of velocities, and this leads to the observed distribution of outcomes.
</html:p>
            <html:p>
  The key here is that <html:em>control information flows in the opposite direction from measurement information</html:em>. This phenomenon repeats in many examples.
</html:p>
          </fr:mainmatter>
        </fr:tree>
      </fr:mainmatter>
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Backlinks">Backlinks</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Related">Related</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
    <fr:tree show-metadata="false" hidden-when-empty="true">
      <fr:frontmatter>
        <fr:authors />
        <fr:title text="Contributions">Contributions</fr:title>
      </fr:frontmatter>
      <fr:mainmatter />
    </fr:tree>
  </fr:backmatter>
</fr:tree>
