12 Algoritmos de Descoberta Causal

12.1 Algoritmos baseados em testes de independência condicional

12.1.1 Algoritmo SGS

Algoritmo 5.6.

Algoritmo SGS

  1. 1.
    ​

    Inicie um grafo não direcionado completo em 𝒱{\mathcal{V}}.

  2. 2.
    ​

    Para cada V1,V2∈𝒱V_{1},V_{2}\in{\mathcal{V}}, se H0:V1⟂⟂V2|SH_{0}:V_{1}\perp\!\!\!\!\perp V_{2}|S é rejeitada para algum S⊆𝒱−{V1,V2}S\subseteq{\mathcal{V}}-\{V_{1},V_{2}\}, retire a aresta {V1,V2}\{V_{1},V_{2}\}.

  3. 3.
    ​

    Para todos V1,V2,V3∈𝒱V_{1},V_{2},V_{3}\in{\mathcal{V}} tais que {V1,V2}\{V_{1},V_{2}\} e {V2,V3}\{V_{2},V_{3}\} são adjacentes, mas {V1,V3}\{V_{1},V_{3}\} não o são, caso exista S⊆{V2}∪𝒱−{V1,V3}S\subseteq\{V_{2}\}\cup{\mathcal{V}}-\{V_{1},V_{3}\} tal que H0:V1⟂⟂V2|SH_{0}:V_{1}\perp\!\!\!\!\perp V_{2}|S não é rejeitada, direcione as arestas V1→V2←V3V_{1}\rightarrow V_{2}\leftarrow V_{3}.

  4. 4.
    ​

    Repetir até que não haja mudanças:

    1. (a)
      ​

      Se A→BA\rightarrow B, BB e CC são adjacentes e não direcionados e AA e CC não são adjacentes, direcione B→CB\rightarrow C.

    2. (b)
      ​

      Se BB é descendente de AA e {A,B}\{A,B\} são adjacentes, direcione A→BA\rightarrow B.

12.1.2 Algoritmo PC

Definição 5.7.

A⁢d⁢j𝒢⁢(X)Adj_{{\mathcal{G}}}(X) é o conjunto de vértices em 𝒱{\mathcal{V}} que é adjacente a XX em 𝒢{\mathcal{G}}.

Algoritmo 5.8.

Algoritmo PC

  1. 1.
    ​

    Inicie um grafo não direcionado completo em 𝒱{\mathcal{V}}, 𝒢{\mathcal{G}}.

  2. 2.
    ​

    Inicialize n=0n=0.

  3. 3.
    ​

    Enquanto houver um vértice X∈𝒱X\in{\mathcal{V}} com |A⁢d⁢j𝒢⁢(X)|>n+1|Adj_{{\mathcal{G}}}(X)|>n+1:

    1. (a)
      ​

      Para cada X∈𝒱X\in{\mathcal{V}} com |A⁢d⁢j𝒢⁢(X)|≥n+1|Adj_{{\mathcal{G}}}(X)|\geq n+1, cada Y∈A⁢d⁢j𝒢⁢(X)Y\in Adj_{{\mathcal{G}}}(X) e S⊆A⁢d⁢j𝒢⁢(X)−{Y}S\subseteq Adj_{{\mathcal{G}}}(X)-\{Y\} em que |S|=n|S|=n, se H0:X⟂⟂Y|SH_{0}:X\perp\!\!\!\!\perp Y|S é rejeitada, então retire a aresta {X,Y}\{X,Y\} de 𝒢{\mathcal{G}} e defina S⁢e⁢p⁢({X,Y})=SSep(\{X,Y\})=S.

    2. (b)
      ​

      Defina n=n+1n=n+1.

  4. 4.
    ​

    Para cada X,Y,Z∈𝒱X,Y,Z\in{\mathcal{V}} tais que {X,Y}\{X,Y\} e {Y,Z}\{Y,Z\} são adjacentes, mas {X,Z}\{X,Z\} não o são e Y∉S⁢e⁢p⁢({X,Z})Y\notin Sep(\{X,Z\}), oriente X→Y←ZX\rightarrow Y\leftarrow Z.

  5. 5.
    ​

    Repetir até que não haja mudanças:

    1. (a)
      ​

      Se A→BA\rightarrow B, BB e CC são adjacentes e não direcionados e AA e CC não são adjacentes, direcione B→CB\rightarrow C.

    2. (b)
      ​

      Se BB é descendente de AA e {A,B}\{A,B\} são adjacentes, direcione A→BA\rightarrow B.