Part I(基礎)1統計学 ぱらぱらめくる『Algebraic statistics for computational biology』

Algebraic Statistics for Computational Biology

Algebraic Statistics for Computational Biology

  • 目次はこちら
  • いわゆる統計学の考え方と代数幾何との対応関係をDNA配列の解析を題材に追っていく
  • 「おっ」と思うような対応関係辞書が登場してくる
統計学 代数幾何学
独立 Segre variety
log-linear model toric variety
curved exponential family manifold 多様体
mixture model join of varieties
MAP estimation tropicalization
... ...
  • 1.1 離散データの統計モデル
    • 塩基配列における4塩基ATGCの構成数のような離散データがある
    • 離散的要素の生起確率をモデル(統計モデル)として与えると、データを観測する尤度関数が書ける
    • 尤度関数を最大にする生起確率を求めるのは最尤推定
    • 尤度関数の偏微分方程式を解いて最尤推定することもある
    • 尤度関数の偏微分方程式有理関数(2つの多項式関数の分数)で表せる
    • グレブナー基底を用いて、有理関数方程式を変形することもできる
    • 統計モデルというのは、「確率分布を集めたものが状態を説明する」という考え方
    • m項の状態はm次元空間におけるm個のベクトル(1,0,...),(0,1,0,...),(0,0,1,0,...),...,(0,0,...,1)が作る正単体上\Delta_{m-1}の点である
  • 代数統計モデルはd個の説明変数の(d次元)空間と状態空間(m次元空間、もしくは\Delta_{m-1}空間)とを対応付ける多項式関数と考える
  • 尤度関数は統計モデルの部品である確率密度関数のパラメタと観測値(状態空間の値)とでできている。色々なことを観測してもよいけれど、色々な側面を観測すればするだけよい、というわけではなく、これを観測しておけば尤度の計算は可能、という観測量(統計量(スカラーだったりベクトルだったり))がある(十分統計量)(2項分布をモデルとしているときに、N回中n回、成功した、ということを観測すれば、それで十分)
  • 1.2 線型モデルとトーラスモデル
    • 最尤推定をするにあたって、尤度関数が唯一の極大値を持つようなものであることは便利。そのような尤度関数の例として線型モデルとトーラスモデルとを紹介する
    • 線型モデル
      • f_i(\theta) = \sigma_{j=1}^d a_{ij}\theta_j + b_i
    • トーラスモデル=log-linear modelとも
      • \theta^{a_j} = \prod_{i=1}^d \theta_i^{a_{ij}}
        • \sum_{i=1}^d a_{i1} = \sum_{i=1}^d a_{i2} = ... \sum_{i=1}^d a_{im}
      • トーラスは「位相体のコンパクトな乗法群の直積に同型となるコンパクト群をトーラスと呼ぶことがある」(Wiki)とあるように、「トーラスは積」なので、トーラスモデルと呼ぶのか?
      • ポリトープ状の空間に最尤解を探す
      • 確率の対数が説明変数の対数に関する線形関数になる
  • 1.3 EM(Expectation-Maximization)
    • 線型モデル、トーラスモデル以外のモデルでは、最尤推定が単純な頂上探索では見つからない
    • そのような場合によく用いる方法がEM法
    • たいていの場合は極大に収束する(ときにそうならない)
    • 2種類のステップE,Mがある。それを交互に繰り返す
  • 1.4 マルコフモデル
  • 1.5 グラフィカルモデル
    • グラフィカルモデルというより、木を含めた「グラフ」上での遷移を扱うモデル、ということ(?)
    • 統計モデルをd個のパラメタ空間からm個のパラメタ空間のマップとして扱い、その上の制約の集合のこととなる
    • 離散を扱うのでグラフ上に表せる

Part I(基礎)2計算機科学 ぱらぱらめくる『Algebraic statistics for computational biology』

  • 目次はこちら
  • 離散アルゴリズムは数値アルゴリズムと並び立つもの。数値アルゴリズムは前章のEMもそうだし、固有値分解もそう。離散データには離散アルゴリズム
  • 2.1 Tropical arithmetic動的計画法
    • 動的計画法はだんだんに必要なものを積み上げて解に到達する方法
    • この動的計画法代数的構造として構成するのに便利なのがトロピカル半環
    • トロピカル半環は実数に∞を加え、2つの演算(最小値を取る、和を取る)を考慮した構造((\mathbf{R} \cup \{\infty\}, \oplus,\odot))
    • 重み付き有向グラフのノード間最短距離は隣接行列のトロピカル半環の演算のべき乗で表すことができる、というような使い方をする
    • 整数計画問題(integer linear programming)でもグラフの隣接行列とトロピカル半環演算として扱うことができる。トロピカル半環的な行列式、なども登場する
    • 割り付け問題ではトロピカル半環的行列式を使うそうだ(参考:割り付け問題)
  • 2.2 シーケンスアラインメント(配列を並べること)
    • シーケンスアラインメントにトロピカル演算を用いて代数統計モデル化する
    • 格子とその一方向対角線でできたグラフにモデル化できる。そのグラフがトロピカル演算の性質を持つ(?)
  • 2.3 ポリトープ(多角形の一般次元化)
    • 離散的データなので凸ポリトープとして取り扱えて、その上の適切な点の探索ととらえる
  • 2.4 木と距離函数
    • 系統樹という木と距離の保存、Neighbor-Joining
  • 2.5 ソフトウェア

Part I(基礎)3代数学 ぱらぱらめくる『Algebraic statistics for computational biology』

  • 目次はこちら
  • 代数統計学では『統計モデルは代数多様体』とする
    • 代数多様体(algebraic varieties)とはこちらにあるように
      • "多変数の連立多項式系の解集合として定義される図形"
        • 例:Hardy-Weinberg Equilibriumが作る3角形内の曲線
      • 表現方法2つ
        • (連立)方程式表示:条件付き独立としての表現
        • 媒介変数表示:図形表現…代数幾何
    • 代数幾何では、実数・有理数で扱うものであっても、複素数に一般化して扱うのが通例であって、それが尤度関数・最尤推定にも用いられるのは、(従来の)統計学的アプローチには目新しく映る
    • 代数幾何では、トロピカル半環上での扱いが有効
  • 3.1 多様体グレブナー基底
    • 連立方程式表示では複数の多項式が登場するが、それを多項式環として扱う
    • 多項式を表記のために、順序のルールがある(辞書式順序、とか)
    • 複素数で取り扱うのを原則とするのは、1変数m次多項式の解が複素数で扱えばm個あることが「単純」だから
    • その上で実数に限定したり、変数セットを単体内に限局したりする場合には、多次元複素数空間の部分空間を取り扱うものとすることで対応する
    • 例えばp1^4+p2^4-p3^4=0,p1^4+p2^4+p3^4-2p1p2p3=0を満足する代数多様体で、p1+p2+p3=1を満足するような単体に限局した解集合を求めるときには、Singularのコマンドとして
ring R=0,(p1,p2,p3),lp;
ideal I = (p1^4+p2^4-p3^4,p1^4+p2^4+p3^4-2*p1*p2*p3,p1+p2+p3-1);
ideal G = groebner(I);
G;
LIB "solve.lib";
solve(G,10);
    • として出すと、16通りの解が出て、そのうち2つが実数解であることがわかる
      • solve(G,10)の10は有効桁数…たぶん
    • Groebner基底を求めるアルゴリズムBuchbergerアルゴリズムではinitial Idealというものを持ち出す。これは式の表現を決める順序(辞書式順序とか)に依存して決まる。また、式の個々の項を生成するようなイデアルへの分解などを通じて行うもの(?)
  • 3.2 Implicitization(陰函数化)
    • d個の変数からm個の変数へのマップがd個の変数の多項式であるとき、そのマップ自体は代数多様体ではないけれど:
    • そのような例として、\theta_1,\theta_2; \theta_i \in \mathbf{C}からp_1 = \theta_1^2,p_2=p_3=\theta_1 \times \theta_2へのマップを考えると、(p_1,p_2,p_3)p_2=p_3という面のうち、p_1=0の部分に関してだけ、(0,0,0)に限定しているような面になる(2次元平面が、1本の直線で隔てられていて、でも、そこには1点のつながりが残っている)
      • この閉包はp_2=p_3という平面である(代数多様体)
      • 複素数では上記のようになるが、\theta_iを実数にすれば、p_1 \ge 0とか(余分な)制約が入って、取れない点がたくさん生じて、Rでやれば以下のようになる
x <- seq(from=-2,to=2,by=0.01)
xy <- expand.grid(x,x)
X <- xy[,1]^2
Y <- Z <- xy[,1]*xy[,2]
library(rgl)
plot3d(X,Y,Z)
    • マップには、d個の変数とm個の変数とが両方出てくるが、これをm個の変数だけで表すことが陰関数化
    • その作業はマップについて、m個の変数だけでできたイデアルを探すこと
    • 隠れマルコフモデルでは、表の変数セットと裏の変数セットがあって、マップがあるけれど、隠れている方はどうせ見えないから見えている方だけで考えられたらいいことがあるかもしれない→見えている変数のみのイデアルにするといいことがある
    • それぞれの変数セットで環を作り、2つの環を結ぶマップ関数を指定し、片方の環とマップ関数とイデアルとを引数にpreimage()関数に渡すとできるようだ。ちなみに"preimage"は原像(こちら)
    • SNPのHWEや連鎖平衡を代数統計する→こちら
  • 3.3 最尤法
    • d個の変数があって、m個の変数とマップ関数(f)で関係づいている
    • m個の変数は観測データとともに尤度関数を作る
    • 尤度関数の微分が0という制約はm個の変数が作る(連立)方程式になっている
    • 最尤推定d個の変数についての推定で、それは尤度関数の微分が0という方程式の解であるd個の変数の値の組
    • likelihood variety of model f と称する
    • 対数尤度関数では\log(L) = \sum u_i \log(p_i)という形になって
    • p_i = f_i(\theta_1,\theta_2,...)となっているとき
    • \frac{\partial \log(L)}{\partial \theta_j}=\sum u_i \frac{1}{p_i} \frac{\partial f_i(\theta_1,\theta_2,...)}{\partial \theta_j}となって\frac{1}{p_i}が表れる
    • そのためz_i=\frac{1}{f_i}なる変数を登場させる
    • それをイデアルに反映するとf_i z_i =1を反映させるわけで、f_i z_i-1という式が出てくる
  • 3.4 Tropical geometry
    • 代数多様体はトロピカル化できるので、統計モデルを代数多様体で表すと言うことは、統計モデルはトロピカル化できるということ
    • トロピカル多項式は非負整数を係数とする線形凸関数になる(のが、扱いやすく単純)
  • 3.5 生命の木とtropical variety(代数学多様体)

Part I(基礎)4生物学 ぱらぱらめくる『Algebraic statistics for computational biology』

  • 目次はこちら
  • 4.1 ゲノム
  • 4.2 データ
  • 4.3 問題
  • 4.4 生物学の配列の統計モデル
  • 4.5 変異の統計モデル