30
GAMプロシジャ versus GAMPLプロシジャ Katsuhiro Iba Otsuka Pharmaceutical Co., Ltd. ○伊庭 克拓 1 1 大塚製薬株式会社 新薬開発本部 バイオメトリックス部 統計解析室) GAM Procedure versus GAMPL Procedure

GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

GAMプロシジャ versus GAMPLプロシジャ

Katsuhiro Iba Otsuka Pharmaceutical Co., Ltd.

○伊庭 克拓1

(1大塚製薬株式会社 新薬開発本部 バイオメトリックス部 統計解析室)

GAM Procedure versus GAMPL Procedure

Page 2: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加されたGAMPLプロシジャで一般化加法モデルによる解析を実

行できる。本稿では,両プロシジャの実行方法の説明および実行結果の比較を行う。 キーワード:一般化加法モデル,GAM,GAMPL,平滑化スプライン

2

Page 3: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

コンテンツ

• 一般化加法モデルと平滑化スプライン • 実行例 • 主な仕様の違い • 実行結果の比較 • まとめ

3

Page 4: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

一般化加法モデル (Generalized Additive Model: GAM)

• 一般化線形モデル(Generalized Linear Model: GLM)の拡張

• 応答変数に指数型分布族を仮定 • 平滑化関数の加法モデル

4

𝑔(𝜇𝑖) = 𝜂𝑖 = 𝑠0 + 𝑠1(𝑥𝑖1) + ⋯+ 𝑠𝑝(𝑥𝑖𝑝)

リンク関数 平滑化関数 (平滑化スプライン,LOESS,etc.)

Page 5: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

SASによるGAMを用いた解析 • GAMプロシジャ

– SAS 8.2および9.2より追加(8.1および9.1では評価版で追加)

– Hastie & Tibshiraniの方法を採用 • GAMPLプロシジャ

– SAS 9.4(SAS/STAT 14.1)より追加 – Woodの方法を採用

5

Page 6: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

� 𝑦𝑖 − 𝑠(𝑥𝑖) 2𝑛

𝑖=1

+ 𝜆�𝜕2𝑠(𝑥)𝜕𝑥2

2

𝑑𝑥∞

−∞

• ペナルティ付き残差平方和

• 3次のスプライン関数

平滑化スプライン (Smoothing spline)

6

残差平方和 凸凹ペナルティ

平滑化パラメータ

λを小さくする→当てはまりは良くなるがモデルは複雑になる λを大きくする→当てはまりは悪くなるがモデルは単純になる

𝑠 𝑥 = 𝜃0 + 𝜃1𝑥 +1

12� 𝛿𝑖|𝑥 − 𝑥𝑖|3

𝑛

𝑖=1

未知パラメータ 未知パラメータ

Page 7: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

平滑化パラメータの選択

7

モデルの当てはめに用いたデータ モデルの当てはめに用いていないデータ

誤差の値が異なる同じシミュレーションデータ

当てはめに用いていないデータへの当てはまりを良くする

Page 8: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

GCV(Generalized Cross Validation)基準

• GCV基準

• ハット行列: • 平滑化パラメータの調整 自由度の調整 • Leave-one-out cross validation基準の近似 8

𝑛∑ (𝑦𝑖 − �̂�𝜆(𝑥𝑖))2𝑛𝑖=1𝑛 − tr(𝐇𝝀) 2

モデルの有効自由度(実質的なパラメータ数)

𝐲� = 𝐇𝝀𝐲

Page 9: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

薄板平滑化スプライン (Thin-plate smoothing spline)

• 平滑化スプラインを説明変数が2つ以上に拡張 • ペナルティ付き残差平方和

• 薄板スプライン

9

� 𝑦𝑖 − 𝑠(𝐱𝑖) 2𝑛

𝑖=1

+ 𝜆𝐽𝑚,𝑑(𝑠)

𝑠 x = �𝜃𝑗𝜙𝑗(x)𝑀

𝑗=1

+ �𝛿𝑖𝜂𝑚,𝑑( x − x𝑖 )𝑛

𝑖=1

残差平方和

平滑化パラメータ

凸凹ペナルティ

未知パラメータ

𝑚 + 𝑑 − 1𝑑

Page 10: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

薄板平滑化スプライン (説明変数が2個の場合)

• 凸凹ペナルティ

• 薄板スプライン

• 交互作用を表現できる 10

𝐽2,2(𝑠) = � �𝜕2𝑠(𝑥1, 𝑥2)

𝜕𝑥12

2

+ 2𝜕2𝑠(𝑥1, 𝑥2)𝜕𝑥1𝜕𝑥2

2

+𝜕2𝑠(𝑥1, 𝑥2)

𝜕𝑥22

2∞

−∞𝑑𝑥1𝑑𝑥2

−∞

𝑠 𝑥1, 𝑥2 = 𝜃0 + 𝜃1𝑥1 + 𝜃2𝑥2 + �𝛿𝑖𝑟𝑖2

8𝜋log 𝑟

𝑛

𝑖=1

𝑟 = 𝑥1 − 𝑥𝑖1 2 + 𝑥2 − 𝑥𝑖2 2

Page 11: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

• ペナルティ付き残差平方和

• 固有値分解による低ランク近似

• 最終的に以下の式から を求める

ペナルティ行列の低ランク近似

11

𝐲 − 𝐓𝐓 − 𝐄𝐄 2 + 𝜆𝐄′𝐄𝐄 ペナルティ行列(n×n)

𝐄 ≈ 𝐄𝑘 = 𝐔𝑘𝐃𝑘𝐔𝑘′ 𝐄𝑘 = 𝐔𝑘′ 𝐄

𝐲 − 𝐗𝐗 2 + 𝜆𝐗′𝐒𝐗 𝐗

(GAMPLプロシジャ)

k×k

𝐗� = 𝐗′𝐗 + 𝜆𝐒 −1𝐗′𝐲

Page 12: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

局所評点化法

12

初期化:

調整従属変数 ,重み を求める

初期化:

偏残差 を応答変数とみなし, 重み を用いて を求める

すべての が変化しなくなるまで反復

収束するまで反復

後退当てはめ法

j=1 to p

j=pまで繰り返す

局所評点化法 後退当てはめ法

(GAMプロシジャ)

𝑧 = 𝜂 + 𝑦 − 𝜇 ∙𝜕𝜂𝜕𝜇

𝑤 = 𝑉 −1 ∙𝜕𝜇𝜕𝜂

2

𝑅𝑗 = 𝑧 − 𝑠0 −� 𝑠𝑘

𝑗−1

𝑘=1−� 𝑠𝑘

𝑝

𝑘=𝑗+1

調整従属変数

重み 偏残差

𝑧 𝑤

𝑅𝑗 𝑤 𝑠𝑗

𝑠𝑗

𝑠10 = ⋯ = 𝑠𝑝0 = 0 𝑠0 = 𝑔 𝑦� , 𝑠10 = ⋯ = 𝑠𝑝0 = 0

Page 13: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

局所評点化法 • GLMの反復重み付き最小二乗法(Iteratively

Reweighted Least Squares: IRLS)の各反復で重み付きの後退当てはめ法を適用

• 各平滑項に異なる手法(例えば,平滑化スプラインとLOESS)を適用することもできる

• GAMプロシジャの平滑化パラメータの自動選択機能を行うと収束しないことがある

13

(GAMプロシジャ)

Page 14: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

Performance iteration法

14

(GAMPLプロシジャ)

平滑化パラメータ,回帰パラメータの初期化

調整従属変数 ,重み を求める

平滑化パラメータを最適化する

回帰パラメータを求める

収束するまで反復

Performance iteration法

𝐖 𝐳− 𝐗𝐗2

+ 𝐗′𝐒𝝀𝐗

GCV基準 or UBRE基準を目的関数として数値最適化

𝑛 𝐲 − 𝐇𝝀𝐲 2

tr 𝐈 − 𝐇𝝀2 ,

1𝑛 𝐲 − 𝐇𝝀𝐲 2 −

2𝑛 𝜎

2tr 𝐈 − 𝐇𝝀2 + 𝜎2

GCV基準 UBRE基準

𝑧 𝑤

𝟎 𝟎𝟎 𝜆1𝐒1

⋯ 𝟎𝟎

⋮ ⋮𝟎 𝟎

⋱ ⋮⋯ 𝜆𝑝𝐒𝑝

X0: X1:⋯ : X𝑝

Page 15: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

脊柱後湾症データ (SAS/STAT User’s Guide Example 41.1)

• 応答変数: – 脊柱後湾症の有無(Kyphosis;1=あり,0=なし)

• 説明変数: – 手術時の月齢(Age) – 何番目の脊椎から先を手術したか(StartVert) – 手術した脊椎の個数(NumVert)

15

Page 16: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

プログラム例

16

ods graphics on; proc gam data=kyphosis plots=components(additive clm); model Kyphosis(event='1') = spline(Age) spline(StartVert) spline(NumVert) / dist=binomial method=gcv; run; proc gampl data=kyphosis plots; model Kyphosis(event='1') = spline(Age) spline(StartVert) spline(NumVert) / dist=binomial; run;

①:応答変数 ②:説明変数と説明変数に仮定する効果 ③:応答変数の分布の指定 ④:説明変数の効果をグラフで表示するための指定 ⑤:平滑化パラメータの自動選択(GAMPLプロシジャはデフォルトで Performance iteration法による自動選択を行う)

Page 17: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

17

GAMプロシジャの出力

線形項の結果

平滑項の結果

平滑項に対する検定 (非線形効果の有無)

線形項を分離

Page 18: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

18

GAMPLプロシジャの出力

線形項の結果

平滑項の結果

平滑項に対する検定 (平滑項の寄与)

Page 19: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

手術時の月齢の効果

19

(GAMプロシジャ) (GAMPLプロシジャ)

Page 20: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

GAMプロシジャとGAMPLプロシジャ の仕様の主な違い1

20

GAMプロシジャ GAMPLプロシジャ

平滑項 ・平滑化スプライン ・薄板平滑化スプライン (2変数のみ) ・LOESS

・平滑化スプライン ・薄板平滑化スプライン (2変数以上)

当てはめ方法 局所評点化法 ペナルティ付き反復重み付き最小二乗法1

平滑化パラメータの探索 可能: 探索方法は不明

可能: ・Performance iteration法 ・Outer iteration法2

平滑化パラメータの評価基準 平滑項ごとのGCV基準 モデル全体のGCV/UBRE/ GACV基準

負の二項分布 サポートしていない サポートしている

リンク関数 正準リンク関数のみ 変更できる

(SAS/STAT14.1時点)

1: もしくはペナルティ付き最尤法 2: SAS/STAT14.1では評価版(Experimental)

Page 21: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

GAMプロシジャとGAMPLプロシジャ の仕様の主な違い2

21

GAMプロシジャ GAMPLプロシジャ

平滑項から線形項を 分離する [s(x)→βx + s*(x)にする]

分離しない [s(x)をそのまま用いる]

平滑項に対する検定 非線形効果の有無 平滑項のモデルへの寄与

平滑化スプラインのノット ユニークなデータ値 ユニークなデータ値 ただし,2000個を超えると無作為抽出(変更可)

ペナルティ行列 そのまま 低ランク近似

平滑化スプラインの指定 自由度のみ指定可能 色々と細かく指定可能

SAS High-Performance Analytics 対応していない 対応している

(SAS/STAT14.1時点)

Page 22: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

実行結果の比較

• SAS/STAT 14.1 User’s Guideの両プロシジャのExampleの解析を双方のプロシジャで実行

• モデルの当てはめ結果 – モデルの自由度,逸脱度,GCV逸脱度

• 実行時間 – 処理時間(秒),CPU時間(秒)

22

𝑛𝑛(𝝁)tr 𝐈 − 𝐇𝝀

2 逸脱度

n-モデルの自由度

GCV逸脱度:

Page 23: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

用いたデータ データ 引用元 Obs数 分布 説明変数の数 DIAB Getting Started:

GAM Procedure 43 正規 2個

KYPHO Example 41.1 83 ベルヌーイ 3個 EQUIP Example 41.2 48 ポアソン 1個 YIELD Example 41.3 112 正規 2個 VOTE Getting Started:

GAMPL Procedure 3107 正規 6個

LIDAR Example 42.1 221 正規 1個 PIMA Example 42.2 532 ベルヌーイ 7個 MACK Example 42.3 634 ポアソン 4個

23

Page 24: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

各データのモデル

24

データ モデル

DIAB s(x1)+s(x2) KYPHO s(x1)+s(x2)+s(x3) EQUIP s(x1) YIELD s(x1,x2) VOTE s(x1)+s(x2)+s(x3)+s(x4)+s(x5,x6) LIDAR s(x1) PIMA s(x1)+s(x2)+s(x3)+s(x4)+s(x5)+s(x6)+s(x7) MACK s(x1,x2)+s(x3)+s(x4)+offset

s(x):平滑化スプライン,s(x1,x2):薄板平滑化スプライン

Page 25: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

結果:実行時間

25

データ Obs数 説明変数の数 処理/CPU時間(秒) GAM GAMPL

DIAB 43 2個 0.27 / 0.01 0.56 / 0.14 KYPHO 83 3個 NA 0.12 / 0.14 EQUIP 48 1個 0.04 / 0.04 0.04 / 0.01 YIELD 112 2個 0.07 / 0.06 0.31 / 0.25 VOTE 3107 6個 NA 4.22 / 10.99 LIDAR 221 1個 0.04 / 0.04 0.07 / 0.09 PIMA 532 7個 NA 0.54 / 0.59 MACK 634 4個 NA 2.63 / 2.20

青字:局所評点化法が収束せず 赤字:計算終わらず

Page 26: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

結果:実行時間

26

• 小さいデータセットでは,GAMプロシジャの方が速い傾向(体感できる差なし)

• 大きいデータセット,特に薄板平滑化スプラインを使用した場合,GAMプロシジャは計算が終わらない可能性がある

• GAMプロシジャで平滑化パラメータの自動選

択を行うと局所評点化法が収束しない可能性がある

Page 27: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

結果:当てはまり

27

データ 自由度 逸脱度 GCV逸脱度

GAM GAMPL GAM GAMPL GAM GAMPL DIAB 10.94 9.70 0.36 0.38 0.01523 0.01480 KYPHO 6.33 6.13 51.21 51.21 0.7231 0.7193 EQUIP 3.88 3.89 56.90 56.10 1.403 1.384 YIELD 23.28 21.84 62.15 64.73 0.8844 0.8918 VOTE NA 66.03 NA 28.50 NA 0.009576 LIDAR 9.04 9.00 1.34 1.33 0.006596 0.006537 PIMA 15.99 22.91 431.77 424.17 0.8627 0.8707 MACK NA 54.18 NA 3848.33 NA 7.257

青字:局所評点化法が収束せず 赤字:計算終わらず

Page 28: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

結果:当てはまり

28

• GAMPLプロシジャの方が自由度が若干小さくなる傾向(逸脱度は若干大きくなる傾向)

• GCV逸脱度はGAMプロシジャの方が小さいときとGAMPLプロシジャの方が小さいときがあり,大きくは違わない

• PIMAデータは自由度の差が大きく,GAMPLプロシジャの数値最適化が上手くいっていない可能性がある

Page 29: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

まとめ • GAMプロシジャとGAMPLプロシジャでほとんどの場合同じような解析結果が得られた

• 大規模なデータセットではGAMプロシジャは計算が困難になるが,GAMPLプロシジャでは実行できる可能性がある

• GAMPLプロシジャの登場で,SASでGAMによる解析を行う環境が拡充された!

29

Page 30: GAMプロシジャ versus GAMPLプロシジャ - SAS...要旨: SASでは,GAMプロシジャ及びSAS/STAT 14.1より新たに追加 されたGAMPLプロシジャで一般化加法モデルによる解析を実

参考文献 • 小西貞則, 北川源四郎 (2004). 情報量規準. 朝倉書店. • SAS Institute Inc. (2015). SAS/STAT(R) 14.1 User’s Guide. Cary, NC, USA: SAS

Institute Inc. • 竹澤邦夫 (2007). みんなのためのノンパラメトリック回帰 第3版 上. 吉岡書店. • 竹澤邦夫 (2007). みんなのためのノンパラメトリック回帰 第3版 下. 吉岡書店. • 田中豊, 森川敏彦, 山中竹春, 冨田誠 訳, Annette J. Dobson著 (2008). 一般化線形モデ

ル入門. 共立出版. • 丹後俊郎 (2000). 統計モデル入門. 朝倉書店. • 辻谷将明, 竹澤邦夫 (2015). マシンラーニング 第2版. 共立出版. • Wood, S. (2003). Thin plate regression splines. Journal of the Royal Statistical

Society, Series B 65:95–114. • Wood, S. (2004). Stable and efficient multiple smoothing parameter estimation for

generalized additive models. Journal of the American Statistical Association 99:673–686.

• Wood, S. (2006). Generalized Additive Models An Introduction with R, New York, Chapman & Hall.

• Wood, S. (2008). Fast stable direct fitting and smoothness selection for generalized additive models. Journal of the Royal Statistical Society, Series B 70:495–518.

30