生物と数学のあいだ

量的遺伝学/集団生物学/生物統計学に関する勉強ノート

非線形混合モデル

非線形混合モデル

量的遺伝学ではいわゆる線形混合モデルと呼ばれるモデルがよく使われていますが、成長曲線などをモデル化する場合は、この線形混合モデルを拡張した非線形混合モデルが必要になってきます。ちょうど研究の中で非線形混合モデルを使用しており、まとめて勉強する機会があったので、今日はひとまずそもそも非線形混合モデルがどう数式として定式化されるかを書こうと思います。

 

非線形であるとは

そもそも非線形とは何かをまずはじめにはっきりさせておきます。線形と聞くと"まっすぐ"、"直線"といったイメージを持ちがちなので、 y=ax^2+bx+cでかかれる二次関数も非線形として捉えがちですが(そして文脈によってはそれは間違いではないのですが)、ここではパラメータに対して非線形であるモデルを非線形であると呼ぶことにします。 y=ax^2+bx+cの例でいうと、この関数はパラメータも変数であると考えることによって、 f(a,b,c,x)=ax^2+bx+cととらえることができるわけですが、このa,b,cについては線形性が保たれているためこれは線形なモデルということになります。例えば f(a,b,c,x)=a^2x^2+bx+cなんかは非線形なモデルというわけです。

 

植物分野でよく使われる非線形なモデル

非線形なモデルを調べるとよく薬学の話、特に薬の体内での濃度変化の話が取り上げられますが、植物分野では成長曲線がよく使われます。特に使われるのが、①logistic 曲線、②Gompertz 曲線、③von Bertalanffy 曲線の3つです。例えば前者二つはそれぞれ次のように数式化されます。

logistic 曲線

 f(a,b,c,t)=\frac{a}{1+b*exp(-ct)}

Gompertz 曲線

 f(a,b,c,t)=a*b^{exp(-ct)}

 

非線形なモデルの優位性

このようにxなどの変数に対しての非線形性は認められるため、線形なモデルでもかなり柔軟なモデルにすることができるわけですがそれでも非線形のモデルを使いたい理由はどこになるのでしょうか。よく取り上げられるのが次の3つです。①パラメータの解釈可能性。多くの非線形なモデルは微分方程式に基づいて導出されます(Gompertzモデルといった例外ももちろんありますが…)。微分方程式は物理量の関係性を表すモデルですので、そこに現れるパラメータには何らかの物理的解釈を加えることが可能です。線形なモデルではパラメータの解釈が難しく考察や問題解決がしにくいわけですが、非線形なモデルではそういうことが起こらないというメリットがあります。②倹約性。一般に同じ柔軟性を持つモデルを比較すると、非線形なモデルのパラメータ数は線形なもでるのそれよりも少ない傾向にあります。パラメータ数が増えると多重線形性といった問題が生じてくるのですが、非線形なモデルはそういった問題をあまり気にしなくて済みます。③外挿に対する安定性。機械学習では、学習データに含まれない領域のデータに対する予測精度が低いという問題がよく取り上げられます。非線形なモデルは先ほど書いたように微分方程式に基づき、それはどのデータ領域にも適応できるため、そのようなデータに対しても予測精度が下がりにくいというメリットがあります。

 

時系列データの非線形モデルによる定式化

さて、ここからは時系列データが非線形なモデルを使ってどのように定式化できるかを考えていきます。まず、品種がn品種あり、それぞれに対して時系列データがとられたという状況を想定します。この時、i番目の品種のj回目の測定データは y_{ij}と表すことができます。ここで i=1\sim n j=1\sim  n_{i}であり、 n_{i}はi番目の品種に対して測定された回数を表します。次に非線形なモデル f(a,b,c,t)ですが、パラメータは品種によって違うと考えられるためi番目の品種に対する非線形なモデルは f(a_{i},b_{i},c_{i},t)となります。さらに、 \phi_{i}=(a_{i},b_{i},c_{i})とすると、 f(\phi_{i},t)と書くことができます。測定された時刻を t_{ij}と表すことにすると、 y_{ij}は次のようになります:

 y_{ij}=f(\phi_{i},t_{ij})+e_{ij}

ここで e_{ij}はノイズで e_{ij}\sim N(0,\sigma)に従います。これがまず第一段階の定式化です。しかし、これはあくまでも非線形モデルであって、非線形混合モデルではありません。次にこれを非線形混合モデルに拡張していきます。

 

非線形混合モデル

先ほどの式を改めて書くと次のようになります

 y_{ij}=f(\phi_{i},t_{ij})+e_{ij}

where  e_{ij}\sim N(0,\sigma)

これを混合モデル化するのは簡単で、パラメータ \phi_{i}が母数効果と変量効果の線形和になっている、つまり次のように表せると仮定すればよいわけです。

 \phi_{i}=X_{i}\beta+Z_{i} u_{i}

where  u_{i}\sim MVN(0,G)

ここで、 \betaは固定効果を、 u_{i}は変量効果を表しています。イメージとしては前者が品種を平均した値で、後者が品種による平均からのずれといったところでしょうか。また変量効果が従う多変量正規分布の分散共分散行列 Gはパラメータが3つの場合は (a_{i},b_{i},c_{i})間の共分散を表しています。

よって、まとめると非線形混合モデルは次のように表されるモデルとなります。

 y_{ij}=f(\phi_{i},t_{ij})+e_{ij}

where  \phi_{i}=X_{i}\beta+Z_{i} u_{i} u_{i}\sim MVN(0,G) e_{ij}\sim N(0,\sigma)

 

実データにこれらのモデルをフィッテイングしていく際は、非線形性ならではの困難が伴うのですが、それはまた次回。やる気が出たときに書こうと思います。