シグモイド曲線に回帰される反応の信頼区間算出法

大日本製薬 生物統計室
杉本 忠則
第59回関西SASユーザー会 （2005年5月13日）

1

シグモイド曲線に回帰される反応1

反応0.80.60.40.20薬物濃度（対数）2シグモイド曲線に回帰される反応
マグヌス実験
in vitroにおける生化学反応
酵素活性測定binding実験など
3

解析方法
解析方法として、ロジット曲線に回帰さることにより、EC50値を推定する。
x1e
ロジット曲線： F ( x ) ==x
1 + e 1 + e−x

生物反応：

response = ( Max − Min) ×1
1+ e− Slope (log C − log EC50 )

+ Min

4

CHO細胞におけるシグナル上昇作用
特定の受容体を発現させた、CHO細胞にアゴニストを作用させると、細胞内のシグナル濃度が上昇する。この反応はシグモイド曲線を描く。
20000

反応

15000

Max=17874
EC50=10-9.78 M

10000

解析はMin=0,Slope=2.303として行った。

5000
0-13 -12 -11 -10-9-8

対数濃度-7-6-55シグモイド曲線への回帰の解析法
解析方法としては、非線形最小２乗法を適用し、解析ソフトウェアとしてはSAS
SAS前臨床パッケージ
JMPExcelのソルバーを用いることにより各パラメータを推定できる。
6

本日は第59回関西SASユーザー会なのでSASを使った解析を考えてみる

SASの非線形最小２乗法を行うには、proc nlinを用いる。
proc nlinの主な文法は次の通りである。
proc nlin data = SAS-data-set;
dependent = expression;model
parameters parameter = values;
data：解析したいデータセット
model：回帰式
parameters：初期値

7

SASプログラム例
CHO細胞のデータをSASで解析してみる
data chocell;
input response x;
cards;
2024.8 1e-117041.6 1e-10
14312.8 1e-9
17604.6 1e-8
18004.6 1e-7
18404.6 1e-6;
proc nlin data = chocell;
model response = max / ( 1 + exp( -2.303*( log10(x)-log10(ec) ) ) );parameters max = 18000 ec = 1e-9;
run;
8

SASの出力結果（一部）

ここに推定値が出力される。

Sum ofSquares

Mean
SquareF Value

ApproxPr > F

995.66<.0001

Source

DFRegression
Residual
Uncorrected Total

2 1.2289E9 6.1444E8
4 2468497
617124
6 1.2314E9

Corrected Total

52.3308E8

Parameter

EstimateApprox
Std Error

Approximate 95% Confidence Limitsmaxec

17874.2
1.65E-10

437.6
2.93E-11

16659.3
19089.1
8.37E-11 2.46E-10

Approximate Correlation Matrix
max
ec
max
ec

1.0000000
0.4026834

0.4026834
1.0000000
9解析時の疑問
解析ソフトウェアによっては、95%信頼区間も算出されるが、これはいったい何を意味しているのか？
複数の実験を行った場合にはどのように解析するのがよいのか？
濃度10-810-710-610-510-4
10-810-710-610-510-4…

反応1020406065
1525505565

濃度10-810-710-610-510-4

反応1020406065

濃度10-810-710-610-510-4

反応1525505565①②個々EC50を求め、その値から95%信頼区間を求める

一度の解析でEC50と95%信頼区間を求める

10シュミレーションによる検討
コンピュータ内でデータを発生させ、解析法をいろいろ検討する。

シグモイド曲線に回帰する反応式（１）response = ( Max − Min) ×1
1+ e− Slope (log C − log EC50 )

+ Min

（１）

今回は、Max=100、Min=0、Slope=2.303、EC50=10-9.75とした式（２）に誤差を加えたデータを作成する。
response =100
1+ e− 2.303 (log C + 9.75 )（２）11

誤差について今回誤差の発生が反応の大きさに依存せず一定の大きさの正規分布をすると仮定しデータを発生させた。

response =100

1+ e+ε− 2.303 (log C + 9.75 )ε〜N (0, σ 2 )解析：Min=0、Slope=2.303が既知であるが、Maxと EC50を推定する目的でSASを使用する。
つまり、推定される Maxと EC50が真の値 Max=100, EC50=10-9.75からどれくらい離れているかを調べる。
12

誤差分散（σ2）とデータの発生
σ2=52の場合

12010080604020
0σ2=102の場合-12120-11-10-9-8-7-11-10-9-8-7100
806040200-12

対数薬物濃度13

シュミレーション実験の手順
データの発生①：各濃度１例②：各濃度複数例①
非線形回帰による
MaxとEC50の推定複数回行う②
非線形回帰による
MaxとEC50の点推定値と95%信頼区間を算出

MaxとEC50の点推定値と95%信頼区間を算出
この手順を10000回以上行い、得られた信頼区間が正しい回数の割合を求める

14

シュミレーション結果
データ例と解析結果①

本データはσ2=52のときの仮想データである

濃度

MaxEC50

10-1110-10.510-1010-9.5

10-910-8.5

10-8114396090

101100104.8

1.98E-107113872899698

101.6

1.59E-10415275881

10498

105.2

2.61E-109153059

8386

105

100.5

2.23E-10-625

415984

100

101

102.0

1.77E-10

mean

102.3

2.04E-10SE

0.9

1.79E-11

95%信頼区間100.3〜 1.54E-10〜
105.4

10000回行ったところEC50の95%信頼区間が10-9.75(=1.78E-10)を含んでいた割合は2.53E-1015

シュミレーション結果
データ例と解析結果②濃度10-1110-10.5

10-10

10-9.510-910-8.5

10-8114396090

101100

71138

7289

9698

4152758811049891530598386105-6254159

84

100101Max

EC50

estimate

102.6

1.99E-10SE

1.7

1.54E-11

95%信頼区間99.1〜 1.68E-10〜106.1

10000回行ったところEC50の95%信頼区間が10-9.75 (=1.78E-10)を含んでいた割合は2.31E-1016シュミレーション結果
各解析におけるEC50の95%信頼区間の成功率
(%)
解析①

解析②

繰り返し

各濃度

σ2２反応

120.950 0.950 0.948 0.948

0.951 0.948 0.949 0.943 0.944

320.948 0.950 0.947 0.948

0.949 0.947 0.948 0.943 0.944

520.949 0.951 0.947 0.949

0.944 0.946 0.947 0.942 0.9441020.949 0.950 0.947 0.949

0.936 0.939 0.941 0.938 0.943

302

0.926 0.939 0.944 0.951

0.858 0.886 0.901 0.910 0.912

502

0.843 0.917 0.939 0.952

0.788 0.828 0.848 0.864 0.876

1002

0.693 0.868 0.924 0.949

0.678 0.728 0.763 0.782 0.795

３反応

４反応

５反応

１反応

２反応

３反応

４反応

５反応

17

薬理・生化学研究者がよく行なう解析例
各濃度で数点の反応を得る実験（duplicate、triplicate）を行い、その平均値を解析に使用する。
このような解析には、問題はないのであろうか？

18

シュミレーション結果
データ例と解析結果③濃度10-1110-10.5

10-1010-9.510-910-8.5

10-811439609010110071138728996984152758811049891530598386105-62541598410010131635628597100Max

EC50

estimate

102.6

1.99E-10SE

1.1

9.67E-12

95%信頼区間99.9〜 1.74E-10〜105.4

10000回行ったところEC50の95%信頼区間が10-9.75 (=1.78E-10)を含んでいた割合は2.24E-1019シュミレーション結果
各解析におけるEC50の95%信頼区間の成功率(%)
解析（②：全反応を用い解析、③：各濃度の反応の平均値を用い解析）
各濃度

σ2

１反応

２反応

３反応

４反応

120.951

0.948 0.949

0.949 0.950

0.943 0.950

0.944 0.950

320.949

0.947 0.948

0.948 0.949

0.943 0.949

0.944 0.951

52

0.944

0.946 0.947

0.947 0.948

0.942 0.949

0.944 0.949

1020.936

0.939 0.942

0.941 0.945

0.938 0.945

0.943 0.947

302

0.858

0.886 0.892

0.901 0.908

0.910 0.918

0.912 0.924

502

0.788

0.828 0.835

0.848 0.856

0.864 0.877

0.876 0.888

1002

0.678

0.728 0.733

0.763 0.767

0.782 0.790

0.795 0.808５反応20まとめシグモイド曲線を描く反応を示す実験において、EC50値の95%信頼区間を求める方法の解析を検討した。
• シグモイド曲線を描く反応の理論反応値に誤差を加え仮想データを発生させ、これを解析に用いた。
• 各濃度での反応値が複数ある場合のEC50値の算出方法として、３つの方法を比較した。
①：複数のシグモイド曲線を描き、得られたEC50値から95%信頼区間を算出する。
②：全ての反応値を解析に使用する。
③：各濃度毎に反応値の平均値を算出し、これを解析に使用する• いずれの、解析方法で算出された95%信頼区間も、95%の確率で真のEC50値を含んでいた。このことより、いずれの方法を用いてもEC50値の95%信頼区間が算出できることがわかった。
•21

実際のデータの誤差
薬理・生化学の研究者は、反応が小さいところでのデータのバラツキは小さく、反応が大きいところでのデータのバラツキは大きいことを経験している。
しかし、今回のシュミレーションでは、反応のどの部分でも、同じ誤差を発生させ解析した。
本来は、反応の大きさに応じて誤差を発生させるべきでは？
22

誤差分散（σ2）が反応とともに大きくなる場合
σ ∝ 反応2（100%の反応 σ2=102 ）120100806040200-12σ ∝ 反応2-11-10-9-8-7-11-10-9-8-71202100806040200-12

対数薬物濃度23

今後の課題
反応の誤差分散が一定でない場合は、分散の逆数を重みとして解析を行なうことが一般的である。
次のスライドに示すようにSASのproc nlinの場合は、_weight_オプションにより設定できる。
誤差分散（σ2）が反応とともに大きくなる場合は、_weight_オプションで対応可能であるが、これにより出力される信頼区間が正しいかは今後の検討課題としたい。
24

proc nlinの主な文法
proc nlinでは以下のように重みを付けて、解析を行うことができる。
proc nlin data = SAS-data-set;
dependent = expression;model
parameters parameter = values;_weight_ = expression;
data：解析したいデータセット
model：回帰式
parameters：初期値_weight_:重み25