next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
GraphicalModels :: hiddenMap

hiddenMap -- linear map between the ring of a model with one hidden variable and the ring of the corresponding fully observed model

Synopsis

Description

The ring R is a ring of probability distributions on n random variables created using markovRing. This method creates a ring map F: S →R from the ring S of probability distributions on n-1 random variables, leaving out the ith random variable from R. This corresponds to the situation where the ith random variable is hidden and S is the ring of observed probability distributions.

i1 : F = hiddenMap(1,markovRing(2,3,2));

o1 : RingMap QQ[p     , p     , p     , p     , p     , p     , p     , p     , p     , p     , p     , p     ] <--- QQ[p   , p   , p   , p   , p   , p   ]
                 1,1,1   1,1,2   1,2,1   1,2,2   1,3,1   1,3,2   2,1,1   2,1,2   2,2,1   2,2,2   2,3,1   2,3,2           1,1   1,2   2,1   2,2   3,1   3,2
i2 : compactMatrixForm =false;
i3 : transpose F.matrix

o3 = | p      + p      |
     |  1,1,1    2,1,1 |
     |                 |
     | p      + p      |
     |  1,1,2    2,1,2 |
     |                 |
     | p      + p      |
     |  1,2,1    2,2,1 |
     |                 |
     | p      + p      |
     |  1,2,2    2,2,2 |
     |                 |
     | p      + p      |
     |  1,3,1    2,3,1 |
     |                 |
     | p      + p      |
     |  1,3,2    2,3,2 |

                                                                                                                6                                                                                                          1
o3 : Matrix (QQ[p     , p     , p     , p     , p     , p     , p     , p     , p     , p     , p     , p     ])  <--- (QQ[p     , p     , p     , p     , p     , p     , p     , p     , p     , p     , p     , p     ])
                 1,1,1   1,1,2   1,2,1   1,2,2   1,3,1   1,3,2   2,1,1   2,1,2   2,2,1   2,2,2   2,3,1   2,3,2              1,1,1   1,1,2   1,2,1   1,2,2   1,3,1   1,3,2   2,1,1   2,1,2   2,2,1   2,2,2   2,3,1   2,3,2

This method is frequently used when computing the vanishing ideal of a graphical model with hidden variables by computing the kernel of F. For more details see the paper “Algebraic Geometry of Bayesian Networks” by Garcia, Stillman, and Sturmfels.

i4 : G = digraph  {{1,{}},{2,{}},{3,{}},{4,{1,2,3}}}

o4 = Digraph{1 => {}       }
             2 => {}
             3 => {}
             4 => {1, 2, 3}

o4 : Digraph
i5 : R = markovRing (2,2,3,2)

o5 = R

o5 : PolynomialRing
i6 : I = discreteVanishingIdeal (R,G);

o6 : Ideal of R
i7 : I / print;
p       p        - p       p
 1,2,3,2 2,2,3,1    1,2,3,1 2,2,3,2
p       p        - p       p
 1,2,3,2 2,2,2,2    1,2,2,2 2,2,3,2
p       p        - p       p
 1,2,3,2 2,2,2,1    1,2,2,1 2,2,3,2
p       p        - p       p
 1,2,3,2 2,2,1,2    1,2,1,2 2,2,3,2
p       p        - p       p
 1,2,3,2 2,2,1,1    1,2,1,1 2,2,3,2
p       p        - p       p
 2,2,2,2 2,2,3,1    2,2,2,1 2,2,3,2
p       p        - p       p
 1,2,2,2 2,2,3,1    1,2,2,1 2,2,3,2
p       p        - p       p
 2,2,1,2 2,2,3,1    2,2,1,1 2,2,3,2
p       p        - p       p
 1,2,1,2 2,2,3,1    1,2,1,1 2,2,3,2
p       p        - p       p
 1,2,3,1 2,2,2,2    1,2,2,1 2,2,3,2
p       p        - p       p
 1,2,2,2 1,2,3,1    1,2,2,1 1,2,3,2
p       p        - p       p
 1,2,3,1 2,2,2,1    1,2,2,1 2,2,3,1
p       p        - p       p
 1,2,3,1 2,2,1,2    1,2,1,1 2,2,3,2
p       p        - p       p
 1,2,1,2 1,2,3,1    1,2,1,1 1,2,3,2
p       p        - p       p
 1,2,3,1 2,2,1,1    1,2,1,1 2,2,3,1
p       p        - p       p
 1,2,2,2 2,2,2,1    1,2,2,1 2,2,2,2
p       p        - p       p
 1,2,2,2 2,2,1,2    1,2,1,2 2,2,2,2
p       p        - p       p
 1,2,2,2 2,2,1,1    1,2,1,1 2,2,2,2
p       p        - p       p
 2,2,1,2 2,2,2,1    2,2,1,1 2,2,2,2
p       p        - p       p
 1,2,1,2 2,2,2,1    1,2,1,1 2,2,2,2
p       p        - p       p
 1,2,2,1 2,2,1,2    1,2,1,1 2,2,2,2
p       p        - p       p
 1,2,1,2 1,2,2,1    1,2,1,1 1,2,2,2
p       p        - p       p
 1,2,2,1 2,2,1,1    1,2,1,1 2,2,2,1
p       p        - p       p
 1,2,1,2 2,2,1,1    1,2,1,1 2,2,1,2
p       p        - p       p
 1,1,3,2 2,1,3,1    1,1,3,1 2,1,3,2
p       p        - p       p
 1,1,3,2 2,1,2,2    1,1,2,2 2,1,3,2
p       p        - p       p
 1,1,3,2 2,1,2,1    1,1,2,1 2,1,3,2
p       p        - p       p
 1,1,3,2 2,1,1,2    1,1,1,2 2,1,3,2
p       p        - p       p
 1,1,3,2 2,1,1,1    1,1,1,1 2,1,3,2
p       p        - p       p
 2,1,2,2 2,1,3,1    2,1,2,1 2,1,3,2
p       p        - p       p
 1,1,2,2 2,1,3,1    1,1,2,1 2,1,3,2
p       p        - p       p
 2,1,1,2 2,1,3,1    2,1,1,1 2,1,3,2
p       p        - p       p
 1,1,1,2 2,1,3,1    1,1,1,1 2,1,3,2
p       p        - p       p
 1,1,3,1 2,1,2,2    1,1,2,1 2,1,3,2
p       p        - p       p
 1,1,2,2 1,1,3,1    1,1,2,1 1,1,3,2
p       p        - p       p
 1,1,3,1 2,1,2,1    1,1,2,1 2,1,3,1
p       p        - p       p
 1,1,3,1 2,1,1,2    1,1,1,1 2,1,3,2
p       p        - p       p
 1,1,1,2 1,1,3,1    1,1,1,1 1,1,3,2
p       p        - p       p
 1,1,3,1 2,1,1,1    1,1,1,1 2,1,3,1
p       p        - p       p
 1,1,2,2 2,1,2,1    1,1,2,1 2,1,2,2
p       p        - p       p
 1,1,2,2 2,1,1,2    1,1,1,2 2,1,2,2
p       p        - p       p
 1,1,2,2 2,1,1,1    1,1,1,1 2,1,2,2
p       p        - p       p
 2,1,1,2 2,1,2,1    2,1,1,1 2,1,2,2
p       p        - p       p
 1,1,1,2 2,1,2,1    1,1,1,1 2,1,2,2
p       p        - p       p
 1,1,2,1 2,1,1,2    1,1,1,1 2,1,2,2
p       p        - p       p
 1,1,1,2 1,1,2,1    1,1,1,1 1,1,2,2
p       p        - p       p
 1,1,2,1 2,1,1,1    1,1,1,1 2,1,2,1
p       p        - p       p
 1,1,1,2 2,1,1,1    1,1,1,1 2,1,1,2
i8 : S = markovRing(2,2,3)

o8 = S

o8 : PolynomialRing
i9 : F = hiddenMap(4,R);

o9 : RingMap R <--- S
i10 : transpose F.matrix

o10 = | p        + p        |
      |  1,1,1,1    1,1,1,2 |
      |                     |
      | p        + p        |
      |  1,1,2,1    1,1,2,2 |
      |                     |
      | p        + p        |
      |  1,1,3,1    1,1,3,2 |
      |                     |
      | p        + p        |
      |  1,2,1,1    1,2,1,2 |
      |                     |
      | p        + p        |
      |  1,2,2,1    1,2,2,2 |
      |                     |
      | p        + p        |
      |  1,2,3,1    1,2,3,2 |
      |                     |
      | p        + p        |
      |  2,1,1,1    2,1,1,2 |
      |                     |
      | p        + p        |
      |  2,1,2,1    2,1,2,2 |
      |                     |
      | p        + p        |
      |  2,1,3,1    2,1,3,2 |
      |                     |
      | p        + p        |
      |  2,2,1,1    2,2,1,2 |
      |                     |
      | p        + p        |
      |  2,2,2,1    2,2,2,2 |
      |                     |
      | p        + p        |
      |  2,2,3,1    2,2,3,2 |

              12       1
o10 : Matrix R   <--- R
i11 : J = preimage (F, I);

o11 : Ideal of S
i12 : J / print;
p     p      - p     p
 1,2,3 2,2,2    1,2,2 2,2,3
p     p      - p     p
 1,2,3 2,2,1    1,2,1 2,2,3
p     p      - p     p
 1,2,2 2,2,1    1,2,1 2,2,2
p     p      - p     p
 1,1,3 2,1,2    1,1,2 2,1,3
p     p      - p     p
 1,1,3 2,1,1    1,1,1 2,1,3
p     p      - p     p
 1,1,2 2,1,1    1,1,1 2,1,2

See also

  • marginMap -- generates a linear map on joint distributions for discrete random variables replacing marginals for indeterminates

Ways to use hiddenMap :

  • hiddenMap(ZZ,Ring)