非線形回帰分析の基礎と応用 - sas.com ·...

22
1 非線形回帰分析の基礎と応用 高橋 行雄 BioStat 研究所(株) An Introduction and Applications to Nonlinear Regression Models Yukio Takahashi BioStat Research Co.,Ltd. 要旨 非線形回帰は,応用分野ごとの問題について解説されることが多く,線形回帰に引き続き非線形 回帰を学習しようと思い立っても,敷居が高く学習する意欲がそがれてしまう.そもそも,線形回帰と非線形 回帰の違いは何なのか,解析法の違いは何なのか,線形回帰は正規方程式を立てて解くことは知ってい るが,非線形回帰はどのような計算原理なのか.線形回帰の事例を用いて,線形回帰分析による解析手順 と,非線形回帰分析による解析手順を並列することにより,非線形回帰の本質が理解しやすくなる.線形回 帰式でも簡単な式の変形により非線形回帰式となることを,回帰式をパラメータで偏微分した結果から判定 する考え方を示す.さらに,共通の切片を持つが異なる傾きをもつ線形式を取り上げる.傾きの比の分散を 合成分散の一般式(デルタ法)で求めた結果と,傾きの比をパラメータとする非線形式に変形し非線形回 帰で求めた結果が同じとなることを示す.いわゆる平行線検定法は,線形回帰で求めたパラメータの比か X 軸方向の 2 つの直線の距離と分散を求める方法として知られているが,非線形式に変換し非線形回帰 分析によって,同じ結果が簡単に得られることを示す. キーワードProc NLIN 非線形回帰 逆推定 勾配比検定 平行線検定 デルタ法 Excel 1. はじめに 非線形回帰モデル分析は,応用分野の高度に専門的な分野で使われている.そのためか,ごく身近に ある統計的な問題に対して多くの適用場面があるにもかかわらず,適用事例を見出すことができにくい.線 形回帰については,応用分野それぞれごとに統計の入門書で必ず取り上げられている.応用分野の非線 形回帰の問題で,モデル式を線形化し通常の線形回帰による解析が定式化されている事例も散見する. ただし,線形化できない問題については棚上げされることになってしまう.このように線形化して問題解決を はかった先人の努力が,身近にある問題について非線形回帰の普及を阻害しているかのように思われる. 統計解析を必要とする分野は,多岐にわたっている.応用分野での統計に関するオピニオン・リーダた ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く は,Draper, N.R. and Smith, H.1966),中村慶一訳(1967),「応用回帰分析」の 10 章に「非線形推定序 説」,芳賀俊郎・野澤昌弘・岸本淳順司(1996),「SAS による回帰分析」の 8 章に「非線形回帰分析」がある. 最近,出版された芳賀敏郎(2010),「医薬品開発のための統計解析,第 3 非線形モデル」は,非線形 モデル(非線形回帰)の基礎から応用まで丁寧に扱っており,線形モデルに引き続き,非線形モデル学び, 活用したいと思う人にとって必読の書物である.

Upload: others

Post on 24-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

1

非線形回帰分析の基礎と応用

高橋 行雄

BioStat 研究所(株)

An Introduction and Applications to Nonlinear Regression Models

Yukio Takahashi

BioStat Research Co.,Ltd.

要旨 非線形回帰は,応用分野ごとの問題について解説されることが多く,線形回帰に引き続き非線形

回帰を学習しようと思い立っても,敷居が高く学習する意欲がそがれてしまう.そもそも,線形回帰と非線形

回帰の違いは何なのか,解析法の違いは何なのか,線形回帰は正規方程式を立てて解くことは知ってい

るが,非線形回帰はどのような計算原理なのか.線形回帰の事例を用いて,線形回帰分析による解析手順

と,非線形回帰分析による解析手順を並列することにより,非線形回帰の本質が理解しやすくなる.線形回

帰式でも簡単な式の変形により非線形回帰式となることを,回帰式をパラメータで偏微分した結果から判定

する考え方を示す.さらに,共通の切片を持つが異なる傾きをもつ線形式を取り上げる.傾きの比の分散を

合成分散の一般式(デルタ法)で求めた結果と,傾きの比をパラメータとする非線形式に変形し非線形回

帰で求めた結果が同じとなることを示す.いわゆる平行線検定法は,線形回帰で求めたパラメータの比か

らX軸方向の2 つの直線の距離と分散を求める方法として知られているが,非線形式に変換し非線形回帰

分析によって,同じ結果が簡単に得られることを示す. キーワード: Proc NLIN 非線形回帰 逆推定 勾配比検定 平行線検定 デルタ法 Excel

1. はじめに

非線形回帰モデル分析は,応用分野の高度に専門的な分野で使われている.そのためか,ごく身近に

ある統計的な問題に対して多くの適用場面があるにもかかわらず,適用事例を見出すことができにくい.線

形回帰については,応用分野それぞれごとに統計の入門書で必ず取り上げられている.応用分野の非線

形回帰の問題で,モデル式を線形化し通常の線形回帰による解析が定式化されている事例も散見する.

ただし,線形化できない問題については棚上げされることになってしまう.このように線形化して問題解決を

はかった先人の努力が,身近にある問題について非線形回帰の普及を阻害しているかのように思われる. 統計解析を必要とする分野は,多岐にわたっている.応用分野での統計に関するオピニオン・リーダた

ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

は,Draper, N.R. and Smith, H.(1966),中村慶一訳(1967),「応用回帰分析」の 10 章に「非線形推定序

説」,芳賀俊郎・野澤昌弘・岸本淳順司(1996),「SAS による回帰分析」の 8 章に「非線形回帰分析」がある.

近,出版された芳賀敏郎(2010),「医薬品開発のための統計解析,第 3 部 非線形モデル」は,非線形

モデル(非線形回帰)の基礎から応用まで丁寧に扱っており,線形モデルに引き続き,非線形モデル学び,

活用したいと思う人にとって必読の書物である.

Page 2: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

2

非線形回帰モデルの入門として,線形回帰の種々の統計的な推定について,非線形回帰への拡張と

応用を念頭とした基本的な考え方を Excel の行列関数を使って示し,次に.同じ例題に対して,非線形回

帰の基本的な考え方を線形回帰と対比しながら Excel の行列関数を使って示す.さらに,典型的な線形式

を,非線形式に変換する.どちらも同じ直線のあてはめであるにもかかわらず,前者は線形回帰の問題とな

るが,後者は非線形回帰の問題となる.なお,非線形回帰は,回帰式が線形であっても非線形であっても

取り扱うことができることを SAS の NLIN プロシジャで示す.

2. Excel の行列関数による線形回帰モデルの基礎

2.1. 線形回帰の行列関数を用いた定式化

5 個のデータ (x, y)=(1, 0),(1, 2),(2, 3),(3, 4),(3, 6) について,

0 1i i iy xβ β ε= + + , 2~ (0, )i eNε σ , 1,2,...,5i = (2.1)

誤差 iε が互いに独立に平均 0,分散が 2eσ の正規分布に従うと仮定し, 小 2 乗法によって,回帰パラメー

タ( 0β , 1β )を推定したい.行列関数を用いて計算する場合には,式(2.1)を用いるのではなく, 0β に 0ix な

る変数を明示した

0 0 1 1i i i iy x xβ β ε= + + , 2~ (0, )i eNε σ , 1,2,...,5i = (2.2)

を用いる.ただし,全ての i について 0 1ix = とする.式(2.2)は,

1

0i k ki i

k

y xβ ε=

= +∑ , 1,2,...,5i = (2.3)

と Σ 記号を用いて表すことができる.さらに,行列を用いて現すと,データ数 5n = ,変数の数,ここでは,

0ix も含めて変数の数 2p = の場合も明示することなく,一般式

= +y Xβ ε (2.4)

で表すことができる.Excel シート上で,式(2.4)に数値を入れて示そう. これらの行列を,

y : 測定値(反応・応答)行列(ベクトル), X :計画行列,デザイン行列, ε : 誤差行列(ベクトル),

と言うことにする.大きさ(1×1)の場合はスカラーと

区別することもあるが,全て行列として扱うことにす

る.行列 yは,大きさ(5×1), X は(5×2), β は

(2×1), ε は(5×1)の長方形(矩形)で表現されて

いる. Xβは,行列の積で, X の行方向の i に対し て, β の列方向の積和を,次に示すように計算す

図 2.1 Exxelシート上での行列表現

る.行列の積(5×2)(2×1)は,それぞれの内側の大きさが等しくなければならない.行列の積 Xβ の結果は,

それぞれの内側の大きさ 2 が消えて,(5×1)と行列となる. 2.2. 回帰パラメータの推定

回帰パラメータ β を 小 2 乗法で推定したい. 小 2 乗法とは,誤差 ε のそれぞれの要素 i ごとに平方し,

Page 3: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

3

すべて加えた偏差平方和 TS が 小になるように,回帰パラメータ β の推定値 β (ベータ・ハット)を求める

ための解析法である.これは,線形式のそれぞれのパラ

メータについて偏微分した式(正規方程式)

を解くことによって得られる.ここでは β が,

次式で得られたとする. 1ˆ ( )T T−=β X X X y ( 2.5 )

ここで, TX はもとの X の行と列を入れ替え

た転置行列(Excel:Transpose 関数,トラン

スポーズ関数)という.

X T

1 1 1 1 1

1 1 2 3 3

(2x5)

X1 1

1 1

1 2

1 3

1 3

(5x2)

= X TX5 10

10 24

(2x2)

1( )T −X X は逆行列(Excel:Minverse 関数,

マトリックス・インバース関数)といわれるもの

で, ( )TX X と 1( )T −X X の積を計算したときに,

その行列の対角要素が全て 1 となる単位行

列 I となる.

X TX (X TX )-1 = I5 10 1.20 -0.50 1 0

10 24 -0.50 0.25 0 1

(2x2) (2x2) (2x2)

逆 行 列 の 結 果 を 用 い て 行 列 の 積

(Excel:Mmult 関数,マトリックス・マルチプリ

ケイション)で推定値 β を求めてみよう.逆

行列 1( )T −X X の大きさは( 2×2 ) , TX は

(2×5)なので 1( )T −X X TX の大きさは(2×5)

となる.さらに yは(5×1)なので,推定値 β

の大きさは(2×1)となる.

(X TX )-1 X T

1.2 -0.5 1 1 1 1 1

-0.5 0.25 1 1 2 3 3

(2x2) (2x5)

y0

2

3

4

6

(5x1)

= β^-1

2

(2x1)

行列計算により,回帰のパラメータとして切片

0ˆ 1β = − ,傾き 1 2β = が得られた.これを用いて,

1ix に対する回帰直線上の推定値 ˆiy は

0 0 1 1ˆ ˆˆi i iy x xβ β= + , 1,2,...,5i = (2.6)

となる.行列で現すと

ˆˆ =y Xβ (2.7)

となり,Y 軸の切片が 1− ,傾きが 2 の回帰直線

上の推定値 y が得られる.

X1 1

1 1

1 2

1 3

1 3

(5x2)

β^-1

2

(2x1)

= y ^1

1

3

5

5

(5x1)

, y0

2

3

4

6

(5x1)

- y ^1

1

3

5

5

(5x1)

= ε-1

1

0

-1

1

(5x1)

2.3. パラメータの分散の推定

誤差分散の推定

測定値 iy と回帰直線上の推定値 ˆiy との誤差を

ˆ ˆi i iy yε = − , 1,2,...,5i = (2.8)

としたときに,それらの誤差平方和 TS は,次のようになり,

5 5

2 2

1 1

ˆˆ( )T i i ii i

S y y ε= =

= − =∑ ∑ , 1,2,...,5i = (2.9)

行列で現すと, ˆ ˆTeS = ε εとなる.

Page 4: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

4

誤差分散 2ˆeσ は,データ数 5n = から推定に用いたパラメータの数 2p = を差し引いた自由度

3ef n p= − = で,誤差平方和 eS を割って得られる.

2 4ˆ 1.33335 2

Te

Sn p

σ = = =− −

(2.10)

回帰パラメータの分散の推定

切片 0β の分散 0ˆ( )Var β ,傾き 1β の分散 1( )Var β , 0β と 1β の共分散 0 1

ˆ ˆ( , )Cov β β ,これらを分散共分散行

列 Σ として表す.

0 0 1

0 1 1

ˆ ˆ ˆ( ) ( , )ˆ ˆ ˆ( , ) ( )

Var Cov

Cov Var

β β β

β β β

⎡ ⎤= ⎢ ⎥⎢ ⎥⎣ ⎦

Σ (2.11)

分散共分散行列 Σ は, 1( )T −X X に誤差分散2ˆeσ を掛けて求められる.

1 2ˆ( )Teσ

−=Σ X X (2.12)

行列とスカラーの積の計算は,行列の全てのセル

に対してスカラーを掛け合わせる.

(X TX )-1

1.20 -0.50

-0.50 0.25

(2x2)

σ e2^

1.333

(1x1)

= Σ1.600 -0.667

-0.667 0.333

(2x2)

Σ の対角要素が, 0ˆ( ) 1.600Var β = と 1( ) 0.333Var β = となり,2 列目 1 行目が共分散 0 1

ˆ ˆ( , ) 0.667Cov β β = −

となる.分散共分散行列 Σ の対角要素の平方根が,回帰パラメータの標準誤差 SE となる.標準的な

回帰分析で出力される回帰パラメータに対する t 統計量は, ˆ ˆ/ ( )k k kt Varβ β= で計算される.さら

に,自由度 3 の t 統計量の両側確率 p は Excel の Tdist 関数(t distribution,分布関数)で計算する.

表 2.1 回帰パラメータの推定

k x β k β k ^ Var (β k ^) SE t p0 x 0:切片 β 0 -1.0 1.6000 1.2649 -0.7906 0.4869

1 x 1:傾き β 1 2.0 0.3333 0.5774 3.4641 0.0405

3. 線形式を非線形式に

3.1. 線形式を非線形式に変換

線形回帰の基本である次式は,

0 1i i iy xβ β ε= + + (3.1)

切片 0β と傾き 0β の 2 つのパラメータで現されている.ある与えられた 0y を通るような式を考え,その推定値

を 0x とする.式(3.1)に 0x を代入して, 0β について解くと,

0 0 1 0ˆy xβ β= −

が得られる. 0β を式(3.1)に代入し,整理すると,

0 1 0ˆ( )i i iy y x xβ ε= + − + , 1,2,...,i n= (3.2)

となり, 0x は推定したい未知パラメータであるので, 2 0xβ = とおいて,

0 1 2( )i i iy y xβ β ε= + − + , 1,2,...,i n= (3.3)

となる. もしも, 0y y= と y の平均値を与えれば, 2 xβ = となり,重心を通る線形式となる

Page 5: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

5

式(3.3)は, 1β と 2β で偏微分したときに,

21

( )ii

y x ββ∂

= −∂ , 1

2

iy ββ∂

= −∂

(3.4)

となり,偏微分した式に,他のパラメータが含まれているので, 小 2 乗推定量,

2 20 1 2

1 1

ˆ ˆˆ( ) { ( )}n n

T i i i ii i

S y y y y xβ β= =

= − = − − −∑ ∑ (3.5)

は,パラメータに関して線形ではなくなり,正規方程式を立てることができないために,線形回帰の解析法

が使えない.ちなみに,式(3.1)を,パラメータで偏微分した式は,

0

1iyβ∂

=∂ ,

1

ii

y xβ∂

=∂

(3.6)

となり,他のパラメータが含まれないので,パラメータに関して線形となり,正規方程式を立てパラメータに

ついて解くことにより,推定値を得ることができる. 非線形回帰は,正規方程式を立てずに,パラメータを逐次的に変化させ,誤差平方和を 小化する方

法として知られている.非線形回帰の解析法は,非線形式のみならず線形式に対しても適用でき,式(3.1)

に対しても式(3.3)に対しても,解析手順も結果は同じである. 3.2. 非線形回帰の手順

線形式と同様に,非線形式でも,第 1 段階「パラメータの推定」,第 2 段階「パラメータの分散

の推定」,第 3 段階「95%信頼区間などの推定」などのように分けて考えると理解しやすい. 1)パラメータの推定

与えられたデータ iy に対し,何らかの方法で推定された推定値を ˆiy としたときに,誤差平方和を,次のよ

うに定義する.

2

1

ˆ( )n

T i ii

S y y=

= −∑ (3.7)

線形回帰の場合であれば,推定された( 0β , 1β )を用いて,

0 1ˆ ˆˆi iy xβ β= + (3.8)

を計算し,事後的に誤差平方和 TS を求める.非線形回帰の場合は,おおよそのパラメータの推定値

( (0)0β , (0)

1β )を与えて得られた推定値 (0)ˆiy を計算し,とりあえず残差を計算し,

(0) (0) (0) (0)0 1

ˆ ˆˆ ˆ( )i i i i iy x y yε β β= − + = − (3.9)

として,誤差平方和 (0)TS を計算する.

この誤差平方を小さくするような,変化量 (0)0δ と (0)

1δ を何らかの方法*(注) で推定し,

(1) (0) (0)0 0 0

ˆ ˆβ β δ= + (1) (0) (0)1 1 1

ˆ ˆβ β δ= + (3.10)

のようにパラメータに (0)0δ と (0)

1δ を加える.同様な手順を繰り返して,変化量が ( )0 0mδ = と ( )

1 0mδ = となった

時点で反復計算を終わりにする. も基本的な解析方法は,パラメータで偏微分した式を用いて,全てのデータについて微係数

00

ii

yzβ∂

=∂ , 1

1

ii

yzβ∂

=∂ , 1,2,...,i n= (3.11)

を計算する.この微係数を行列 Z としたときに,取りあえずの残差 (0)ε に対する次の線形式

(0) 1 (0)ˆ( ) T−= Tδ Z Z Z ε (3.12)

Page 6: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

6

で,変化量 (0)δ を計算する. *(注) 「何らかの方法」としたのは,さまざまな数値計算法があるが, 終的なパラメータ推定値は一致

する.統計では,得られたパラメータとその共分散分行列から,さまざまな推論をするのが目的である.した

がって,変化量 (0)0δ と (0)

1δ を小さくする計算アルゴリズムは,統計の本質的課題ではないため「何らかの方

法」とした. 2)分散共分散行列の推定

パラメータを偏微分した微係数行列 Z は,線形モデルでのデザイン行列 X と同様の性質を持つ.誤差

分散の推定値を 2ˆeσ としたときに,変化量が ( )0 0mδ = と ( )

1 0mδ = となった時の誤差平方和は,

( ) ( ) ( )ˆ ˆTm m mTS = ε ε (3.13)

となり,誤差分散と,分散共分散行列 Σ は,

( )

2ˆ2

mT

eSn

σ =−

, 1 2ˆ( )Teσ

−=Σ Z Z (3.14)

となる.これを元に,線形回帰の場合と同様に各種の分散が推定できる. 3)各種の推定

線形回帰の場合に直線上の推定値 ˆiy の分散 ˆ( )iVar y は,

ˆ( ) Ti i iVar y = x Σx

となる.非線形の場合は,微係数行列 Zの行方向のベクトル iz を用いて,

ˆ( ) Ti i iVar y = z Σz (3.15)

で求められる.回帰の 95%信頼区間,および,個別データの 95%信頼区間も,線形回帰の場合と同様に

回帰: ˆ ˆ( ,0.05) ( )i iy t f Var y± , 個別: 2ˆ ˆ ˆ( ,0.05) ( )i i ey t f Var y σ± +

となり,線形回帰の場合と同じ式で求められる.

表 3.1 線形および非線形回帰の比較

線形回帰 非線形回帰 1)パラメータの推定 1ˆ ( )T T−=β X X X y (0) 1 (0)ˆ ˆ( ) T−= Tδ Z Z Z ε (1) (0) (0)ˆ ˆ= +β β δ (1) 1 (1)ˆ ˆ( ) T−= Tδ Z Z Z ε (2) (1) (1)ˆ ˆ= +β β δ : 2)分散共分散行列の推定 1 2ˆ( )T

eσ−=Σ X X 1 2ˆ( )T

eσ−=Σ Z Z

3)推定値 ˆiy の分散 ˆ( ) Ti i iVar y = x Σx ˆ( ) T

i i iVar y = z Σ z

回帰の 95% CL ˆ ˆ( ,0.05) ( )i iy t f Var y± ˆ ˆ( ,0.05) ( )i iy t f Var y±

個別データの 95% CL 2ˆ ˆ ˆ( ,0.05) ( )i i ey t f Var y σ± + 2ˆ ˆ ˆ( ,0.05) ( )i i ey t f Var y σ± + このように線形回帰と非線形回帰を比較してみると,1)パラメータの推定方法が異なり,2)デザイン行列

X を微係数行列 Zに置き換え,3)推定値 ˆiy の分散の推定は,デザイン行列のベクトル ix ,微係数 Z 行列

Page 7: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

7

のベクトル iz と異なるが,95%信頼区間は同じ式となる.

非線形回帰の普及の阻害要因は,「1)パラメータの推定」にある.この過程を Excel のシート上で見える

ようし,誰にでも初期値を変え,簡単な手作業によって逐次計算の過程が追えることが,身近な問題に対

する非線形回帰の適用する糸口となる. 3.3. 線形式を非線形回帰の手順で

第 2 章では,5 組のデータ (x, y)=(1, 0),(1, 2),(2, 3),(3, 4),(3, 6) について,

0 1i i iy xβ β ε= + + , 2~ (0, )i eNε σ , 1,2,...,5i = (3.16)

の線形回帰式の誤差 iε が互いに独立に平均,分散が 2eσ の正規分布に従うと仮定し, 小 2 乗法によって

回帰分析を行ない,Excel の行列関数を用いて回帰パラメータ( 0ˆ 1.0β = − , 1 2.0β = ),分散 2ˆ 1.333eσ = が

得られた. 同じデータについて,非線形回帰による解析方法を示す.まず,目の子で引いた回帰直線の切片と傾き

を( (0)0

ˆ 0.80β = − , (0)1 2.15β = )とする.これを用いて,図 3.1 に示すように推定値を ˆ 0.80 2.15i iy x= + で

計算し,誤差平方和を

5(0) (0) (0)

1ˆ ˆ ˆ( ) 5.34

TT i ii

S y y=

= = − =∑ε ε

で求める.式(3.16)をパラメータについて偏微分して,

00

1ii

yzβ∂

= =∂ , 1

1

ii i

yz xβ∂

= =∂

(3.17)

微係数の行列 Z を求める.このように,微係数の行列 Z は,線形式の場合のデザイン行列 X と同じである.

Z を“デザイン行列”とみなし,図 3.1 に示すように誤差 ε を測定値 y の代わりとして,推定したいパラメー

タを δ とした線形回帰を行う.式(2.5)と同様な“回帰式”

(0) 1 (0)ˆ ˆ( ) T−= Tδ Z Z Z ε (3.18)

で, δ の推定値( (0)0 0.2δ = − , (0)

1 0.15δ = − )を得る.この方法は,残差に対する線型化法(linearization)ま

たはテーラー展開法,あるいは,ガウス・ニュートン法ともいわれている

β ^ δ (Z TZ )-1 t 0.05= 3.182 f e= 3n = 5 β 0^= -0.80 -0.20 1.20 -0.50 Σ = 2.136 -0.890p = 2 β 1^= 2.15 -0.15 -0.50 0.25 -0.890 0.445

σ e2 ^ = 1.780

i y X y^ ε z 0 z 11 0 1 1.35 -1.35 1 12 2 1 1.35 0.65 1 13 3 2 3.50 -0.50 1 24 4 3 5.65 -1.65 1 35 6 3 5.65 0.35 1 3

S T = 5.34 図 3.1 Excel シート上での非線形回帰の第 0 ステップでの計算結果

第 0 ステップでの計算結果を 図 3.2 に示す.図 3.2(左)の回帰直線は,やや上側で,一見して残差

平方和が 小となっていないと判断される.図 3.2(中)は,図 3.2(左)の回帰直線に対する残差プロット

で,それに対する回帰直線が示されている.図 3.2(右)が,残差プロットに対する回帰直線のパラメータ

( 0.20, 0.15− − )を( 0.8, 2.15− + )に加えた回帰直線が上書きされている.図 3.2(右)で上書きした回帰直

線は,

Page 8: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

8

(1) (0) (0)0 0 0

ˆ ˆ 0.8 0.2 1.0β β δ= + = − − = − (3.19)

(1) (0) (0)1 1 1

ˆ ˆ 2.15 0.15 2.00β β δ= + = − = (3.20)

で,計算したもので,これを用いて第 1 ステップに移行する.

-5

0

5

10

0 1 2 3 4

-8

-6

-4

-2

0

2

4

6

8

0 1 2 3 4

-5

0

5

10

0 1 2 3 4

図 3.2 第 0 ステップでの残差に対する回帰分析

図 3.3 に 第 1 ステップの結果を反映した結果を示す.残差に対する回帰分析の結果( (1)

0 0.00δ = − ,(1)

1 0.00δ = − )であることが示されている.これは, 適解が得られていること解釈され,第 2 ステップが,もは

や必要ないことを意味する.

β ^ δ (Z TZ )-1 t 0.05= 3.182 f e= 3n = 5 β 0^= -1.00 0.00 1.20 -0.50 Σ = 1.600 -0.667p = 2 β 1^= 2.00 0.00 -0.50 0.25 -0.667 0.333

σ e2 ^ = 1.333

i y X y^ ε z 0 z 11 0 1 1.00 -1.00 1 12 2 1 1.00 1.00 1 13 3 2 3.00 0.00 1 24 4 3 5.00 -1.00 1 35 6 3 5.00 1.00 1 3

S T = 4.00 図 3.3 Excel シート上での非線形回帰の第 1 ステップでの計算結果

図 3.4(左) に第 1 ステップで得られた回帰式,回帰の 95%信頼区間,個別データの信頼区間を示す. 図 3.4(右)は,(左)の回帰分析の残差プロットで,切片が 0,傾きも 0 の直線が示されていて,このステップ

で 適解が得られたことがわかる.

-5

0

5

10

0 1 2 3 4

-8

-6

-4

-2

0

2

4

6

8

0 1 2 3 4

図 3.4 第 1 ステップでの残差に対する回帰分析

等高線図は,X 軸に切片 0β (b0)を Y 軸に傾き 1β (b1)とし,それぞれのパラメータをメッシュ状に変化さ

● 初期値(0)

● 次のパラメータ(1)

増分 δ0 = ‐0.2 増分 δ1 = ‐0.15

(0)ˆ 0.20 0.15xε = − −(0)ˆ 0.8 2.15y x= − +

(1)ˆ 0.0 0.0xε = −(1)ˆ 1.0 2.0y x= − +

(1)ˆ 1.0 2.0y x= − +

x

x

x

x

x

x

Page 9: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

9

せながら残差平方和 TS を計算し, TS に対する等高線図としと結果である. 3.4. NLINプロシジャによる線形回帰

NLIN プロシジャは非線形回帰のみならず線形回帰に対しても適応できる.Excel の行列関数での計算

結果と対応するためには,SAS の線形回帰のための REG プロシジャ,あるいは,GLM プロシジャよりも

NLIN プロシジャが適している.これは,回帰分析系のプロシジャでは,伝統的に“切片”に対応する変数を

内部で補っているが,NLIN プロシジャでは明示的に“切片”に対応する変数を model y = beta0 * X0 + beta1 * x1 ;

のように明示的に与えることができ,Excel の行列関数での計算方法と合わせることができる.

Program 1 NLIN プロシジャによる線形回帰

NLIN プロシジャでは,parameters ステートメントで,初期値を与えなければならないので,散布図か

ら推定されるおおよその値として beta0=-0.8 beta1=2.15 を与えている.パラメータに関する分散

共分散行列 Σ を得るために outest=est01 オプションを指定している.

Output 1.1 反復計算の過程と分散共分散行列

Output 1.1 に示すように,パラメータの推定値は,

0ˆ 1β = − , 1 2β = となり,分散共分散行列 Σ は,

Excel で計算したと同様になる.対角要素から

Σ =

0ˆ( ) 1.600Var β = と 1( ) 0.333Var β = となり,その平方根からパラメータについての SE となり,95%信頼区

間も出力される.

Output 1.2 回帰パラメータの推定値

Page 10: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

10

3.5. 非線形式に対する非線形回帰の適用

式(3.5)で示した非線形式 1 23.5 ( )i i iy xβ β ε= + − + をパラメータ 1β と 2β で偏微分すると次の結果を

得る.

1 21

( )ii i

yz x ββ∂

= = −∂

, 2 12

ii

yz ββ∂

= = −∂

(3.21)

パラメータの初期値 (0)1 1.7β = と (0)

2 2.1β = を式(3.21)に代入し, n 個分のデータについて予測値 (0)ˆiy を計算し,反応率 jy との残差 (0)

iε , (0)1iz , (0)

2iz を計算する.増分に対して,微分係数行列を用いて次の回

帰モデル 1 (0) (0)ˆˆ( ) T− =TZ Z Z ε δ (3.22) で計算し, (0)ˆ [0.30 0.18]T=δ を得る.

β ^ δ (Z TZ )-1 t 0.05= 3.182 f e= 3n = 5 β 1^= 1.70 0.30 0.25 -0.01 Σ = 0.409 -0.024p = 2 β 2^= 2.10 0.18 -0.01 0.07 -0.024 0.115

y 0= 3.50 σ e2 ^ = 1.635

微係数i y X y^ ε z 1 z 21 0 1 1.63 -1.63 -1.10 -1.702 2 1 1.63 0.37 -1.10 -1.703 3 2 3.33 -0.33 -0.10 -1.704 4 3 5.03 -1.03 0.90 -1.705 6 3 5.03 0.97 0.90 -1.70

S T = 4.90 図 3.5 Excel シート上での非線形回帰の第 0 ステップでの計算結果

図 3.6(左)に傾きが (0)

1 1.70β = で, 0 3.5y = と (0)0 2 2.10x β= = を通る直線

(0)1 2

ˆ ˆˆ 3.5 ( ) 3.5 1.70( 2.1) 0.07 1.70i i i iy x x xβ β= + − = + − = − + が示されている.図 3.6(中)は,残差に対する回帰式

(0) (0) (0) (0) (0) (0) (0)

1 1 2 2 1 2 2 1ˆ ˆ ˆ ˆˆ ( )0.30( 2.10) 0.18 1.70 0.936 0.30

i i

i i

z z xx x

ε δ δ δ β δ β= + = − −

= − − × = − +

が示されている.第 0 ステップの (0)ˆiy に (0)iε を加えたのが図 3.6(右)であり,あてはまりが良くなっている.

-5

-3

-1

1

3

5

7

9

11

0 1 2 3 4

-8

-6

-4

-2

0

2

4

6

8

0 1 2 3 4

-5

-3

-1

1

3

5

7

9

11

0 1 2 3 4

図 3.6 第 0 ステップで推定された回帰直線と 95%信頼区間(回帰と個別)

パラメータの第 1 回目の推定値を

(1) (0) (0)1 1 1

ˆ ˆ ˆ 1.7 0.3 2.00β β δ= + = + = , (1) (0) (0)2 2 2

ˆ ˆ ˆ 2.1 0.18 2.28β β δ= + = + = として,図 3.7 に示すように計算をすると, (1)ˆ [0.00 0.03]T= −δ を得る. 第 1 ステップでは,収束していないので,第 2 ステップとして

(2) (1) (1)1 1 1

ˆ ˆ ˆ 2.0 0.0 2.0β β δ= + = + = , (2) (2) (2)2 2 2

ˆ ˆ ˆ 2.28 0.03 2.25β β δ= + = − =

(1)ˆ 0.07 1.70y x= − + (1)ˆ 0.936 0.30xε = −

Page 11: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

11

として計算すると,図 3.8 に示すように増分 (2)δ が 0.00 となり,収束していることがわかる.

β ^ δ (Z TZ )-1 t 0.05= 3.182 f e= 3n = 5 β 1^= 2.00 0.00 0.25 -0.04 Σ = 0.335 -0.047p = 2 β 2^= 2.28 -0.03 -0.04 0.05 -0.047 0.074

σ e2 ^= 1.339

i y X y^ ε z 0 z 11 0 1 0.94 -0.94 -1.28 -2.002 2 1 0.94 1.06 -1.28 -2.003 3 2 2.94 0.06 -0.28 -2.004 4 3 4.94 -0.94 0.72 -2.005 6 3 4.94 1.06 0.72 -2.00

S T = 4.02 図 3.7 Excel シート上での非線形回帰の第 1 ステップでの計算結果

β ^ δ (Z TZ )-1 t 0.05= 3.182 f e= 3n = 5 β 1^= 2.00 0.00 0.25 -0.03 Σ = 0.333 -0.042p = 2 β 2^= 2.25 0.00 -0.03 0.05 -0.042 0.072

σ e2 ^= 1.333

i y X y^ ε z 0 z 11 0 1 1.00 -1.00 -1.25 -2.002 2 1 1.00 1.00 -1.25 -2.003 3 2 3.00 0.00 -0.25 -2.004 4 3 5.00 -1.00 0.75 -2.005 6 3 5.00 1.00 0.75 -2.00

S T = 4.00 図 3.8 Excel シート上での非線形回帰の第 2 ステップでの計算結果

-5

-3

-1

1

3

5

7

9

11

0 1 2 3 4

-8

-6

-4

-2

0

2

4

6

8

0 1 2 3 4

図 3.9 第 2 ステップで推定された回帰直線と 95%信頼区間(回帰と個別)

回帰パラメータの推定値は,第 2 ステップで傾きが (2)

1 2.00β = , 0 3.5y = を通る X 軸の逆推定値(0)2

ˆ 2.25β = が 得 ら れ た . こ れ ら の 分 散 は , 図 3.8 で す で に 計 算 さ れ て い る 分 散 共 分 散 行 列 1 2ˆ( )T

eσ−=Σ Z Z の対角要素で, 1( ) 0.333Var β = , 2

ˆ( ) 0.072Var β = となる.これらより, 表 3.2 に示すようにパラメータについての t 検定をおこなうことができる.

表 3.2 回帰パラメータの推定

k x β k β k ^ Var (β k ^) SE t p1 x 1:傾き β 1 2.000 0.333 0.577 3.4641 0.04052 x 2:逆推定 β 2 2.250 0.072 0.268 8.3925 0.0035

ただし,逆推定値 2β の t 検定は形式的であり,統計量としては,95%信頼区間に意味がある.

回帰: 2 2ˆ ˆ( ,0.05) ( ) (1.397,3.103)t f Varaβ β± = (3.23)

● 初期値(0 ステップ)

● 第 1 回目 ● 第 2 回目

Page 12: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

12

個別: 22 2

ˆ ˆ( ,0.05) ( ) ( 1.523,6.023)et f Varaβ β σ± + = − (3.24)

3.6. NLINプロシジャによる非線形回帰

NLIN プロシジャを用いて,ある 0 3.5y = を与えた非線形式 model y = y0 + beta1 * ( X1 – beta2 ) ;

の回帰パラメータを推定してみよう.初期値として,Excel と同様に, (0)1 1.7β = と (0)

2 2.1β = とする.

Program 2 NLIN プロシジャによる非線形回帰

Output 2.1 反復計算の過程と分散共分散行列

Output 2.1 に示すように,繰返し 1 で (1)

1 2.0β =

と (1)2 2.276β = , 繰 返 し 2 で (2)

1 2.0β = と(2)2 2.25β = で Excel と同様に収束したことが示され

Σ =

ている.分散共分散行列 Σ は,Excel で計算したと同様に出力されている.回帰パラメータについての 95%信頼区間も Excel で計算した場合と同じ結果が得られている.

Output 2.2 回帰パラメータの推定値

Excel で非線形回帰を行うために,非線形式をパラメータで偏微分し,微係数行列 Z を用いたのである

が,NLIN プロシジャでは,偏微分した式を与えていない.これは,偏微分式を与えない場合に,NLIN プロ

シジャ内部で,自動的に偏微分を行うからである.その内部計算の過程を,list オプションで見ることが

できる.非線形式を構文解析してパラメータについて偏微分した式が,示されている. Output 2.3

Page 13: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

13

3.7. 線形回帰で得られたパラメータの比の分散

線形回帰の結果は,一般的に 0x = における Y「切片」と x が 1 増加した場合の y の増分である「傾き」で

表現され,図にした時に理解し説明やすい.多くの実験研究では,制御因子 X として( 1 1x = ,

2 2x = ,...)のように水準を設定し,反応 iy を得る.制御因子 X の増加に伴ない反応が統計的に増加す

ることを期待しているとしよう.あらかじめ設定した期待反応値 0y となる 0x の値とその 95%信頼区間を求め

たいとしよう. 線形式 0 1y xβ β= + に対して線形回帰を行い, 0 3.5y = が得られたとした場合に前節で推定されたパ

ラメータ 0ˆ 1β = − , 1 2β = から逆推定の点推定値,

0 00

1

ˆ 3.5 ( 1)ˆ 2.25ˆ 2yx ββ− − −

= = = (3.25)

を得ることは容易である.しかしながら,その分散はパラメータの比となっているので,式(3.25)を 2 つのパラメー

タで偏微分した式を用いて,合成分散の一般式(デルタ法)で近似的に求める必要がある.

00

0 1

ˆ 1ˆ ˆxzβ β∂ −

= =∂

, 0 0 01 2

1 1

ˆˆ ( )ˆ ˆx yz ββ β∂ − −

= =∂

として,分散共分散行列 Σ について 2 次形式

2 2

0 0 0 00 0 0 1 1

0 0 1 1

ˆ ˆ ˆ ˆˆ ˆ ˆˆ( ) ( ) 2 ( , ) ( )T x x x xVar x Var Cov Varβ β β ββ β β β

⎛ ⎞ ⎛ ⎞∂ ∂ ∂ ∂= = + +⎜ ⎟ ⎜ ⎟∂ ∂ ∂ ∂⎝ ⎠⎝ ⎠zΣz (3.26)

から 0x の分散を推定することができる.

00

0 1

ˆ 1 1 0.5ˆ ˆ 2xzβ β∂ − −

= = = = −∂

, 0 0 01 22

1 1

ˆˆ ( ) (3.5 ( 1)) 1.125ˆ ˆ 2x yz ββ β∂ − − − − −

= = = = −∂

1.6 0.6670.667 0.333

−⎡ ⎤= ⎢ ⎥−⎣ ⎦

Σ

0ˆ( ) TVar x = zΣz = -0.5 -1.125 1.600 -0.667

-0.667 0.333

-0.5-1.125

= 0.072

逆推定の分散は, 0ˆ( ) 0.072Var x = となり,

表 3.2 で示した 2ˆ( ) 0.072Var β = に一致する.このように線形回帰で推定されたパラメータの関数で与えられた

推定値に関して,その分散を推定することができることを示したが,これを実現するためには,自己責任で別途

SAS の DATA ステップで計算プログラムを作成する必要がある.このようなことは,一般的には推奨できないの

で,線形式を非線形式に変換して NLIN プロシジャで直接推定することを薦める.

4. 切片が共通な 2 本の回帰直線

4.1. 線形式によるパラメータの推定

傾きが異なる 2 本の回帰直線が,共通の切片 0β を持つとした場合,

1 0 1 1 1j j jy xβ β ε= + + (4.1)

2 0 2 2 2j j jy xβ β ε= + + (4.2)

小 2 乗法で共通の切片 0β ,2 つの傾き 1β , 2β を同時に推定したい.式(4.1)および式(4.2)を 0 0 1 1 2 2ij j j ijy x x xβ β β ε= + + + , (4.3)

Page 14: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

14

ただし, 0 1x = , 1 0jx = (if 2i = ), 2 0jx = (if 1i = ), のように変数 1 jx および 2 jx に上記のように条件をつけ 1 つの線形式とする. この 3 変数について線形回帰の計算式によってパラメータ 0β , 1β , 2β を同時指定する.この推定値を

用いて誤差分散を次式で求め,これから分散共分散行列を求める. Σ の対角要素が,各パラメータの分

散の推定値になることから, 表 4.1 に示すように回帰パラメータの SE の推定が行なえる.

X

i j y x 0 x 1j x 2j1 1 5 1 1 01 2 7 1 1 01 3 8 1 2 01 4 9 1 3 01 5 11 1 3 02 1 5 1 0 22 2 7 1 0 22 3 8 1 0 42 4 9 1 0 62 5 11 1 0 6

(X TX )-1 X T y = β^0.600 -0.250 -0.125 1 1 1 1 1 1 1 1 1 1 5 4.00

-0.250 0.146 0.052 1 1 2 3 3 0 0 0 0 0 7 2.00-0.125 0.052 0.036 0 0 0 0 0 2 2 4 6 6 8 1.00

9115789

(3x3) (3x10) (10x1) (3x1)

ˆˆ ˆ= − = −ε y y y Xβ , ˆ ˆTTS = ε ε , 2 8ˆ 1.143

10 3T

eS

n pσ = = =

− −

1 2ˆ( )Teσ

−=Σ X X = 0.686 -0.286 -0.143

-0.286 0.167 0.060-0.143 0.060 0.042

表 4.1 回帰パラメータの推定

k x β k β k ^ Var (β k ^) SE L 95% U 95%0 x 0:切片 β 0 4.000 0.686 0.828 2.042 5.9581 x 1j :傾き β 1 2.000 0.167 0.408 1.035 2.9652 x 2j :傾き β 2 1.000 0.042 0.204 0.517 1.483

さて,この 2 本の回帰直線の傾きの比 2 1/ 1/ 2 0.5ρ β β= = = により比較を行ない,それらの 95%信頼

区間から統計的な検討を行ないたい.比 ρ をそれぞれのパラメータで偏微分すると,

00

0z ρβ∂

= =∂

, 21 2 2

1 1

1 0.252

z βρβ β∂

= = − = − = −∂

, 22 1

1 0.5z ρβ β∂

= = =∂

となるので,合成分散 ( )Var ρ は, 0 0z = なので 1 行目と 1 列目を落として,

[ ] 0.167 0.060 0.25( ) 0.25 0.5 0.00595

0.060 0.042 0.5Var ρ

−⎡ ⎤ ⎡ ⎤= − =⎢ ⎥ ⎢ ⎥

⎣ ⎦ ⎣ ⎦

が得られる.95%信頼区間は, 95% (0.05, ) ( ) 0.5 2.365 0.00595 (0.318, 0.682)eCL t f Varρ ρ= ± = ± × =

となり,95%信頼区間が 1 を含まないので 0.5ρ = − は,統計的に有意な差である.

4.2. 線形式の非線形化

傾きの比 2 1/ρ β β= を 2β について解くと 2 1β ρβ= となる.これを 式(4.4)に代入すると,

0 0 1 1 1 2ij ij j j ijy x x xβ β ρβ ε= + + + ,

となり,パラメータで偏微分すると

Page 15: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

15

0 00

1ijyz x

β∂

= = =∂

, 1 1 21

ijj j j

yz x xρ

β∂

= = +∂

, 2 1 2ij

i jy

z xβρ

∂=

∂ (4.4)

となり,他のパラメータが残ってしまい,線形回帰を行なうための正規方程式を立てることができないので,

線形回帰の解析法を適用できない.そこで,これまで示してきた 2 パラメータについての非線形回帰を 3 パ

ラメータに拡張する.

パラメータの初期値 (0)1 5.0β = , (0)

2 1.5β = . (0) 0.4ρ = を式(4.6),(4.7),(4.8)に代入し, n 個分のデー

タについて予測値 (0)ˆijy を計算し,反応率 ijy との残差 (0)ijε ,微係数 (0)

0 jz , (0)1 jz , (0)

2 jz を計算する.残差に

対して,微係数行列を用いて次の回帰モデル 1 (0) (0)ˆˆ( ) T− =TZ Z Z ε δ (4.5) で計算し, (0)ˆ [ 1.00 0.50 0.13]T= −δ を得る.

(Z TZ )-1 β ^ δ β^+δ t 0.05= 2.365 f e= 7

n = 10 0.60 -0.25 -0.02 β 0^= 5.00 -1.00 4.00 Σ = 1.145 -0.477 -0.032p = 3 -0.25 0.15 0.00 β 1^= 1.50 0.50 2.00 -0.477 0.278 -0.008

-0.02 0.00 0.01 ρ = 0.40 0.13 0.53 -0.032 -0.008 0.015σ e

2 ^= 1.909X

i j y x 0 x 1j x 2j y^ ε^ zδ y^+zδ z 0j z 1j z 2j

1 1 5 1 1 0 6.5 -1.5 -0.50 6.00 1.00 1.00 0.001 2 7 1 1 0 6.5 0.5 -0.50 6.00 1.00 1.00 0.001 3 8 1 2 0 8.0 0.0 0.00 8.00 1.00 2.00 0.001 4 9 1 3 0 9.5 -0.5 0.50 10.00 1.00 3.00 0.001 5 11 1 3 0 9.5 1.5 0.50 10.00 1.00 3.00 0.002 1 5 1 0 2 6.2 -1.2 -0.20 6.00 1.00 0.80 3.002 2 7 1 0 2 6.2 0.8 -0.20 6.00 1.00 0.80 3.002 3 8 1 0 4 7.4 0.6 0.60 8.00 1.00 1.60 6.002 4 9 1 0 6 8.6 0.4 1.40 10.00 1.00 2.40 9.002 5 11 1 0 6 8.6 2.4 1.40 10.00 1.00 2.40 9.00

S e = 13.36 図 4.1 Excel シート上での非線形回帰の第 0 ステップでの計算結果

図 4.2 (左)に切片が (0)

0 5.0β = ,傾きが (0)1 1.5β = と傾きが (0)

1 0.4 1.5 0.6ρβ = × = の 2 本の直線が描かれ

ている.残差に対する回帰パラメータは (0)δ として計算されているが,これは,微係数行列 Zに対する

0

5

10

15

0 1 2 3 4 5 6 7 -4

-3

-2

-1

0

1

2

3

4

0 1 2 3 4 5 6 7

0

5

10

15

0 1 2 3 4 5 6 7 図 4.2 第 0 ステップで推定された回帰直線・残差プロット・調整後の回帰直線

ものなので,元の xのスケールの回帰パラメータに戻すために,次の計算をする.

(0) (0) (0) (0)0 0 1 1 2 2

(0) (0) (0) (0) (0) (0)0 1 1 1 2 1 2

1 2

1 2

ˆ ˆ ˆ ˆ

ˆ ˆ ˆ ˆ( )

1.0 0.5 (0.5 0.4 0.13 1.5)

1.0 0.5 0.3925

j j

j j

j j

j j

z z z

x x

x x

x x

δ δ δ

δ δ δ ρ δ β

= + +

= + + +

= − + + × + ×

= − + +

図 4.2(中)は,切片が 1.0− , 1 jx に対する傾きが 0.5 , 2 jx に対する傾きが 0.3925 の 2 本の直線が描

残差に対する回帰直線 おおよその回帰直線 調整後の回帰直線

Page 16: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

16

かれている.図 4.2(右)は,パラメータの初期値 (0)β に増分 (0)δ を加えた回帰パラメータで,切片(1)0 5.0 1.0 4.0β = − = ,傾き (1)

1 1.5 0.5 2.0β = + = , (1) (1) (1)2 1 0.53 2.0 1.06β ρ β= = × = であり,あてはまりが良く

なっている. パラメータの初期値に増分 (0)δ を加え第 1 ステップの (1)

0 5.0 1.0 4.0β = − = , (1)2 1.5 0.5 2.0β = + = ,

(1) 0.4 0.13 0.53ρ = + = を得るので,Excel シート上に入力し直し,図 4.3 に示すように,第 2 ステップでの

推定値とし, (1)ˆ [0.00 0.00 0.03]T= −δ を得る.

β ^ δ β^+δβ 0^= 4.00 0.00 4.00β 1^= 2.00 0.00 2.00ρ = 0.53 -0.03 0.50

図 4.3 第 1 ステップで推定されたパラメータの増分

0

5

10

15

0 1 2 3 4 5 6 7 -4

-3

-2

-1

0

1

2

3

4

0 1 2 3 4 5 6 7

0

5

10

15

0 1 2 3 4 5 6 7 図 4.4 第 1 ステップで推定された回帰直線・残差プロット・調整後の回帰直線

第 2 ステップで (2) (1) (1)ˆ= +β β δ これらを加えて図 4.5 を得る.増分 (2)δ が全て 0 となったので,ここで,

収束したと判断する.

β^ δ β^+δ t 0.05= 2.365 f e= 7β 0^= 4.00 0.00 4.00 Σ = 0.686 -0.286 0.000β 1^= 2.00 0.00 2.00 -0.286 0.167 -0.012ρ = 0.50 0.00 0.50 0.000 -0.012 0.006

σ e2 ^ = 1.143

図 4.5 第 2 ステップで推定されたパラメータの増分

分散共分散行列 Σ の対角要素がそれぞれのパラメータの分散になるので,それらの 95%信頼区間を計

算した結果を 表 4.2 に示す.切片 0β と傾き 1β とについて,表 4.1 と同じ結果となる.また比 ρ の信頼区間は,比 ρ をそ

れぞれのパラメータで偏微分して合成分散で求めた(0.318,0.682)と一致する.

表 4.2 傾きの推定値

k x β k β k ^ Var (β k ^) SE L 95% U 95%0 x 0:切片 β 0 4.000 0.686 0.828 2.042 5.9581 x 1j :傾き β 1 2.000 0.167 0.408 1.035 2.9652 比 ρ 0.500 0.006 0.077 0.318 0.682

Excel で比 ρ の信頼区間を求めるための計算量は,線形回帰に引き続き合成分散で求めた方が計算は

容易であり,非線形回帰を用いる必要性はないと思われるだろう.ただし,結果の再現性の観点から,

Excel での計算は常に計算ミスが誘発されやすく,その原因を特定することが困難であり,実務で使うことは

おおよその回帰直線 残差に対する回帰直線 調整後の回帰直線

Page 17: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

17

まったく薦められない.困ったことに,線形回帰のための統計ソフトには,推定された回帰パラメータの比の

0

5

10

15

0 1 2 3 4 5 6 7 -4

-3

-2

-1

0

1

2

3

4

0 1 2 3 4 5 6 7

図 4.6 第 2 ステップで推定された回帰直線(95%信頼区間は外側のみ)

などの分散を合成分散の一般式をサポートしている統計ソフトを見出すことができない.非線形回帰のため

の統計ソフトには,非線形式をパラメータで偏微分する機能を持つようになり,比を直接推定できるように線

形式を非線形式に式変換して,非線形回帰のための統計ソフトを使って計算することを強く薦める. Excel をもちいて,計算手順を詳細に示したのは,非線形回帰の本質をしっかりと理解することにより,さ

まざまな応用問題にチャレンジするための基礎をしっかりと学んでもらいたいからである.また,統計ソフトを

用いた非線形回帰は,ブラック・ボックス的であり,c 言語などを用いてプログラミングする際の数値例として

使ってもらいたいためでもある.NLIN プロシジャでのプログラミング,結果の出力を次に示す.Excel での

結果と一致している.

Program 3 切片が共通な非線形回帰

Output 3.1 パラメータで微分した式

Output 3.2 回帰パラメータの推定値

推定された回帰直線 残差に対する回帰直線

は,X 軸上となってい

Page 18: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

18

Output 3.3 パラメータの収束過程および分散共分散行列

5. 傾きが共通な 2 つの回帰直線

5.1. Y方向の差,X軸方向の差

共通の傾き 1β を持つが,切片が S 群では Sβ ,T 群では Tβ と異なる 2 つの回帰直線のあてはめを

考えよう.

S 群, 1i = : 1 1 1 1j S S j jy x xβ β ε= + + , 11,2,...,j n= (5.1) T 群, 2i = : 2 1 2 2j T T j jy x xβ β ε= + + , 21,2,...,j n= (5.2) 線形回帰で 2 つの切片 Sβ , Tβ ,共通の傾き 1β を同時に推定したい.そのために,2 つの式(5.1),式(5.2)を次のように,他の群のデータの場合に Sx , Tx が 0 となるような条件を付け,1 つの式

にまとめる. 1ij S S T T ij ijy x x xβ β β ε= + + + , 1,2i = , 1,..., ij n= , (5.3)

ただし, 1Sx = (if 1i = ), 0Sx = (if 2i = ), 0Tx = (if 1i = ), 1Sx = (if 2i = ), 行列表現で現すと次のように表すことができる.

X β = y

i j x S x T x ij y ij

1 1 1 0 x 11 β S y 11

1 2 1 0 x 12 β T y 12

: : : : β 1 :1 n 1 1 0 x 1,n 1 y 1,n 1

2 1 0 1 x 21 y 21

2 2 0 1 x 22 y 22

: : : : :2 n 2 0 1 x 2,n 2 y 2,n 1

(N ×3) (3×1) (N ×1) 図 5.1 傾きが共通な 2 本の回帰式の同時推定

Y 切片の差 ( )Y S T S Tβ β β− = − を, Tβ について解くと ( )T S Y S Tβ β β −= − となる.これを 式(5.3)に

代入すると,次式が得られる.

( ) 1

( ) 1

( )

( )ij S S S Y S T T ij ij

S S T Y S T T ij ij

y x x x

x x x x

β β β β ε

β β β ε−

= + − + +

= + − + + (5.4)

S Tx x+ は,常に 1 なので, ( ) 1ij S Y S T T ij ijy x xβ β β ε−= − + + (5.5)

と簡略化できる.行列表現で現すと,図 5.2 のように現すことができる. 2 つの直線の Y 軸方向の差は ( )Y S Tδ − である.では,X 軸方向の差 ( )X S Tβ − は,共通の傾きを 1β と

Page 19: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

19

したときに, ( ) 1 ( )Y S T X S Tβ β β− −= なので,式(5.5)の ( )Y S Tβ − に代入すると, X β = y

i j x S+x T x T x ij y ij

1 1 1 0 x 11 β S y 11

1 2 1 0 x 12 β Y (S -T ) y 12

: : : : β 1 :1 n 1 1 0 x 1,n 1 y 1,n 1

2 1 1 1 x 21 y 21

2 2 1 1 x 22 y 22

: : : : :2 n 2 1 1 x 2,n 2 y 2,n 1

(N ×3) (3×1) (N ×1) 図 5.2 切片の差 ( )Y S Tβ − を用いた線形式

1 ( ) 1ij S X S T T ij ijy x xβ β β β ε−= − + + , (5.6)

となる.パラメータで偏微分すると,

0 1ijij

S

yz

β∂

= =∂

, 1 1( )

ijij T

X S T

yz xβ

β −

∂= = −∂

, 2 ( )1

ijij X S T T ij

yz x xβ

β −

∂= = − +∂

(5.7)

となり,他のパラメータが残ってしまうので,線形ではなく,非線形となる.したがって,微係数

行列 Zを用いて,残差 εに対する線形回帰を用いた非線形回帰で解く必要がある. 5.2. 計算事例

S 薬の用量を 2 mg から公比 2 で 3 用量,T 薬は 4 mg から公比 2 で 3 用量として,次に示すよう

に反応 y を得た. Program 4.1 平行線検定のデータセット作成 Output 4.1 解析用データリスト

SAS の NLIN プロシジャで,推定したいパラメータとして,S 薬の切片を betaS,X 軸方向の差

を betaX_S_T,共通の傾きを beta1としてモデル式を次のように設定する. NLIN プロシジャ

で,推定したいパラメータとして,S 薬の切片を betaS,X 軸方向の差を betaX_S_T,共通の傾

きを beta1としてモデル式を次のように設定する.

Program 4.2 NLIN で平行線検定

Page 20: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

20

Output 4.2 パラメータに関してモデル式を偏微分した結果

Output 4.3 パラメータの推定値と 95%信頼区間

Output 4.2 収束の過程と分散共分散行列 Z

0

5

10

15

0 1 2 3 4 5

0

5

10

15

0 4 8 12 16 20 24

図 5.3 log2(dose)およびdoseに対する用量反応関係

5.3. Excelの行列関数を用いたNLINプロシジャの追試

これまで Excel で示してきた非線形回帰の手順で,平行線検定の問題を解いてみよう.パラメータで偏微

分した微係数行列 Zは,式(5.7)から次のようになる.

X β = yi j x S+x T x T x ij y ij

1 1 1 0 x 11 β S y 11

1 2 1 0 x 12 β X (S -T ) y 12

: : : : β 1 :1 n 1 1 0 x 1,n 1 y 1,n 1

2 1 1 1 x 21 y 21

2 2 1 1 x 22 y 22

: : : : :2 n 2 1 1 x 2,n 2 y 2,n 1

Z δ = εi j z 0 z 1 z 2 εij

1 1 1 0 x 11 δ 0 ε 11

1 2 1 0 x 12 δ X (S -T ) ε 12

: : : : δ 1

1 n 1 1 0 x 1,n 1 ε 1,n 1

2 1 1 -β 1 β X (S-T )+x 21 ε 21

2 2 1 -β 1 β X (S-T )+x 22 ε 22

: : : :2 n 2 1 -β 1 β X (S-T )+x 2,n 2 ε 2,n 2

図 5.4 平行線検定のための微係数行列Z

xij : log2(dose) 2xij : dose

( )X S Tβ −

Page 21: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

21

パラメータに適当な推定値を入れ( (0)Sβ , (0)

( )X S Tβ −(0)

1β ) とする.これを用いて,残差 (0)ε に対する回帰パ

ラメータ (0)δ を推定する.

(0) (0) (0) (0) (0) (0)1 ( ) 1( )ij ij ij ij S X S T T ijy y y x xε β β β β−= − = − − +

(0) 1 (0)( ) T−= Tδ Z Z Z ε

推定された (0)δ を (0)β に加えて (1)β とし, (1)ijy を求め,さらに,微係数行列 Zを更新する.

(1) (0) (0)0S Sβ β δ= + , (1) (0) (0)

( ) ( ) 1X S T X S Tβ β δ− −= + , (1) (0) (0)1 1 2β β δ= +

(1) (1) (1) (1) (1)1 ( ) 1ij S X S T T ijy x xβ β β β−= − +

(1)0 1ijz = , (1) (1)

1 1ij Tz xβ= − , (1) (1)2 ( )ij X S T T ijz x xβ −= − +

更新したパラメータ (1)β , ijy の推定値 (1)ijy ,更新した微係数行列 Z を用いて,同様の計算手順で繰り

返す. ( )mδ が 0 となった場合に繰り返しを終了する. これらの計算課程を Excel のシート上に落とし込み,NLIN プロシジャと同じ初期値を与えた結果を図

5.5 に示す. (0)δ として[-1.0,-0.667,-1.0]T が得られたので, (1) (0) (0)= +β β δ の計算結果が示されている

ので,この値を (0)β に上書きして (1)β とする. 図 5.6 に第 1 反復 (1)β =[4,1.333,2]T を与えた結果, (1)δ = [0,-0.333,0]T となるので,これを加え

て ,

(Z TZ )-1 β^ δ t 0.05= 2.365 f e= 7

n = 10 0.7000 0.1000 -0.2500 β 0^= 4.000 0.000 4.000 Σ = 0.800 0.114 -0.286p = 3 0.1000 0.1000 0.0000 β X ^= 1.000 0.000 1.000 0.114 0.114 0.000

-0.2500 0.0000 0.1250 β 1^= 2.000 0.000 2.000 -0.286 0.000 0.143σ e

2 ^= 1.143

図 5.7 に示すように (2)β = [4,1,2]Tを上書きすると (2)δ = [0,0,0]Tとなり,すべて0なので,収束したと

判定する. 平行線検定法

(Z TZ )-1 β^ δ t 0.05= 2.365 f e= 7

n = 10 0.7000 0.1500 -0.2500 β 0^= 5.000 -1.000 4.000 Σ = 6.100 1.307 -2.179p = 3 0.1500 0.0583 -0.0417 β X ^= 2.000 -0.667 1.333 1.307 0.508 -0.363

-0.2500 -0.0417 0.1250 β 1^= 3.000 -1.000 2.000 -2.179 -0.363 1.089σ e

2 ^ = 8.714X

i j y x S+x T x T x ij y^ ε Var (y i ^) z 0 z 1 z 2

1 1 5 1 0 1 2 8.0 -3.0 2.83 1.00 0.00 1.001 2 7 1 0 1 2 8.0 -1.0 2.83 1.00 0.00 1.001 3 8 1 0 2 4 11.0 -3.0 1.74 1.00 0.00 2.001 4 9 1 0 3 8 14.0 -5.0 2.83 1.00 0.00 3.001 5 11 1 0 3 8 14.0 -3.0 2.83 1.00 0.00 3.002 1 5 1 1 2 4 5.0 0.0 2.83 1.00 -3.00 0.002 2 7 1 1 2 4 5.0 2.0 2.83 1.00 -3.00 0.002 3 8 1 1 3 8 8.0 0.0 1.74 1.00 -3.00 1.002 4 9 1 1 4 16 11.0 -2.0 2.83 1.00 -3.00 2.002 5 11 1 1 4 16 11.0 0.0 2.83 1.00 -3.00 2.00

S e = 61.00 図 5.5 Excel による非線形回帰の初期値[5,2,3]T を与えた計算シート

(Z TZ )-1 β^ δ t 0.05= 2.365 f e= 7

n = 10 0.7000 0.1416 -0.2500 β 0^= 4.000 0.000 4.000 Σ = 1.022 0.207 -0.365p = 3 0.1416 0.1035 -0.0208 β X ^= 1.333 -0.333 1.000 0.207 0.151 -0.030

-0.2500 -0.0208 0.1250 β 1^= 2.000 0.000 2.000 -0.365 -0.030 0.182σ e

2 ^= 1.460 図 5.6 第 1 反復[4,1.333,2]T を与えた結果

Page 22: 非線形回帰分析の基礎と応用 - sas.com · ちが,現実の問題で非線形回帰の統計解析について学習したいと思っても,入門書は非常に少ない.古く

22

(Z TZ )-1 β^ δ t 0.05= 2.365 f e= 7

n = 10 0.7000 0.1000 -0.2500 β 0^= 4.000 0.000 4.000 Σ = 0.800 0.114 -0.286p = 3 0.1000 0.1000 0.0000 β X ^= 1.000 0.000 1.000 0.114 0.114 0.000

-0.2500 0.0000 0.1250 β 1^= 2.000 0.000 2.000 -0.286 0.000 0.143σ e

2 ^= 1.143 図 5.7 第 2 反復[4,1,2]T を与え収束

表 5.1 パラメータ推定値

k x β k β k ^ Var (β k ^) SE L 95% U 95%0 x S+x T β S 4.000 0.800 0.894 1.885 6.1151 x T β X (S-T) 1.000 0.114 0.338 0.201 1.7992 x ij β 1 2.000 0.143 0.378 1.106 2.894

6. まとめ

非線形回帰の解析方法は,SAS の NLIN プロシジャで概説されてはいるが,非線形回帰を学習し

ようと思う者にとって難解である.そこで,線形回帰の解析方法と対比しつつ身近な問題について

Excel の行列関数を用いて非線形回帰の解析法の可視化を試みた.非線形回帰を難解にしている反

復計算について,SAS の NLIN プロシジャの反復計算の過程を Excel の計算シート上で手軽に再現

する工夫をした. 身近にあるが線形回帰の問題としては「難解」であっても,非線形に式変換を行ない非線形の問

題として「容易」に解けることを「勾配比検定」,「平行線検定」について示した.これらの事例を

通じて,非線形回帰について理解が深まるものと期待している. さらなる応用として,共通の交点をパラメータとする 2つの直線の同時あてはめ,酵素阻害反応,

薬物動態など本質的に非線形の問題に対しても計算課程の可視化を実現し,この分野へ関心を持つ

人達に対する非線形回帰の入門書として整備を行ないたい.

文献 [1] Draper N.R., Smith N.(1998), Applided Regression Analysis, 3rd ed,115-134,505-565,Wiley. [2] SAS Institute(2011),SAS/STAT 9.3 User’s Gide,5089-5180,Chapter 62 The NLIN procedure.

http://support.sas.com/documentation/cdl/en/statug/63962/PDF/default/statug.pdf (160M) [3] 芳賀敏郎,野澤昌弘,岸本淳司(1996),SAS による回帰分析,161-180,東大出版会. [4] 芳賀敏郎(2010),医薬品開発のための統計解析,第 3 部 非線形モデル,サイエンティスト社.