線形回帰分析 - kurume u...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (intercept) -0.069...

81
1 kawaguchi [email protected] 2005 7 2 – p.1/81

Upload: others

Post on 25-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

線形回帰分析

久留米大学バイオ統計センター第1回公開セミナー

川口淳

kawaguchi [email protected]

2005年 7月 2日

線形回帰分析 – p.1/81

Page 2: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

アウトライン

2.1 線形回帰モデル

2.2 傾きと切片に関する推測

2.2.3回帰直線全体に関する推測

2.3 出力値からの入力値の推定

応用例 薬物用量とAUC

4.4 量的実験要因

線形回帰分析 – p.2/81

Page 3: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

線形回帰モデル

反応変数Xを入力変数Zに関連付けるために仮定された統計モデル

X = α∗ + βZ + e

ただし,

α∗ : Z = 0でのXの期待値 (直線の切片)

β : Zの単位変化あたりのXの平均変化 (直線の傾き)

e : 平均 0,分散 σ2の正規分布に従う確率変数

線形回帰分析 – p.3/81

Page 4: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

表2.1

Z X

1 0.045

2 0.114

4 0.215

6 0.346

7 0.41

8 0.52

10 0.67

15 0.942

Z : 溶液に溶解したアンチモン

のマイクログラム数

X : Beckmannの分光光度計

の示度

線形回帰分析 – p.4/81

Page 5: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (データプロット)

データの読み込み.� �z<-c(1, 2, 4, 6, 7, 8, 10, 15)

x<-c(0.045, 0.114, 0.215, 0.346,

0.410, 0.520, 0.670, 0.942)� �横軸 z,縦軸 xの二次元プロット.� �plot(z,x)

� �

線形回帰分析 – p.5/81

Page 6: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

データプロット

2 4 6 8 10 12 14

0.2

0.4

0.6

0.8

z

x

線形回帰分析 – p.6/81

Page 7: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

最小二乗推定量

n組の観測値 (Z1, X1), . . . , (Zn, Xn)

S2 =n∑

i=1

(Xi − α∗ − βZi)2

を最小にするような a∗,bは次のように与えられる.

b =

(Zi − Z)(Xi − X)∑

(Zi − Z)2

a∗ = X − bZ

線形回帰分析 – p.7/81

Page 8: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (最小二乗推定量)

組み込み関数を使用� �lm(x˜z)

� �アウトプット� �Call:

lm(formula = x ˜ z)

Coefficients:

(Intercept) z

-0.02777 0.06574� �

線形回帰分析 – p.8/81

Page 9: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

SASコード (最小二乗推定量)� �data beckmann;

input z x @@;

datalines;

1 0.045 2 0.114 4 0.215 6 0.346

7 0.410 8 0.520 10 0.670 15 0.942

run;

proc reg data=beckmann;

model x=z ;

run;� �

線形回帰分析 – p.9/81

Page 10: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

SAS結果 (最小二乗推定量)

SASアウトプットの一番下の表

線形回帰分析 – p.10/81

Page 11: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

同値な表現

統計モデルを

X = α + β(Z − Z) + e

と表したとき,αと βの最小二乗推定量は

a = X, b =

(Zi − Z)(Xi − X)∑

(Zi − Z)2

回帰直線はZとXの平均を通る.

aと bは無相関.

線形回帰分析 – p.11/81

Page 12: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

共分散と相関係数

ZとXの共分散の推定量 sZX

sZX =

(Zi − Z)(Xi − X)

n − 1⇒ b =

sZX

sX

ZとXの相関係数の推定量 r (−1 ≤ r ≤ 1)

r =sZX

sZsX⇒ b = r

sX

sZ

ただし,

sZ = 1n−1

(Zi − Z)2,sX = 1n−1

(Xi − X)2

線形回帰分析 – p.12/81

Page 13: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

決定係数

R2 = S2

1−S2

2

S2

1

のことを決定係数と呼ぶ.ただし,

S21 =

(Xi−X)2, S22 =

[Xi−X−b(Zi−Z)]2

決定係数は,データの変動のうち求めた回帰直線が説明できる割合.

他方,

R2 = r2

が成立し,相関係数の二乗と決定係数は一致する.

線形回帰分析 – p.13/81

Page 14: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

測定の信頼性

bは βU,TRZの推定となる.

ただし,

X = U +f, Z = T +e, eと fは無相関確率変数

RZ =σ2

T

σ2T + σ2

e

, RX =σ2

U

σ2U + σ2

f

βU,TはUとV の傾き

傾きの推定量はZの測定信頼度だけに依存する.

Zの信頼度が下がると,傾きは小さくなる.

線形回帰分析 – p.14/81

Page 15: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

eの分散σ2の不偏推定量

誤差分散の推定量は以下のように与えられ,回帰パラメータの推測に用いられる.

s2 =

(Xi − a∗ − bZi)2

n − 2

=

(Xi − X − a∗ − b(Zi − Z))2

n − 2

不偏推定量 (E[s2] = σ2)にするためにn− 2で割る.

線形回帰分析 – p.15/81

Page 16: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

傾きに関する推測 (1)

βの 100(1 − α)%信頼区間

b − tn−2,α/2se(b) ≤ β ≤ b + tn−2,α/2se(b)

ただし,

se(b) =s

(Zi − Z)2

s :誤差分散の推定量の平方根

tν,p:自由度 νの t分布上側 p%点.

線形回帰分析 – p.16/81

Page 17: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

傾きに関する推測 (2)

H0 : β = 0の検定 (有意水準α%)

t =b

se(b)(検定統計量)

t > tn−2,α/2 =⇒ H0 reject

(H0 reject ⇐⇒信頼区間が 0を含まない)

線形回帰分析 – p.17/81

Page 18: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

傾きの検定と相関係数の検定

検定統計量 tに対し,

t =b

se(b)=

r√

n − 2√1 − r2

が成り立つ.

故に

H0 : β = 0 ⇐⇒ H0 : ρ = 0

ただし,ρは真の相関係数を表す.

線形回帰分析 – p.18/81

Page 19: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

切片に関する推測 (1)

α∗の 100(1 − α)%信頼区間

a∗ − tn−2,α/2se(a∗) ≤ α∗ ≤ a∗ + tn−2,α/2se(a

∗)

ただし,

se(a∗) = s

1

n+

Z2

(Zi − Z)2

線形回帰分析 – p.19/81

Page 20: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

切片に関する推測 (2)

H0 : α∗ = 0の検定 (有意水準α%)

t =a∗

se(a∗)

t > tn−2,α/2 =⇒ H0 reject

線形回帰分析 – p.20/81

Page 21: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (傾き・切片に関する検定)

組み込み関数の使用� �coefficients(summary(lm(x˜z)))

� �アウトプット

Estimate Std.Error t value Pr(>|t|)

(Intercept) -0.028 0.017 -1.668 0.146

z 0.066 0.002 31.063 7.39e-08

切片は 0と有意に異なると言えないが,

傾きは 0と有意に異なる.

線形回帰分析 – p.21/81

Page 22: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (傾き・切片の信頼区間)

組み込み関数の使用� �confint(lm(x˜z))

� �アウトプット� �

2.5 % 97.5 %

(Intercept) -0.069 0.013

z 0.061 0.071� �切片の信頼区間は 0を含むが,

傾きのは 0を含まない.

線形回帰分析 – p.22/81

Page 23: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

SASコード (傾き・切片の信頼区間)

オプション (CLB)をつける.� �proc reg data=beckmann;

model x=z / CLB;

run;� �結果

線形回帰分析 – p.23/81

Page 24: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

原点を通ると仮定された直線 (1)

直線が原点を通ると仮定があるときの統計モデル

X = βZ + e

βの最小二乗推定量

β =

ZiXi∑

Z2i

線形回帰分析 – p.24/81

Page 25: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

原点を通ると仮定された直線 (2)

βの 100(1 − α)%信頼区間

β − tn−2,α/2se(β) ≤ β ≤ β + tn−2,α/2se(β)

ただし,

se(β) =v

√∑

Z2i

v =1

n − 1

(Xi − βZi)2

線形回帰分析 – p.25/81

Page 26: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (原点を通る直線)

� �summary(lm(x˜z-1))

confint(lm(x˜z-1))� �アウトプット(一部分)

Estimate Std.Error t value Pr(>|t|)

z 0.063 0.001 49.11 <0.001

信頼区間� �

0.060 ≤ β ≤ 0.066� �

線形回帰分析 – p.26/81

Page 27: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

SASコード (原点を通る直線)

オプション (NOINT)を加える.� �proc reg data=beckmann;

model x=z /NOINT CLB;

run;� �アウトプット(一部分)

線形回帰分析 – p.27/81

Page 28: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰直線に関する推測

あるZ = Z0に対するα∗ + βZ0の 100(1 − α)%信頼区間

a∗ + bZ0 ± tn−2,α/2 × s ×√

1

n+

(Z0 − Z)2

(Zi − Z)2

Z0 = 0のときは,切片の信頼区間と一致する.

線形回帰分析 – p.28/81

Page 29: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰直線全体に関する推測 (考え方1)

Z = Zi (i = 1, 2, . . . )で同時に信頼区間を作りたい.

=⇒多重性の調整 (Bonferroniなど)

または,

P

{a∗ + bZ − (α∗ + βZ)}2

s2(

1n + (Z−Z)2

(Zi−Z)2

) ≤ Mα, ∀Z

= 1−α

なるMαを求める.

線形回帰分析 – p.29/81

Page 30: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰直線全体に関する推測 (考え方2)

同値なことで,

P

max

Z

{a∗ + bZ − (α∗ + βZ)}2

s2(

1n + (Z−Z)2

(Zi−Z)2

) ≤ Mα

= 1 − α

なるMαを求める.

=

(X−E[X])2

σ2/n + (b−β)2

σ2/∑

(Zi−Z)2

s2/σ2∼ 2F2,n−2

となる.

線形回帰分析 – p.30/81

Page 31: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰直線全体に関する推測

α∗ + βZの 100(1 − α)%信頼区間

L(Z∗) < α∗ + βZ < U(Z∗)

ただし,Z∗はある範囲の任意のZの値.

L(Z∗) = X + b(Z∗ − Z) − A(Z∗)

U(Z∗) = X + b(Z∗ − Z) + A(Z∗)

A(Z∗) =

2F2,n−2,αs2

(

1

n+

(Z∗ − Z)2

(Zi − Z)2

)

線形回帰分析 – p.31/81

Page 32: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (問題2.8)その1

� �n<-length(z)

new.z<- seq(2, 12, by=0.02)

ones<-rep(1, length(new.z))

pre.z<-rbind(ones, new.z)

a<-lm(x˜z)$coefficients

plot(new.z, a%*%pre.z, ylim=c(0,1),

type="l", lwd=2, xlab="z", ylab="x")� �

線形回帰分析 – p.32/81

Page 33: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (問題2.8)その2

� �sz<-sum((z-mean(z))ˆ2)

s2<-sum((lm(x˜z)$residuals)ˆ2)/(n-2)

s1<-1/n+(new.z-mean(z))ˆ2/sz

U<-a%*%pre.z+sqrt(2*qf(0.95,2,6)*s2*s1)

L<-a%*%pre.z-sqrt(2*qf(0.95,2,6)*s2*s1)

points(new.z, U, type="l")

points(new.z, L, type="l")

points(z, x)� �

線形回帰分析 – p.33/81

Page 34: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

問題2.8結果

2 4 6 8 10 12

0.0

0.2

0.4

0.6

0.8

1.0

z

x

線形回帰分析 – p.34/81

Page 35: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (点ごとの信頼区間)

� �p.U<-a%*%pre.z+sqrt(qt(0.95,2,6)*s2*s1)

p.L<-a%*%pre.z-sqrt(qt(0.95,2,6)*s2*s1)

points(new.z, p.U, type="l",lty=3)

points(new.z, p.L, type="l",lty=3)� �

線形回帰分析 – p.35/81

Page 36: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

点ごとの信頼区間を重ねて図示

2 4 6 8 10 12

0.0

0.2

0.4

0.6

0.8

1.0

z

x

線形回帰分析 – p.36/81

Page 37: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

出力値からの入力値の推定 (逆補間)

直線のあてはめ際,あらかじめ決められる変数は入力値にする.(表 2.1データではアンチモンの量)

観測されたX(出力値)から未知のZ(入力値)を推定する.

Z = Z +X − X

b

Zの信頼区間 =⇒ Fiellerの定理

線形回帰分析 – p.37/81

Page 38: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Fiellerの定理

U ∼ N(µ, sa1), V ∼ N(ν, sa2),s : 推定分散の平方根

g =t2m,α/2s

2a22

V 2

と定義,g < 1と仮定 (V が 0と有意に異なることと同値).µ/νの 100(1 − α)%信頼区間

1

1 − g

(

U

V± tm,α/2s

V

(1 − g)a21 +

U 2a22

V 2

)

線形回帰分析 – p.38/81

Page 39: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Fiellerの定理の解説

θ = µ/νとするとき,

E[U − θV ] = 0, V [U − θV ] = s2(a21 + θ2a2

2)

θの 100(1 − α)%信頼区間{

θ :(U − θV )2

s2(a21 + θ2a2

2)≤ t2m,α/2

}

この二次不等式は,tm,α/2s2a2

2/V2 < 1であれば,

両側の限界値が求まる.

線形回帰分析 – p.39/81

Page 40: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Zの信頼区間 (Fiellerの定理の適用)

U = X − X,V = bとする.

se(U) = s√

n+1n se(V ) = s√

(Zi−Z)2

⇓ ⇓a2

1 = (n + 1)/n a22 = 1/

(Zi − Z)2

=⇒

g =t2m,α/2s

2a22

V 2=

t2n−2,α/2s2

b2∑

(Zi − Z)2

線形回帰分析 – p.40/81

Page 41: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Zの信頼区間 (Fiellerの定理の適用)

Fiellerの定理に適用すると,E[U ]E[V ] = β(Z−Z)

β = (Z − Z)の 100(1 − α)%信頼区間

X − X

b(1 − g)±tn−2,α/2s

b(1 − g)

(1 − g)(n + 1)

n+

(X − X)2

b2∑

(Zi − Z)2

を得る.

Zを移項すると,Zの100(1−α)%信頼区間になる.

線形回帰分析 – p.41/81

Page 42: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (Zの信頼区間)� �new.x<-0.577

hat.z<-mean(z)+(new.x-mean(x))/a[2]

g1<-s2*(qt(0.975, (length(z)-2)))ˆ2

g2<-a[2]ˆ2*sum((z-mean(z))ˆ2)

g<-g1/g2

m1<-mean(z)+(new.x-mean(x))/(a[2]*(1-g))

m2<-qt(0.975, (n-2))*sqrt(s2)/(a[2]*(1-g))

m31<-((1-g)*(n+1))/(n)

m32<-(new.x-mean(x))ˆ2/(a[2]ˆ2*sz)

m1+m2*sqrt(m31+m32)

m1-m2*sqrt(m31+m32)� �線形回帰分析 – p.42/81

Page 43: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Zの信頼区間 (結果)

Zの予測値� �> hat.z

9.199561� �Zの 95%信頼区間� �> m1+m2*sqrt(m31+m32)

10.24142

> m1-m2*sqrt(m31+m32)

8.189849� �

8.19 ≤ Z ≤ 10.24

線形回帰分析 – p.43/81

Page 44: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

応用例:薬物用量とAUC

AUC(Area Under the bood - level Curve)・・・血中濃度曲線下面積

0 5 10 15 20 25

02

46

810

12

time

conc

entr

atio

ns

Subject 1

0 5 10 15 20 25

02

46

810

12

time

conc

entr

atio

ns

Subject 2

0 5 10 15 20 25

02

46

810

12

time

conc

entr

atio

ns

Subject 3

線形回帰分析 – p.44/81

Page 45: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

データ

SASのNLMIXEDプロシジャのExample(Pinheiro and Bates, 1995)

time(測定時間) conc(血中濃度) dose(薬物用量)

12人が 25時間で 11回計測.

AUCは,RのPKパッケージのAUC関数を用いて計算.

線形回帰分析 – p.45/81

Page 46: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (AUCの計算)� �data<-read.table("AUC_data.txt", header=TRUE)

library(PK)

auc<-matrix(0, 12, 3)

for(i in 1:12)

{auc[i,]<-

AUC(conc=data$CONC[data$SUBJECT==i],

time=data$TIME[data$SUBJECT==i])$AUC}

colnames(auc) <- c("obs","inter","inf")

auc<-data.frame(auc)� �

線形回帰分析 – p.46/81

Page 47: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

モデル

線形単回帰モデル

log(AUC) = α + β log(用量) + ε

冪モデル

AUC = eα(用量)βeε

{

β 6= 1 =⇒ AUCと用量は非線形関係

β = 1 =⇒ AUCと用量は線形関係

線形回帰分析 – p.47/81

Page 48: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

H0 : β = 1の検定

反応変数を log(AUC) − log(用量)にかえて,モデル

log(AUC) − log(用量) = α + β∗ log(用量) + ε

より,β∗を推定して,

H0 : β∗ = 0

の検定を行う.

線形回帰分析 – p.48/81

Page 49: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (直線あてはめ)� �dose<-numeric(0)

for(i in 1:12)

{dose[i]<-data$DOSE[data$SUBJECT==i]}

ones<-rep(1, length(dose))

predictor<-rbind(ones, log(dose))

plot(log(dose), log(auc$inf),

xlab="log(DOSE)",ylab="log(AUC)",ylim=c(4.4, 5.4))

points(log(dose),

lm(log(auc$inf)˜log(dose))$coe%*%predictor,type="l")� �

線形回帰分析 – p.49/81

Page 50: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

直線あてはめ結果

1.2 1.3 1.4 1.5 1.6 1.7

4.4

4.6

4.8

5.0

5.2

5.4

log(DOSE)

log(

AU

C)

log(AUC) = 4.13 + 0.42 log(用量)

線形回帰分析 – p.50/81

Page 51: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (H0 : β = 1の検定)

� �coefficients(summary(

lm((log(auc$inf)-log(dose))˜log(dose))))� �

Estimate Std. Error t value Pr(>|t|)(Intercept) 4.13 0.75 5.47 <0.001

log(dose) −0.58 0.49 −1.17 0.27

従って,傾きは 1と有意に異なると言えない.

線形回帰分析 – p.51/81

Page 52: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (βの信頼区間)

� �confint(lm((log(auc$inf))˜log(dose)))

� �2.5 % 97.5 %

(Intercept) 2.44 5.81

log(dose) −0.68 1.52

線形回帰分析 – p.52/81

Page 53: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (回帰診断)� �plot(lm(log(auc$inf)˜log(dose)))

� �残差プロット・・・データに異常値が含まれているか,誤差の等分散性が満足しているかを調べる.

Q-Qプロット・・・誤差について正規性を満足しているか調べる.

Cookの距離・・・そのデータの回帰パラメータへの影響を調べる.

線形回帰分析 – p.53/81

Page 54: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰診断

4.60 4.70 4.80

0.0

0.5

1.0

1.5

Fitted values

Sta

ndar

dize

d re

sidu

als

Scale-Location plot

1

1011

2 4 6 8 10 12

0.0

0.1

0.2

0.3

0.4

0.5

Obs. number

Coo

k’s

dist

ance

Cook’s distance plot

1

10

6

線形回帰分析 – p.54/81

Page 55: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

直線あてはめ結果 (取り除き後)

1.2 1.3 1.4 1.5 1.6 1.7

4.4

4.6

4.8

5.0

5.2

5.4

log(DOSE)

log(

AU

C)

log(AUC) = 3.59 + 0.73 log(用量)

線形回帰分析 – p.55/81

Page 56: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

H0 : β = 1の検定 (取り除き後)

� �coefficients(summary(

lm((log(auc$inf)[-1]-log(dose)[-1])

˜log(dose)[-1])))� �

Estimate Std. Error t value Pr(>|t|)(Intercept) 3.59 0.48 7.44 <0.001

log(dose)[-1] −0.27 0.31 −0.86 0.41

傾きは 1と有意に異なると言えない.

線形回帰分析 – p.56/81

Page 57: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

βの信頼区間 (取り除き後)

� �confint(

lm((log(auc$inf)[-1])˜log(dose)[-1]))� �

2.5 % 97.5 %

(Intercept) 2.50 4.69

log(dose)[-1] 0.02 1.44

線形回帰分析 – p.57/81

Page 58: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

結果のまとめ

log(AUC) = 4.13 + 0.42 log(用量)

H0 : β = 1は棄却されない.

信頼区間 −0.68 ≤ β ≤ 1.52

AUCと用量は非線形関係とは言えない.

(Subject 1を取り除く)

log(AUC) = 3.59 + 0.73 log(用量)

H0 : β = 1は棄却されない.

信頼区間 0.02 ≤ β ≤ 1.44

AUCと用量は非線形関係とは言えない.

線形回帰分析 – p.58/81

Page 59: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰診断 (Subject1を取り除いた後)

4.5 4.6 4.7 4.8 4.9

0.0

0.2

0.4

0.6

0.8

1.0

1.2

1.4

Fitted values

Sta

ndar

dize

d re

sidu

als

Scale-Location plot

9

810

2 4 6 8 10

0.0

0.5

1.0

1.5

2.0

2.5

Obs. number

Coo

k’s

dist

ance

Cook’s distance plot

8

9

10

線形回帰分析 – p.59/81

Page 60: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

4.4節量的実験要因

表 4.6データX:ラットの病の回復度合いZ:ビタミンDの投与用量

群 用量 (Zi) ni Xi si

1 3.5(0) 10 1.8 1.09

2 7.0(1) 8 3.31 1.63

3 14.0(2) 13 3.42 1.02

Zi = log2(用量/3.5)

si : 各群におけるXの標準偏差

線形回帰分析 – p.60/81

Page 61: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

解析項目

モデルの次数に関する検定

Z2の係数が有意に 0かどうかの検定

Zの係数が有意に 0かどうかの検定

結論

線形回帰分析 – p.61/81

Page 62: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

モデルの次数に関する推測

X ′i : ZiでのXの予測値.(i = 1, 2, . . . , g)

H0 : 真の式は次数が 2次以下

F =

ni(Xi − X ′i)

2

(g − 3)s2

F > Fg−3,ν,α/3 =⇒ H0 reject

表 4.6データでは群が 3つしかないので,

この検定は行わない.

線形回帰分析 – p.62/81

Page 63: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

二次式のあてはめ

XとZが曲線関係と仮定したときの統計モデル

X = α + βZ + γZ2 + ε

誤差分散 (プールした群内の分散)の推定量 s

s2 =

(ni − 1)s2i

(ni − 1)

線形回帰分析 – p.63/81

Page 64: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

最小二乗推定量

最小二乗推定量 a,b,c

a

b

c

= M−1

niXi∑

niXiZi∑

niXiZ2i

ただし,

M =

ni

niZi

niZ2i

niZi

niZ2i

niZ3i

niZ2i

niZ3i

niZ4i

線形回帰分析 – p.64/81

Page 65: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (最小二乗推定量)� �z<-c(0, 1, 2)

n<-c(10, 8, 13)

x<-c(1.80, 3.31, 3.42)

M<-c(sum(n), sum(n*z), sum(n*zˆ2),

sum(n*z), sum(n*zˆ2), sum(n*zˆ3),

sum(n*zˆ2), sum(n*zˆ3), sum(n*zˆ4))

M<-matrix(M, ncol=3)

M2<-c(sum(n*x), sum(n*x*z), sum(n*x*zˆ2))

a<-solve(M)%*%M2� �

線形回帰分析 – p.65/81

Page 66: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (最小二乗推定量:結果)

� �> a

[,1]

[1,] 1.80

[2,] 2.21

[3,] -0.70� �a = 1.80,b = 2.21,c = −0.70

線形回帰分析 – p.66/81

Page 67: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

2次の項の係数に関する推測

H0 : Z2の係数 γ = 0有意水準 (α/2%)

Lc =c

se(c)

ただし,

se(c) = s√

m(3,3),

m(3,3)はM−1の 3行 3列成分

|Lc| > tn−3,α/4 =⇒ H0 reject

線形回帰分析 – p.67/81

Page 68: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (2次の項の係数に関する推測)� �s2<-((n-1)%*%sˆ2)/sum(n-1)

se.c<-sqrt(s2*solve(M)[3,3])

L.c<-a[3]/se.c

p.c<-1-pt(abs(L.c), 28, 0.0125)#p値� �アウトプット� �> p.c

0.089� �H0 : γ = 0は有意水準 0.025%で棄却できない.

線形回帰分析 – p.68/81

Page 69: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰曲線全体に関する推測 (1)

X ′Z : ある値Zにおける反応の期待値

X ′Z = a + bZ + cZ2 = Z

a

b

c

ただし,Z′ = (1, Z, Z2)

線形回帰分析 – p.69/81

Page 70: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰曲線全体に関する推測 (2)

2次式の場合のWorking-Hotelling信頼帯 (信頼度 100(1 − α)%)

X ′Z ±

3F3,n.−g,αse(X ′z)

ただし,

n. =∑

ni

se(X ′Z) = s

√Z′M−1Z

線形回帰分析 – p.70/81

Page 71: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (回帰曲線全体に関する推測)� �new.z<-seq(0, 3, 0.2)

ones<-rep(1, length(new.z))

new.Z<-cbind(ones, new.z, new.zˆ2)

se.X<-sqrt(s2*diag(new.Z%*%solve(M)%*%t(new.Z)))

plot(new.z, new.Z%*%a, ylim=c(0,6),

type="l", xlab="z", ylab="x")

U<-new.Z%*%a+sqrt(3*qf(0.95, 3, sum(n)-3))*se.X

L<-new.Z%*%a-sqrt(3*qf(0.95, 3, sum(n)-3))*se.X

points(new.z, U, type="l")

points(new.z, L, type="l")

points(z, x)

� �

線形回帰分析 – p.71/81

Page 72: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

回帰曲線全体に関する推測:結果

0.0 0.5 1.0 1.5 2.0 2.5 3.0

01

23

45

6

z

x

線形回帰分析 – p.72/81

Page 73: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

一次式のあてはめ

モデル

X = α∗ + βZ + ε

最小二乗推定量

β =

ni(Zi − Z)(Xi − X)∑

ni(Zi − Z)2

α∗ =

niXi − β∑

niZi∑

ni

線形回帰分析 – p.73/81

Page 74: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

一次式の最小二乗推定値� �beta<-((sum(n)*sum(n*x*z)-(sum(n*x))*(sum(n*z)))

/(sum(n)*sum(n*zˆ2)-sum(n*z)ˆ2))

alpha<-((sum(n*x)-beta*sum(n*z))/(sum(n)))� �� �> beta

[1] 0.786

> alpha

[1] 2.007� �

β = 0.786, α∗ = 2.007

線形回帰分析 – p.74/81

Page 75: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

一次式の傾きに関する推測

H0 : β = 0の検定 (有意水準α/2%)

Lβ =β

se(β)

ただし,

se(β) =s√∑

ni√

ni(Zi − Z)2

|Lβ| > tn−3,α/4 =⇒ H0 reject

線形回帰分析 – p.75/81

Page 76: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (一次式の傾きに関する推測)

� �se.beta<-(sqrt((s2*sum(n))/

(sum(n)*sum(n*zˆ2)-sum(n*z)ˆ2)))

L.beta<-beta/se.beta

p.beta<-1-pt(L.beta, 28, 0.0125)� �

線形回帰分析 – p.76/81

Page 77: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

一次式の傾きに関する推測:結果

アウトプット� �> L.beta

3.067

> p.beta

0.002� �H0 : β = 0は有意水準 0.025%で棄却できる.

線形回帰分析 – p.77/81

Page 78: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

Rコード (一次式と二次式の図示)

� �a1<-coefficients(lm(x˜z, weight=n))

ones<-rep(1, length(new.z))

new.Z1<-cbind(ones, new.z)

points(new.z, new.Z1%*%a1, type="l")� �

線形回帰分析 – p.78/81

Page 79: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

一次式と二次式の図示:結果

0.0 0.5 1.0 1.5 2.0 2.5 3.0

01

23

45

6

z

x

線形回帰分析 – p.79/81

Page 80: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

表4.6データの結果のまとめ

二次式ではZ2の係数は有意に 0と異なるとは言えなかった.

一次式ではZの係数は有意に 0と異なると言えた.

一次式のZの係数は正となり,ビタミンDの用量を増やすと回復具合が増す.

用量を増やし続けると飽和状態になる可能性も含め,外挿データ部分については議論は出来ない.

線形回帰分析 – p.80/81

Page 81: 線形回帰分析 - Kurume U...confint(lm(x˜z)) アウトプット 2.5 % 97.5 % (Intercept) -0.069 0.013 z 0.061 0.071 切片の信頼区間は0を含むが,傾きのは0を含まない.

参考文献

J.L.フライス (KR研究会訳) (2004),臨床試験のデザイ

ンと解析,アーム.

RjpWiki,

http://www.okada.jp.org/RWiki/index.php?RjpWiki

Pinheiro, J.C. and Bates, D.M. (1995), "Approximations

to the Log-likelihood Function in the Nonlinear

Mixed-effects Model," Journal of Computational and

Graphical Statistics, 4, 12-35.

線形回帰分析 – p.81/81