27
線形モデルにおける CLASSステートメントの機能 ○吉田早織 1 魚住龍史 2 1 日本化薬株式会社 医薬データセンター 2 京都大学大学院医学研究科 The fascinating features for the CLASS in the context of linear models Saori Yoshida 1 and Ryuji Uozumi 2 1 Clinical Data Management and Biostatistics, Nippon Kayaku Co., Ltd 2 Kyoto University Graduate School of Medicine

線形モデルにおける - Sas Institute...社内でのある出来事 カテゴリカルな 2 課題 ある応答変数(2値データ)に対して,説明変数を用いて

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

線形モデルにおける CLASSステートメントの機能

○吉田早織 1 魚住龍史 2 1 日本化薬株式会社 医薬データセンター

2 京都大学大学院医学研究科

The fascinating features for the CLASS

in the context of linear models

Saori Yoshida 1 and Ryuji Uozumi 2

1 Clinical Data Management and Biostatistics, Nippon Kayaku Co., Ltd 2 Kyoto University Graduate School of Medicine

社内でのある出来事

2

課題 ある応答変数(2値データ)に対して,説明変数を用いて

モデル化し,各薬剤群における推定を行いたい

カテゴリカルな

GENMODプロシジャ

オプションなし

LOGISTICプロシジャ

オプションなし

LOGISTICプロシジャ

オプションあり

結果は同じだけどWARNINGが

出てしまうみたい…

なぜか僕の結果と

合わないんだ…

Aさん

Bさん Cさん

CLASSステートメントの役割

3

MODELステートメント: モデルの推定結果の出力

モデル推定後のプロセス: LSMEANS,

CONTRAST, ESTIMATE, LSMESTIMATE

CLASSステートメント: 自動的にダミー変数を作成

プロシジャごとにダミー変数生成方法のデフォルト&オプションが異なる

自分での

設定が不要

多くのプロシジャで使える

線形モデルにおけるCLASSステートメント

4

REG, GLM

一般線形モデル

GLMSELECT V9.1.3~

HPREG V9.4~

浜田 (2000)

LOGISTIC

ロジスティックモデル

PHREG

比例ハザードモデル

V8~

V9.2~

今回のトピック

線形モデルにおけるダミー変数

LOGISTICプロシジャによるダミー変数の

指定例

CLASSステートメントのWARNING&ERROR

3人 (Aさん,Bさん,Cさん) のSASプログラム及び出力結果の検証

5

線形モデルにおけるダミー変数 (1)

カテゴリーを数値(0,1)で表したもの

ex) Treat がA,B,Pという値を持つとき

Treat Aの効果:

Treat A と P の効果の差

6

x1 x2 x3

A 1 0 0

B 0 1 0

P 0 0 1

3322110 xxx

103210 001

30 10

- )

31

ダミー変数行列1

Treat A:

Treat P:

線形モデルにおけるダミー変数 (2)

カテゴリーを数値(0,1,-1)で表したもの

ex) Treat がA,B,Pという値を持つとき

Treat Aの効果

Treat A と P の効果の差

7

x1 x2

A 1 0

B 0 1

P -1 -1

22110 xx

10210 01

ダミー変数行列2

210 10

- )

212

Treat A:

Treat P:

CLASSステートメントによる

ダミー変数の生成例

8

PARAM=EFFECT

分類 値 デザイン変数

A A1 A2 A5 1 1 0 0 2 0 1 0 5 0 0 1 7 -1 -1 -1

PARAM=GLM

分類 値 デザイン変数

A A1 A2 A5 A7

1 1 0 0 0

2 0 1 0 0

5 0 0 1 0

7 0 0 0 1

PARAM=REFRECT

分類 値 デザイン変数

A A1 A2 A5 1 1 0 0

2 0 1 0

5 0 0 1

7 0 0 0

PARAM=ORDINAL

分類 値 デザイン変数

A A1 A2 A5 1 0 0 0

2 1 0 0

5 1 1 0

7 1 1 1

PARAM=POLYNOMIAL

分類 値 デザイン変数

A A1 A2 A5 1 1 1 1

2 2 4 8

5 5 25 125

7 7 49 343

効果法 GLM法

参照法 累積順序法 多項式法

LOGISTICプロシジャによる

ダミー変数の指定

CLASSステートメントで PARAM=オプションを指定することでダミー変数の生成方法を指定できる

<SASデータにモデルを当てはめる>

SAS Helpに記載されているデータ ”Neuralgia”

Treatment(A,B,P),Sex(F,M)を説明変数,Pain

(Yes,No)を応答変数としたモデル

9

proc logistic data = Neuralgia ;

class Treatment Sex / param=effect ;

model Pain = Treatment Sex ;

run;

効果法(PARAM=EFFECT)

平均効果との違いを比較

Treatment A の推定

10

最尤推定値の分析

パラメータ 自由度 推定値 標準誤差 Wald カイ 2 乗

Pr >

ChiSq

Intercept 1 -0.4338 0.3224 1.8105 0.1785

Treatment A 1 -0.8676 0.4623 3.5219 0.0606

B 1 -0.8676 0.4623 3.5219 0.0606

Sex F 1 -0.8959 0.3568 6.304 0.012

分類変数の水準の情報

分類 値 デザイン変数

Treatment

A 1 0

B 0 1

P -1 -1

Sex

F 1

M -1

estimate "estimate A" int 1 Treatment 1 0 Sex 0;

推定 ラベル 推定値 標準誤差 z 値 Pr > |z|

estimate A -1.3013 0.5739 -2.27 0.0234

切片 Aを指定 平均を指定

GLM法(PARAM=GLM)

最後のレベルとの比較

Treatment A の推定

11

estimate “estimate A” int 1 Treatment 1 0 0 Sex 0.5 0.5 ;

最尤推定値の分析

パラメータ 自由度 推定値 標準誤差 Wald カイ 2 乗

Pr >

ChiSq

Intercept 1 2.1972 0.7566 8.4344 0.0037

Treatment A 1 -2.6027 0.8434 9.5237 0.002

B 1 -2.6027 0.8434 9.5237 0.002

P 0 0 . . .

Sex F 1 -1.7918 0.7136 6.304 0.012

M 0 0 . . .

分類変数の水準の情報

分類 値 デザイン変数

Treatment

A 1 0 0

B 0 1 0

P 0 0 1

Sex

F 1 0

M 0 1

切片 Aを指定 平均を指定

推定 ラベル 推定値 標準誤差 z 値 Pr > |z|

estimate A -1.3013 0.5739 -2.27 0.0234

参照法(PARAM=REF)

参照レベルとの比較

Treatment A の推定

12

最尤推定値の分析

パラメータ 自由度 推定値 標準誤差 Wald カイ 2 乗

Pr >

ChiSq

Intercept 1 -2.1972 0.7566 8.4344 0.0037

Treatment A 1 2.6027 0.8434 9.5237 0.002

B 1 2.6027 0.8434 9.5237 0.002

Sex F 1 1.7918 0.7136 6.304 0.012

分類変数の水準の情報

分類 値 デザイン変数

Treatment

A 1 0

B 0 1

P 0 0

Sex

F 1

M 0

estimate “estimate A” int 1 Treatment 1 0 Sex 0.5 ;

切片 Aを指定 平均を指定

推定 ラベル 推定値 標準誤差 z 値 Pr > |z|

estimate A -1.3013 0.5739 -2.27 0.0234

累積順序法(PARAM=ORDINAL)

順序のある効果間の比較

Treatment A の推定

13

最尤推定値の分析

パラメータ 自由度 推定値 標準 誤差

Wald カイ 2 乗

Pr >

ChiSq

Intercept 1 0.4055 0.5839 0.4822 0.4874

Treatment B 1 -2.6027 0.8434 9.5237 0.002

A 1 5.50E-17 0.7785 0 1

Sex F 1 1.7918 0.7136 6.304 0.012

分類変数の水準の情報

分類 値 デザイン変数

Treatment

P 0 0

B 1 0

A 1 1

Sex

F 0

M 1

estimate “estimate A” int 1 Treatment 1 1 Sex 0.5 ;

切片 Aを指定 平均を指定

推定 ラベル 推定値 標準誤差 z 値 Pr > |z|

estimate A -1.3013 0.5739 -2.27 0.0234

多項式法(PARAM=POLY)

2乗,3乗の効果を推定する

Treatment A の推定

14

最尤推定値の分析

パラメータ 自由度 推定値 標準 誤差

Wald カイ 2 乗

Pr >

ChiSq

Intercept 1 3.8191 2.4135 2.504 0.1136 Treatment POLY1 1 -6.5067 2.8429 5.2386 0.0221

POLY2 1 1.3013 0.6934 3.5219 0.0606 Sex POLY1 1 1.7918 0.7136 6.304 0.012

分類変数の水準の情報

分類 値 デザイン変数

Treatment

P 1.000 1.000

B 2.000 4.000

A 3.000 9.000

Sex

F 1.000

M 2.000

estimate “estimate A” int 1 Treatment 3 9 Sex 1.5 ;

切片 Aを指定 平均を指定

推定 ラベル 推定値 標準誤差 z 値 Pr > |z|

estimate A -1.3013 0.5739 -2.27 0.0234

CLASSステートメントの詳細設定

変数の順序設定

ORDER=DATA|FORMATED|FREQ|INTERNAL

• DATA:データセットに出力した順

• FORMATTED:FORMAT順(デフォルト)

• FREQ:数が多い順

• INTERNAL:フォーマットされていない値順

DESCENDING

•降順にする

基準値の設定

REF=‘label’|FIRST|LAST

• ‘label’で基準変数値の選択

• FIRST,LASTで最初の変数か最後の変数を選択

15

PARAM=EFFECT

PARAM=REF

のときのみ

CLASSステートメントの

WARNING&ERROR(1)

REF=オプションは,EFFECT法 or REF法でしか使えないが,他の手法で基準を指定するには?

ex) ordinal法

– Descendingで順番を変える

16

A 0 0

B 1 0

P 1 1

P 0 0

B 1 0

A 1 1 プラセボ基準にしたい

class TREATMENT / param=ordinal descending ;

Q

A

CLASSステートメントの

WARNING&ERROR(2) LSMEANSステートメントを使うとWARNINGが出力される

LSMEANSステートメント,SLICEステートメントはGLM法のみ

17

WARNING: The model does not have a GLM parameterization. This

parameterization is required for the LSMEANS, LSMESTIMATE,

and SLICE statement. These statements are ignored.

Q

A

proc logistic data = data ;

class Treatment Sex ;

model Pain = Treatment Sex ;

lsmeans Treatment ;

run;

class Treatment Sex / param=glm ;

CLASSステートメントの

WARNING&ERROR(3) – REF=‘label’でエラーが出力される

ex) TREATMENT=’B’ を基準としたい

– 変数ごとに個別に設定する

18

Treatment A 1 0

B 0 1

P 0 0

Sex F 1

M 0

class TREATMENT SEX / param=ref ref = ‘B’ ;

ERROR 22-322: 構文エラーです。次の1つを指定してください: FIRST, LAST.

class TREATMENT(ref = ‘B’ ) SEX(descending) / param=ref ;

Treatment A 1 0

B 0 0

P 0 1

Sex F 0

M 1

Q

A

CLASSステートメントの

WARNING&ERROR(4)

GLIMMIXプロシジャでORDER=を用いるとエラーが出力される

– ORDER= (順序)の指定は,PROCステートメント内で記述できる(詳細な指定はできない) • GLM法のみのプロシジャはPROCステートメント内となる

19

Q

A

proc glimmix data=data ;

class Treatment Sex / order=first ;

model Pain = Treatment Sex ;

run ;

ERROR 22-322: 構文エラーです。次の1つを指定してください: ;, TRUNCATE.

ERROR 202-322: オプションまたはパラメータを認識できません。無視します。

proc glimmix data=data order=internal;

各プロシジャにおける

ダミー変数生成法のサポート

PARAM= GLM GLM

SELECT LOGISTIC GEMNOD PHREG MIXED GLIMMIX FMM

EFFECT ○ ☆ ○ ○

GLM ☆ ☆ ○ ☆ ○ ☆ ☆ ☆

ORDINAL

THERMOMETER ○ ○ ○ ○

POLYNOMIAL

POLY ○ ○ ○ ○

REFERENCE

REF ○ ○ ○ ☆

ORTHEFFECT ○ ○ ○ ○

ORTHORDINAL

ORTHOTHERM ○ ○ ○ ○

ORTHPOLY ○ ○ ○ ○

ORTHREF ○ ○ ○ ○

20

☆:デフォルト

3人のプログラムを検証

21

Aさん

GENMODプロシジャ

オプションなし

LOGISTICプロシジャ

オプションなし

LOGISTICプロシジャ

オプションあり

Bさん Cさん

結果の不一致 WARNING

3人のプログラムを検証

22

対比推定の結果

ラベル 平均 推定値

平均 信頼限界

L'Beta 推定値

標準誤差 アルファ L'Beta 信頼限界

カイ 2 乗 値

Pr

> ChiSq

estimate A 0.2139 0.081 0.456 -1.3013 0.5739 0.05 -2.4261 -0.1766 5.14 0.0234

推定

ラベル 推定値 標準誤差 z 値 Pr > |z|

estimate A -1.7493 0.647 -2.7 0.0069

proc logistic data=Neuralgia;

class Treatment Sex ;

model Pain(EVENT='Yes') = Treatment Sex;

estimate “estimate A“

int 1 Treatment 1 0 0 Sex 0.5 0.5;

run;

proc genmod data=Neuralgia descending;

class Treatment Sex ;

model Pain = Treatment Sex / link=logit dist=bin;

estimate "estimate A" int 1 Treatment 1 0 0 Sex 0.5 0.5;

run;

Bさん proc logistic data=Neuralgia;

class Treatment Sex / param=ref;

model Pain(EVENT='Yes') = Treatment Sex;

estimate "estimate A"

int 1 Treatment 1 0 0 Sex 0.5 0.5;

run;

Aさん

Cさん

推定

ラベル 推定値 標準誤差 z 値 Pr > |z|

estimate A -1.3013 0.574 -2.27 0.0234

Aさんの方法

23

GLM法 x1 x2 x3

Treatment A 1 0 0

B 0 1 0

P 0 0 1

Sex F 1 0

M 0 1

◆ Treatment Aの効果を見るため他の効果(Sex)は平均とする

2110 5.05.0 SexSexTreatAy

GENMODプロシジャ オプションなし

proc genmod data=Neuralgia descending;

class Treatment Sex ;

model Pain = Treatment Sex / link=logit dist=bin;

estimate "estimate A" int 1 Treatment 1 0 0 Sex 0.5 0.5;

run; GENMODプロシジャの

デフォルトはGLM法

Bさんの方法

24

EFFECT法 x1 x2

Treatment A 1 0

B 0 1

P -1 -1

Sex F 1

M -1

proc logistic data=Neuralgia;

class Treatment Sex ;

model Pain(EVENT='Yes') = Treatment Sex;

estimate “estimate A“ int 1 Treatment 1 0 0 Sex 0.5 0.5;

run;

◆ Treatment Aの効果を見るため他の効果(Sex)は平均とする(0)

10 TreatAy

estimate “estimate A“ int 1 Treatment 1 ; 参

More coefficients than levels specified for effect

Treatment. Some coefficients will be ignored. WARNING:

LOGISTICプロシジャの

デフォルトはEFFECT法

LOGISTICプロシジャ オプションなし

Cさんの方法

25

REF法 x1 x2

Treatment A 1 0

B 0 1

P 0 0

Sex F 1

M 0

proc logistic data=Neuralgia;

class Treatment Sex / param=ref;

model Pain(EVENT='Yes') = Treatment Sex;

estimate "estimate A" int 1 Treatment 1 0 0 Sex 0.5 0.5;

run;

◆ Treatment Aの効果を見るため他の効果(Sex)は平均とする(0)

SexTreatAy 5.010

More coefficients than levels specified for effect

Treatment. Some coefficients will be ignored. WARNING:

REF法を指定

estimate “estimate A“ int 1 Treatment 1 0

Sex 0.5 ;

LOGISTICプロシジャ PARAMオプションあり

まとめ

26

ある応答変数(2値データ)に対して,説明変数を用いて

モデル化し,各薬剤群における推定を行いたい

カテゴリカルな

GLM法

GLM法 x1 x2 x3

Treatment A 1 0 0

B 0 1 0

P 0 0 1

Sex F 1 0

M 0 1

LSMEANS, CONTRAST, ESTIMATE, LSMESTIMATE

参考文献

1. Carpenter AL. Programming With CLASS: Keeping Your Options Open. Proceedings of the SAS Global

Forum. Cary, NC: SAS Institute Inc., 2014. Available at

http://support.sas.com/resources/papers/proceedings14/1270-2014.pdf.

2. Pasta DJ. Parameterizing Models to Test the Hypotheses You Want: Coding Indicator Variables and

Modified Continuous Variables. Proceedings of the 30th Annual SAS Users Group International

Conference. Cary, NC: SAS Institute Inc., 2005. Available at

http://www2.sas.com/proceedings/sugi30/212-30.pdf.

3. Pritchard ML, Pasta, DJ. Head of the CLASS: Impress your colleagues with a superior understanding of

the CLASS statement in PROC LOGISTIC. Proceedings of the 29th Annual SAS Users Group

International Conference. Cary, NC: SAS Institute Inc., 2004. Available at

http://www2.sas.com/proceedings/sugi29/194-29.pdf.

4. SAS Institute Inc. SAS/STAT(R) 9.3: User’s Guide. Cary, NC, USA: SAS Institute Inc., 2011.

5. SAS Institute Inc. SAS/STAT(R) 12.3: User’s Guide: High-Performance Procedures. Cary, NC, USA:

SAS Institute Inc., 2013.

6. 魚住龍史. LS-Means 再考 GLM と PLM によるモデル推定後のプロセス . SASユーザー総会 論文集 2014.

7. 竹内啓, 高橋行雄, 大橋靖雄, 芳賀敏郎. SASによる実験データの解析. 東京大学出版会, 1989.

8. 浜田知久馬. V.8におけるLOGISTICの機能拡張. 日本SASユーザー会(SUGI-J) 論文集 2000, 1338.

9. 浜田知久馬. SAS生存時間解析プロシジャの最新の機能拡張. SASユーザー総会 論文集 2013, 185–

199.

27