| 前口上 | 目次 | 第1章 | 第2章 | 第3章 | 第4章 | 第5章 | 第6章 | 第7章 | 第8章 | 第9章 | 第10章 |
| 第11章 | 第12章 | 第13章 | 第14章 | 第15章 | 第16章 | 第17章 | 第18章 | 第19章 | 第20章 | 付録 |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
医学分野や生物学分野ではロジスティック関数(logistic function)またはロジスティック曲線(logistic curve)をしばしば利用します。 これは1883年に、ピエール=フランソア・フェルフルスト(Pierre-François Verhulst)が人口予測のための関数として提唱したものです。 フェルフルストは、ある時点における人口の増加速度が、その時の人口と、人口の最大値に対する増加可能人口の割合に比例すると考えてロジスティック方程式と呼ばれる微分方程式を立てました。 その解がロジスティック関数です。 (→9.6 ロジスティック曲線 (注1))
例えば閉じた空間で微生物を培養し、微生物の個体数を毎日観察した結果が次の表のような結果になったとします。 これは人口増加の様子をモデル化したものと考えられるので、時間による個体数の変化をロジスティック関数で近似できます。
| 時間(日) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 個体数 | 5 | 7 | 10 | 44 | 60 | 115 | 145 | 184 | 254 | 341 | 421 | 470 | 515 | 573 | 615 | 645 | 655 | 672 | 676 | 680 | 685 | 686 | 689 | 691 | 692 | 692 |
| 増加個体数 | 5 | 2 | 3 | 34 | 16 | 55 | 30 | 39 | 70 | 87 | 80 | 49 | 45 | 58 | 42 | 30 | 10 | 17 | 4 | 4 | 5 | 1 | 3 | 2 | 1 | 0 |
一般に、このような場合は最小2乗法を利用した回帰分析を用いて近似関数のパラメータを求め、回帰曲線を求めます。 しかしロジスティック関数のパラメータは関数に関して線形ではないので、薬物動態学のコンパートメントモデルと同様に非線形最小2乗法を利用してパラメータを求めるのが普通です。 実際に表 付録7.1のデータにロジスティック関数を当てはめ、非線形最小2乗法を利用してパラメータを求めると次のようになります。 (注1) (→14.1 コンパートメントモデル (注2))
図 付録7.1のように、このデータにはロジスティック関数が非常にうまく当てはまり、重寄与率が約99.9%もあります。 しかし非線形最小2乗法は適当な初期値を指定し、繰り返し計算によってパラメータを求めるややこしい手法です。 そのためデータの誤差が多かったり、データが最大値付近まで観測されていなくて途中までしかない時は正確な解を求められません。
例えば表 付録7.1のデータが12日目までしか観測されていない時は繰り返し計算が発散してしまい、解をうまく求められません。 そこで繰り返し計算を強制的に収束させてロジスティック関数を求めると、図 付録7.1の赤い破線で描いた不正確な回帰曲線になります。 人口予測では、たいてい人口が最大値に達するかなり前に将来の動向を予測したいのでこれでは困ります。
そこでロジスティック関数を時間で微分したロジスティック方程式に注目します。 この方程式から、時点tにおける微生物の個体数yとその変化速度v = dy/dtの関係が次のような定数項のない2次関数になることがわかります。 そしてこの定数項のない2次関数の2つのパラメータは関数に関して線形なので普通の線形最小2乗法を利用してこれらの推定値を求め、それによってcとMの推定値を求めることができます。
表 付録7.1の個体数を説明変数yにし、増加個体数を目的変数vにして、定数項のない2次関数を当てはめて曲線回帰分析を行うと次のような結果になります。 (注2)
この方法で求めたcとMの推定値は、全データを用いて非線形最小2乗法で求めたcとMの推定値とよく似ています。 そしてこれは普通の線形回帰分析なので、b1つまりcの信頼区間を求めることができます。 また2次回帰曲線の信頼区間曲線が横軸と交わる点はMの信頼区間の近似逆算値になります。
さらにこの方法では2次関数のピークを過ぎたところまでデータがあれば、まずまずの精度のcとMの推定値を求めることができます。 例えば表 付録7.1の12日目までのデータを用いて2次関数を求めると、図 付録7.2の青い破線で描いたような2次回帰曲線になります。 この2次回期曲線は全てのデータを用いて求めた2次回帰曲線(赤い実線で描いた曲線)と大きくは異なっておらず、この曲線から求めたcとMの推定値も全てのデータを用いて求めたcとMの推定値と大きくは異なっていません。
ロジスティック方程式はロジスティック関数を時間で微分したものなので、ロジスティック関数の初期値y0は含まれていません。 そのためロジスティック方程式の2次回帰分析ではy0を求めることはできません。 そこでロジスティック関数のパラメータcとMをロジスティック方程式の2次回帰分析で求めた推定値に固定して、非線形最小2乗法によってy0だけを求める方法が考えられます。 この方法では推定するパラメータは1つだけなので3つのパラメータを全て推定する時よりも計算が単純であり、ほとんど発散せずに精度の良い解を求めることができます。
表 付録7.1のデータについて、前節で求めたcとMを用いて、非線形最小2乗法によってy0を求めると次のような結果になります。 (注3)
以上のように、この方法で求めたロジスティック関数は非線形最小2乗法によって求めたものとほとんど同じで、しかも12日目までのデータを用いた時も安定して解が求められ、大きくは違わない結果になります。 これは人口予測のように将来の予測したい時には大きな長所になります。
このように複雑な非線形関数を微分して単純な線形関数に変換し、それに線形回帰分析を適用することによって主要なパラメータを求め、求められないパラメータだけを元の関数に非線形回帰分析を適用して求める手法を微分回帰分析(Differential Regression Analysis)と名付けました。 この手法は国立長寿医療研究センターの岡田佑介先生が開発され、僕が数学的な理論付けをお手伝いした新しい統計手法です。 これはロジスティック関数だけでなく、色々な非線形関数に応用することができると思います。
またロジスティック関数のパラメータを非線形最小2乗法によって求める時、Mの初期値が不適切だと安定して収束しません。 そこでMをロジスティック方程式の2次回帰分析によって求めた推定値に固定して、非線形最小2乗法によってy0とcを求める方法も考えられます。
表 付録7.1のデータについて、前節で求めたMを用いて、非線形最小2乗法によってy0とcを求めると次のような結果になります。
図 付録7.7を見ると12日目までのデータを用いた時のロジスティック関数が全てのデータを用いた時のロジスティック関数とほとんど重なり、結果の精度が良くなったことがわかると思います。 後で説明する微分ロジット分析もMを固定してy0とcを求めるので、微分回帰分析によるパラメータの推定もこの方法の方が実用的だと思います。
ロジスティック関数が求められれば、それを時間で微分した導関数も求められます。 図 付録7.2は個体数と増加個体数のグラフですが、時間と増加個体数をグラフ化すると次のようになります。 このようなグラフは増加個体数の時間的変化を検討したい時には便利であり、感染症の流行状況を表す流行曲線(Epidemic Curve)などに応用できます。 (→感染症数理モデル 補足2.ロジスティックモデル)
図 付録7.4の柱状グラフは実際の増加個体数であり、赤い実線が全てのデータを用いた時のロジスティック導関数、赤い破線が12日目までのデータを用いた時のロジスティック導関数です。 2本の曲線は大きくは異なっておらず、12日目までのデータを用いて、その後の動向をある程度は予想できることがわかると思います。
厳密にいうとロジスティック関数を微分した導関数の値は、当日の観測時点を中心にして、その半日前から半日後までの増加量になります。 ところが増加個体数は前日の観測時点直後から当日の観測時点までの増加個体数であり、観測期間が後ろに半日分だけずれています。 これは差分法で用いられる後退差分に相当します。 そこで当日の増加個体数(差分)と翌日の増加個体数(差分)の平均値を求めると差分法で用いられる中心差分になり、本来の導関数の値つまり微分値のより正確な推測値になります。
その推測値つまり中心差分は次表のようになります。 最初の0日目の増加個体数は前日の観測時点からの値ではないので、正確性を重視してこの日の中心差分は計算してありません。 また最後の25日目は翌日の増加個体数が求められないので、やはり正確性を重視してこの日の中心差分も計算してありません。 増加個体数つまり後退差分の代わりにこの中心差分を用いて微分回帰分析を行うと以下のような結果になります
| 時間(日) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 個体数 | 5 | 7 | 10 | 44 | 60 | 115 | 145 | 184 | 254 | 341 | 421 | 470 | 515 | 573 | 615 | 645 | 655 | 672 | 676 | 680 | 685 | 686 | 689 | 691 | 692 | 692 |
| 増加個体数 (後退差分) | 5 | 2 | 3 | 34 | 16 | 55 | 30 | 39 | 70 | 87 | 80 | 49 | 45 | 58 | 42 | 30 | 10 | 17 | 4 | 4 | 5 | 1 | 3 | 2 | 1 | 0 |
| 中心差分 | - | 2.5 | 18.5 | 25 | 35.5 | 42.5 | 34.5 | 54.5 | 78.5 | 83.5 | 64.5 | 47 | 51.5 | 50 | 36 | 20 | 13.5 | 10.5 | 4 | 4.5 | 3 | 2 | 2.5 | 1.5 | 0.5 | - |
以上のように、中心差分を用いてもロジスティック関数そのものはほとんど変わりません。 しかし図 付録7.4と図 付録7.5を比べると、増加個体数(後退差分)よりも中心差分の方がロジスティック導関数によりフィットしていることがわかると思います。
ロジスティック関数はyをロジット変換するとロジットに関する線形関数になります。 そこでロジット方程式のMの推定値を2次回帰分析によって求めた後でMを使ってyをロジット変換し、ロジット回帰分析によってy0とcの推定値を求めることができます。 表 付録7.1のデータについて、中心差分による2次回帰分析によって求めたMを用いたロジット回帰分析によってy0とcを求めると次のような結果になります。 (注4)
図 付録7.6のように、ロジット回帰分析によって求めたロジスティック関数は非線形最小2乗法または微分回帰分析によって求めたものとわずかに異なります。 これは、非線形最小2乗法はyとロジスティック関数との誤差を最小にするようなMとy0とcを求めるのに対して、ロジット回帰分析はロジットとロジット直線との誤差を最小にするようなy0とcを求めるのでyとロジスティック関数の適合度が少し悪くなることが原因です。
しかし時間tとロジットlyのグラフを描くと、当然のことながら、次のようにロジット回帰分析によって求めたロジット直線の方が非線形最小2乗法または微分回帰分析によって求めたロジット直線よりも実際のロジットによりフィットします。
それからロジット回帰分析では0以下のデータとM以上のデータはロジット変換できず、計算に入れられません。 そこでそのようなデータについては次のような取り扱い方法が考えられます。
3種類の取り扱いのうち、最も信頼性が高いのは3番目の繰り返し補完法です。 この方法を用いることによって0以下のデータとM以上のデータも近似的に計算に入れることが可能になり、パラメータの値の信頼性を高くすることができます。 表 付録7.1のデータには0以下のデータもM = 692.909以上のデータもないので、全てのデータを計算に入れられます。 しかし誤差の多いデータでは0以下のデータやM以上のデータが有り得るので繰り返し補完法が有用です。
このようにしてyをロジットlyに変換するとtとの関係が直線的になるので、色々な線形回帰分析手法を適用できるようになります。 例えば複数の群についてtとyが観測されていて、それらの群のロジスティック関数が似ているかどうかを調べたいとします。 線形関数の場合、このような時は共分散分析を用いて複数の群の関数のパラメータを比較します。 しかしロジスティック関数は非線形関数ですから共分散分析を非線形関数に拡張した手法を用いる必要があります。 それは理論的には不可能ではないものの、非線形最小2乗法を利用した非常に煩雑な計算が必要であり、解がうまく求められる可能性は群がひとつだけの時よりもかなり小さくなります。
そこでこのような時はyをロジットに変換してから共分散分析を適用するという方法が考えられます。 この方法によって複数の群のロジスティック関数のy0とcを比較することができます。 またyに影響を与える項目がt以外にも複数あり、それらの影響を考慮してtとyの関係を検討したい時などでも、yをロジット変換することによって重回帰分析を適用できるようになります。
このようにyをロジット変換すると色々な線形回帰分析手法を適用できるようになるので、何かと便利です。 yをロジット変換するにはMだけを求めれば良いので、ロジスティック方程式の2次回帰分析だけで事足ります。 そしてデータがMの近くまで観測されていなくても、まずまずの精度の推定値が得られます。 そこでこの手法を特に微分ロジット分析(Differential logit Analysis)と呼ぶことにしました。 これは微分回帰分析の中でもとりわけ応用範囲が広い手法だと思います。
第13章で説明したように、ロジスティック曲線はプロビット曲線と形が似ているので用量反応解析に流用されることがあります。 その場合、用量0の時の反応が0ではない時があります。 つまり反応yに最低値ymが存在するわけです。 そのymが理論的に決まっていたり、用量0の群の結果からymの値がわかっていれば、実際の反応yからymを引いた値(y-ym)をデータにして微分回帰分析を行い、用量反応曲線を求めることができます。 (→13.1 用量反応直線)
しかしymが理論的には決まらず、しかも用量0の群を置かない時は実際の反応データからymを推測する必要があります。 そのような時は次のようなロジスティック関数を用いて微分関数の回帰分析を行い、ymとMとcを推測して微分回帰分析や微分ロジット分析を行うことができます。
ロジスティック曲線の傾きはyが小さい時は小さく、yが大きくなるにつれて大きくなり、y = M/2の時に最大になり、それをすぎるとまた小さくなります。 y = M/2の時の傾き最大値はロジスティック方程式にy = M/2を代入することによって求められます。 そしてその関係からcを逆算することができます。
一方、ロジスティック曲線に回帰直線を当てはめると、y0付近、y = M/2の点、M付近を通る直線になります。 そしてその回帰直線の傾きは、だいたいロジスティック曲線の傾き最大値の半分程度になります。 そこでロジスティック曲線を当てはめるデータに回帰直線を当てはめ、その回帰直線の傾きからcのラフな推測値を求めることができます。 このラフな推測値をcの初期値にします。
表 付録7.1のデータに回帰直線を当てはめると次のようになります。 そしてMの推定値としてデータの最大値である692を用いれば、cのラフな推定値を求めることができます。
この値をcの初期値にし、Mの初期値を692にし、y0の初期値を最小値/2=2.5にして、非線形最小2乗法によってロジスティック曲線のパラメータを求めると次のようになります。 (→14.1 コンパートメントモデル (注2))
線形最小2乗法と同様に非線形最小2乗法も分散分析を行うことができます。 ただし非線形最小2乗法で回帰する関数は定数項が特殊だったり、定数項がなかったりします。 そのため普通の分散分析とは少し異なった計算を行わなければならない時があります。 一般的な直線回帰分析は次のような原理に基づいて分散分析を行います。 (→5.1 相関係数と回帰直線 (注4))
| 要因 | 平方和SS | 自由度φ | 平均平方和Ms(分散V) | 分散比F |
|---|---|---|---|---|
| 回帰 | Sβ | φβ | Vβ | Fβ=Vβ/VR |
| 残差 | SR | φR | VR | |
| 全体 | ST | φT | ||
この場合の全体平方和は、次のように定数項だけの回帰モデルを用いた回帰分析の残差平方和に相当します。 (→7.1 重回帰モデル (注1))
一般に回帰モデルはパラメータが多くなるほど実際のデータによりフィットするようになり、ズレeiが小さくなって残差平方和Qが小さくなります。 そのため定数項だけの回帰モデルにおけるQと、それに説明変数の1次項を追加した回帰モデルにおけるQを比較すると後者の方が小さく、その差が表 付録7.2の分散分析表における回帰平方和Sβになります。 つまりSβは回帰係数bによって説明できるズレの大きさ(情報量)を表しているわけです。 このことは直線回帰分析におけるyiの分解式からもわかると思います。
ロジスティックモデルでも最大値Mだけの回帰モデルを想定することができます。 しかしその回帰モデルの解を最小2乗法で求めてしまうとyの平均値myになり、最大値にはなりません。 そこで最大値Mがあり、exp(-ct)の項がなく、y0 = M/2というモデルを考えます。 その場合の回帰モデルは次のようになります。
この回帰モデルの残差平方和を全体平方和にすれば、ロジスティックモデルの非線形最小2乗法の分散分析を次のようにして行うことができます。
表 付録7.1のデータについて、非線形最小2乗法によって求めたロジスティック曲線のパラメータを用いて分散分析を行うと次のようになります。
| 要因 | 平方和 | 自由度 | 平均平方和(分散) | 分散比(F値) |
|---|---|---|---|---|
| 回帰 | 2036550 | 2 | 1018280 | 12480.4 |
| 残差 | 1876.56 | 23 | 81.5897 | |
| 全体 | 2038430 | 25 | ||
0 〜 12日のデータだけ用いると次のような結果になります。
| 要因 | 平方和 | 自由度 | 平均平方和(分散) | 分散比(F値) |
|---|---|---|---|---|
| 回帰 | 449768 | 2 | 224884 | 366.767 |
| 残差 | 6131.53 | 10 | 613.153 | |
| 全体 | 455900 | 12 | ||
この場合、定数項がないのでyとvからそれぞれの平均値を引かずに解を求めます。 そして説明変数の項をなくした最も単純な回帰モデルは定数項もないモデルv = 0になり、そのモデルの残差平方和はvの単純積和になります。 そのため回帰の分散分析における全体平方和はvの単純積和を用います。 そしてそれらを用いて普通の重回帰分析と同様に回帰の検定(重寄与率の検定)を行い、偏回帰係数と重回帰式の信頼区間などを求めることができます。
また2次回帰式はy = 0とy = Mの時にv = 0になるので、2次回帰曲線はその2点で横軸と交わります。 したがって2次回帰曲線の95%信頼区間が横軸と交わる点のyは、Mの95%信頼区間の近似逆推定値になります。 その値は、例えばニュートン法などを利用して近似的に求めることができます。 (→7.2 重回帰分析結果の解釈 (注3))
表 付録7.1のデータについて計算すると次のようになります。
| 要因 | 平方和(単純積和) | 自由度 | 平均平方和(分散) | 分散比(F値) |
|---|---|---|---|---|
| 回帰 | 34216 | 2 | 17108 | 166.638 |
| 残差 | 2463.98 | 24 | 102.666 | |
| 全体 | 36680 | 26 | ||
| 要因 | 平方和(単純積和) | 自由度 | 平均平方和(分散) | 分散比(F値) |
|---|---|---|---|---|
| 回帰 | 28412.8 | 2 | 14206.4 | 87.8796 |
| 残差 | 1778.23 | 11 | 161.657 | |
| 全体 | 30191 | 13 | ||
表 付録7.1のデータについて計算すると次のようになります。
表 付録7.1のデータについて中心差分を用いて計算すると次のようになります。 このデータには0以下の値もM以上の値も無いので繰り返し補完法を使わずに計算できます。
| 要因 | 平方和 | 自由度 | 平均平方和(分散) | 分散比(F値) |
|---|---|---|---|---|
| 回帰 | 293.522 | 1 | 293.522 | 2523.85 |
| 残差 | 2.79118 | 24 | 0.116299 | |
| 全体 | 296.313 | 25 | ||
| 要因 | 平方和 | 自由度 | 平均平方和(分散) | 分散比(F値) |
|---|---|---|---|---|
| 回帰 | 53.8396 | 1 | 53.8396 | 560.144 |
| 残差 | 1.05729 | 11 | 0.0961174 | |
| 全体 | 54.8969 | 12 | ||