Statistical Software | JMP Software from SAS - JMP …1 JMP による オッズ 比、 リスク比...
Transcript of Statistical Software | JMP Software from SAS - JMP …1 JMP による オッズ 比、 リスク比...
1
JMP によるオッズ比、リスク比(ハザード比)の算出方法と注意点
SAS Institute Japan 株式会社 JMP ジャパン事業部
2008 年 3 月改定
1.はじめに
本文書は、JMP でオッズ比、リスク比、それぞれに対する信頼区間を求める算出方法と注意点を述べたものです。この後の 2
章では、JMP でのオッズ比、オッズ比の信頼区間の算出方法について、サンプルデータを用いて解説しております。3 章では、リ
スク比(ハザード比)、リスク比の信頼区間の算出方法について、サンプルデータを用いて解説しております。4 章では、名義尺度
を使用して JMP でオッズ比、リスク比を算出することについての注意点が記されており、5 章では、4 章に対する理論的な背景を
説明しております。とりあえずオッズ比、リスク比、それぞれに対する信頼区間を算出したいという目的であれば、2 章(オッズ比)、
3 章(リスク比)のみご一読いただくことで十分です。尚、本文書の 2 章以降で示している図は、JMP 7 での出力になります。
2.オッズ比とその信頼区間の算出方法
この章では、サンプルデータを用いて、JMP でのオッズ比、その信頼区間の算出方法をご説明します。
○使用するサンプルデータ
・データファイル:「odds1.jmp」
・出典:SAS/STAT LOGISTIC Procedure Example 42.2 のデータから一部の変数を抜粋
・変数の詳細
変数名(列名) 尺度 詳細
Pain 名義 目的変数、アウトカム(No, Yes)
Treatment 名義 治療法(A, B, P)
Age 連続 調整因子
Duration 連続 調整因子
・データテーブル(一部)
○分析内容
データファイル「odds1.jmp」を用いて、疾患(Pain)の発生(Yes)に対し、「Age」、「Duration」 を調整因子として、治療法 P に対す
る治療法 A(カテゴリ P→A に変化)のオッズ比、治療法 P に対する治療法 B(カテゴリ P→B に変化)のオッズ比を算出する。
2
例えば、治療法 P はプラセボを投与、治療法 A はアウトカムとなる疾患に効果があると思われる薬剤を 10mg 投与、治療法 B
は、治療法 A と同様の薬剤を 20mg 投与したとします。このときのプラセボに対する治療薬 A のオッズ比、プラセボに対する治療
薬 B のオッズ比を求めると考えることができます。
○分析のステップ
以下、このステップに沿って、JMP の操作をご説明します。
Step 0: Y(目的変数)のカテゴリの順序を確認
名義尺度に指定した変数には、カテゴリに順番があります。順番を確認するには、該当の列を選択(青く反転)し、メニューから
[列] > [値のチェック] > [リストチェック] を選択します。図 2.1 はリストチェックの画面ですが、カテゴリの順番は、No, Yes の順です。
これでは、最初のカテゴリである「No」、すなわち疾患がないという事象のオッズ比を求めることになります。目的は、疾患があると
いう事象のオッズ比を求めることなので、リストの順番を変更します。
図 2.1 リストチェックのウィンドウ: No, Yes の順番になっている
リストチェックのウィンドウで、「No」をクリックし、[下に移動] ボタンを押すことによって順番を変更することができます。
順番を変更すると、データテーブルの列名の後ろの下向きの矢印マークが追加されます。(図 2.2)
図 2.2 リストチェックのウィンドウ: Yes, No の順番に変更
Step 0: Y(目的変数)のカテゴリの
順序を確認
Step 1: カテゴリの説明変数に対
し、ダミー変数の作成
Step 2: 「モデルのあてはめ」を実
行、適切なモデルの指定
Step 3: オプションを指定し、オッズ
比とその信頼区間を表示
順番を変更すると、列名の右側に矢印が表示される
3
Step 1: カテゴリの説明変数に対し、ダミー変数の作成
ロジスティック回帰を行う際、説明変数「Treatment」は名義尺度のため、これをダミー変数に変換します。ここでのダミー変数と
は、名義尺度の変数を条件ごとに”0” または ”1”の 2 値に変換した変数のことで、「Treatment」の各カテゴリに対し、3 つのダミ
ー変数を表 2.1 のルールで作成します。
ダミー変数 ルール
「Treatment(A)」 「Treatment」の値が"A"であれば「1」、そうでなければ「0」
「Treatment(B)」 「Treatment」の値が"B"であれば「1」、そうでなければ「0」
「Treatment(P)」 「Treatment」の値が"P"であれば「1」、そうでなければ「0」
表 2.1 ダミー変数の作成ルール
JMP では、計算式エディタを用いて以下の方法で作成します。
計算式エディタでの操作方法
-------------------------------------------------------------------------------------------------------
1. メニューより、[列] > [新規作成] を選びます。列名を「Treatment(A)」に変更します。その後、列プロパティのボタンをク
リックし、計算式を選択します。
2. 計算式パレットが開きますので、次の順序で計算式を入力します。(図 2.3 参照)
・関数から、条件付き > If を選択
・テーブル列から「Treatment」を選択
・関数から、比較 > a==b を選択
・赤い太枠に “A” と入力。( ” も入力する)
・then 節の枠をクリックして赤い枠を移動し、1 と入力
・else 節の枠をクリックして赤い枠を移動し、0 と入力
・ [OK] ボタンを押す
3. 列の新規作成ウィンドウを [OK] ボタンを押して閉じます。これより、データテーブルに新しい列が作成されます。
-------------------------------------------------------------------------------------------------------
図 2.3 計算式の入力画面
4
以下、ダミー変数「Treatment(B)」、「Treatment(P)」 も同様に作成します。図 2.4 はダミー変数作成後のデータテーブルになり
ます。
図 2.4 ダミー変数作成後のデータ
データテーブル「odds2.jmp」は、Step 0、Step 1 を行った後のデータテーブルになります。
上記の操作でダミー変数を作成できますが、名義尺度のカテゴリ数が多い場合、作成には手間がかかります。弊社ではダミー
変数を自動的に作成する JMP のスクリプトをサンプルとして提供しております。このスクリプトを用いると、ダミー変数を作成する
名義変数を選択するだけで自動的にダミー変数を作成することができます。以下の Web ページにある「日本語のサンプルスクリ
プト 1」 または「日本語のサンプルスクリプト 2」にある「0/1 のダミー変数作成」が該当するスクリプトになります。
https://www3.sas.com/jmp/japan/includes/scripts_lib_sysdep_j.html
注意:このスクリプトは、JMP のユーザ登録をされている方のみがリクエストすることができます。
Step 2: 「モデルのあてはめ」を実行、適切なモデルの指定
目的変数のカテゴリ順序の確認、ダミー変数の作成を行った後、メニューより [分析] > [モデルのあてはめ] を選び、列を図
2.5 のように指定します。
図 2.5 モデルの指定(名義ロジスティック)
5
この分析例では、治療法 P を基準にしているので、ダミー変数「Treatment(P)」 をモデルに含めず、残りのダミー変数をモデル
の効果に追加します。
ウィンドウ右上の[モデルの実行] ボタンを押すと、「名義ロジスティックのあてはめ」の結果レポート画面が表示されます。「パ
ラメータ推定値」のレポートの下に「推定値は次の対数オッズに対するものです: Yes/No」と表示されます。これは、No に対する
Yes のオッズ比を対数変換した値が(パラメータ)推定値になることを意味します。先ほど Step 0 で行った、目的変数のカテゴリ順
序の変換で変更したカテゴリ順が反映されています。もし、事前にカテゴリ順序を変更しなかった場合は No/Yes と表示されます。
そのため、この表示からでも正しいカテゴリ順序になっているかどうかをチェックすることができます。
Step 3: オプションを指定し、オッズ比とその信頼区間の表示
名義ロジスティック回帰のレポート画面の左上にある赤い三角ボタンから、[オッズ比]を選択するとオッズ比が出力されます。さ
らにオッズ比の信頼区間は、赤い三角ボタンから[信頼区間] を選択し、信頼水準(デフォルトはα=0.05)を入力することにより表
示されます。(図 2.6) レポートには「単位オッズ比」と「範囲オッズ比」という 2 通りのオッズ比が出力されますが、ダミー変数の列
に関しては、双方のオッズ比、その信頼区間は等しくなります。
図 2.6 オッズ比、信頼区間の表示
図 2.6 より、疾患の発生を事象としたときの治療法 P に対する治療法 A、治療法 B それぞれのオッズ比、オッズ比の 95%信頼
区間(信頼限界)は、表 2.2 のようにまとめられます。
治療法 オッズ比 95%信頼区間
A 0.069 [0.010 , 0.337]
B 0.039 [0.004 , 0.237]
表 2.2 治療法 P をリファレンスとしたときの、治療法 A、治療法 B のオッズ比とその 95%信頼区間
6
3.リスク比とその信頼区間の算出方法
この章では、サンプルデータを用いて、JMP でのリスク比、その信頼区間の算出方法をご説明します。尚、文献等ではハザード
比という用語も用いられておりますが、JMP ではリスク比という用語を用いているため、以下では「リスク比」を用語として用いま
す。
○使用するサンプルデータ
・データファイル:「risk1.jmp」
・出典:JMP のサンプルデータ「ラット.jmp」に対して、一部の変数を抜粋、修正、データを追加
・変数の詳細
変数名(列名) 尺度 詳細
生存日数 連続 イベントまでの時間
打ち切りの有無 連続 打ち切りの変数 (打ち切りあり=1、打ち切りなし=0)
グループ 名義 グループ(G1, G2, G3, G4)
・データテーブル(一部)
○分析内容
データファイル「risk1.jmp」を用いて、グループ間の死亡リスクの比較、リスク比を用いて行う。比較は、G1 を比較の対照(リファレ
ンス)として、G2 ,G3 ,G4 の死亡リスクがどのぐらい高まるかをみる。
例えば、変数「グループ」の値 G1, G2, G3, G4 を癌のステージ(ステージⅠからステージⅣ)と想定すると、ステージⅠに対して、
ステージ Ⅱ、Ⅲ、Ⅳ それぞれの死亡リスクをリスク比で評価すると考えることができます。
○分析のステップ
以下、このステップに沿って、操作をご説明します。
Step 1 : カテゴリの説明変数に対し、ダミー変数の作成
ロジスティック回帰のときと同様に、変数「グループ」に対するダミー変数を作成することになります。ダミー変数「グループ(G1)」、
「グループ(G2)」、「グループ(G3)」、「グループ(G4)」 を追加したテーブルを図 3.1 に示します。
Step 1:
カテゴリの説明変数に対
し、ダミー変数の作成
Step 2:
「比例ハザードのあてはめ」を
実行、適切なモデルの指定
Step 3:
オプションを指定し、リスク
比とその信頼区間を表示
7
図 3.1 データテーブルにダミー変数を追加
データテーブル「risk2.jmp」は、ダミー変数作成後のデータテーブルになります。
Step 2: 「比例ハザードモデルのあてはめ」を実行、適切なモデルの指定
ダミー変数の作成を行った後、メニューより、[分析] > [生存時間もしくは信頼性分析] > [比例ハザードのあてはめ] を選び、列を
次のように指定します。(図 3.2)
図 3.2 モデルの指定(比例ハザード)
この分析例では、グループ G1 を基準(リファレンス)にしているので、ダミー変数「グループ(G1)」 をモデルに含めず、残りのダ
ミー変数をモデルの効果に追加します。
ウィンドウ右上の[モデルの実行] ボタンを押すと、「比例ハザードのあてはめ」の結果レポート画面が表示されます。
Step 3: オプションを指定し、オッズ比とその信頼区間の表示
左上にある赤い三角ボタンより、[リスク比] を選択しますとリスク比の推定値、95%信頼区間が表示されます。(図 3.3) ここでも、
ダミー変数に変換した列に関しての「単位リスク比」、「範囲リスク比」は同じ値になります。
8
図 3.3 リスク比、(両側 95%)信頼区間の表示
図 3.3 より、グループ G1 に対する、グループ G2、G3、G4 それぞれのリスク比、リスク比の 95%信頼区間は、表.3.1 のようにま
とめることができます。
グループ リスク比 95%信頼区間
G2 1.875 [0.945 , 3.707]
G3 1.025 [0.517 , 2.029]
G4 3.435 [1.690 , 7.002]
表 3.1 グループ G1 をリファレンスとしたときの、グループ G2、G3、G4 のリスク比とその 95%信頼区間
9
4.説明変数に名義変数を指定したとき
この章では、名義尺度の説明変数をダミー変数に変換せずに、そのままモデルの効果として含めたときにどのような出力になる
かを考察します。さらに JMP 7 と JMP 6 とでは出力内容が異なりますので、これらの違いも考察します。
4.1 オッズ比
サンプルデータ「odds1.jmp」を用い、「モデルのあてはめ」で図 4.1 のようにモデルを指定し、2 章の Step 3 まで(オッズ比、信頼
区間の算出)操作を行った結果を図 4.2 に示します。
図 4.1 モデルの指定
図 4.2 分析結果の出力
JMP 7
JMP 6
JMP 7 の出力は、連続尺度と名義尺度(順序尺度)とで異なります。名義尺度の列「Treatment」に対しては、3 つの水準(A, B, P)
がありますので、すべての組み合わせに対して、オッズ比が出力されています。表示されるオッズ比の値は、水準 1 / 水準 2 の
10
順番に注意する必要があります。水準 1/水準 2 は、 水準 2 に対する水準 1 のオッズ比を示します。もし、水準 1 に対する水準 2
のオッズ比を知りたいのであれば、逆数の欄が該当します。2 章で算出したオッズ比は、2 行目、3 行目の「逆数」の値が該当しま
す。ただし、JMP 7 では、名義尺度(順序尺度)の説明変数に対し、オッズ比の信頼区間が表示されません。オッズ比のみであれ
ば、上記のように名義尺度をそのままモデルの効果に含めることにより求めることができますが、オッズ比に対する信頼区間まで
必要であれば、2 章のようにダミー変数を作成して算出する必要があります。
一方、JMP 6 での出力は、2 章の結果に一致する値が見つかりません。この理由につきましては、5 章で説明します。
4.2 リスク比
サンプルデータ「risk1.jmp」を用い、「比例ハザードのあてはめ」で、図 4.3 のようにモデルを指定し、2 章の Step 3 まで(リスク比、
信頼区間の算出)操作を行った結果を図 4.4 に示します。
図 4.3 モデルの指定
図 4.4 分析結果の出力
JMP 7
JMP 6
JMP 7 でのリスク比の出力も、オッズ比と同様です。2 章で算出したリスク比は、出力の 1,2 行目、4 行目が該当します。ただし、
JMP 7 では、名義尺度(順序尺度)の説明変数に対し、リスク比の信頼区間が表示されません。 リスク比の信頼区間につきまし
ても、ダミー変数を用いて算出することになります。一方、JMP 6 では、リスク比の値が JMP 7 の出力と一致しません。この理由に
つきましても、5 章で説明します。
11
5.理論的な背景
4 章では、説明変数に名義変数を指定した際、JMP 7 と JMP 6 では、オッズ比、リスク比の値が異なりました。さらに、JMP 6 の
出力では、2 章でダミー変数を作成して求めたときと値が異なることが分かりました。この章では、これらの理由を説明します。
5.1 ダミー変数について
通常、名義尺度を説明変数に含めてロジスティック回帰や重回帰分析を行うとき、名義尺度の説明変数はダミー変数に変換し
ます。そして、このダミー変数を説明変数に加えてパラメータの推定を行います。JMP でもモデル効果に名義尺度を指定したとき
は、内部的に名義尺度の変数をダミー変数にし、パラメータ推定値を計算します。 しかし、一般にダミー変数への変換方法は複
数あり、2章で説明したダミー変数への変換方法と JMP で内部的に行っているダミー変数への変換方法は異なります。この節で
は、これらの違いについて説明します。
2カテゴリのとき
まずは、簡単のため2カテゴリの場合について説明します。そのためにデータテーブル 「odds1.jmp」 で Treatment = B または
P のみを抽出したデータを用いて説明します。JMP である条件を満たすデータを抽出する方法は、文末の付録 A をご参照下さい。
名義尺度「Treatment」 のリスト順は B, P です。ここでは JMP で、モデル効果に指定した名義尺度の変数、順序尺度の変数それ
ぞれをダミー変数に変換する際の変換ルール(JMPの内部的な変換法でして、ダミー変数の列が作られるわけではありません)、
2 章で行ったダミー変数への変換方法を表 4.1 にまとめておきます。例えば①では、値が B のデータは ”1” に、値が P のデータ
は”-1” に変換されることを示します。
カテゴリ ①JMP
名義尺度
②2 章で作成し
たダミー変数
B 1 1
P -1 0
表 4.1 ダミー変数への変換ルール(2カテゴリ)
図 4.1 は JMP 6 を用いて、①、②それぞれの方法で求めた、パラメータ推定値、(範囲)オッズ比を JMP のテーブルにまとめたも
のです。
図 4.1 それぞれの方法のパラメータ推定値、(範囲)オッズ比
図 4.1 より、①と②では、推定値は異なりますが、オッズ比は等しくなります。この違いは、表 4.1 のダミー変数の変換ルールの違
いによるものです。JMP では、名義尺度の変数で複数のカテゴリがあるとき、最後のカテゴリのパラメータ推定に関する情報は結
果のレポートに表示されません。最後のカテゴリ(P)のパラメータ推定値は、表 4.1 の①のダミー変数の指定方法より、最初のカテ
ゴリ(B)のパラメータ推定値を-1 倍したものになります。一方②では、最後のカテゴリ(P)のパラメータ推定値は 0 になります。
表 4.2 にこれらの値をまとめます。これより、①、②双方でパラメータ推定値は異なりますが、値の範囲は双方で等しく、
(P の推定値)-(B の推定値) = 2.728 となります。そのため、説明変数の値が最小値から最大値へ変化したときのオッズ比が何
12
倍になるかを示す「範囲オッズ比」では、①と②双方でのオッズ比が等しくなります。尚、範囲オッズ比と単位オッズ比の違いにつ
いては、文末の付録 B で説明します。
①の範囲オッズ比: Exp((-1.364)-1.364) = Exp(-2.728) = 0.065
②の範囲オッズ比: Exp((-2.728)-0) = Exp(-2.728) = 0.065
カテゴリ ①JMP
名義尺度
②2 章で作成し
たダミー変数
B -1.364 -2.728
P 1.364 0
表 4.2 変数「Treatment」 のパラメータ推定値
3カテゴリのとき
3カテゴリの変数のとき、パラメータ推定に用いるダミー変数は、2 つのダミー変数 D1, D2 を用い、表 4.3 のように示されます。
①JMP
名義尺度
②2 章で作成し
たダミー変数 カテゴリ
D1 D2 D1 D2
A 1 0 1 0
B 0 1 0 1
P -1 -1 0 0
表 4.3 ダミー変数への変換方法(3カテゴリ)
③の D1, D2 はそれぞれ、2 章で作成したダミー変数 「Treatment(A)」、「Treatment(B)」 に該当します。(図 2.4 参照)
図 4.2 は JMP 6 を用いて、①、②の方法で求めたパラメータ推定値、(範囲)オッズ比を JMP のテーブルにまとめたものです。
図 4.2 それぞれの方法のパラメータ推定値、(範囲)オッズ比
①について、「名義ロジスティックのあてはめ」 のレポートの左上の赤い三角ボタンから、[確率の計算式の保存] を選択すると、
データテーブルにいくつかの列が追加されます。その中の列 「線形[Yes]」 の計算式を参照しますと、「Treatment」 のカテゴ
リ”A”, “B” , ”P” のパラメータ推定値を確認することができます。(図 4.3) JMP の名義尺度に対するパラメータ推定値は、すべ
てのカテゴリの推定値を合計すると 0 になるよう設計されています。
13
A B P
(-0.7066) + (-1.2648) + 1.9714 = 0
図 4.3 線形[Yes] の計算式:列名の「+」ボタンをクリックすることにより表示できる
①で求めたパラメータ推定値(図 4.2 参照)を用いて、Pに対する A のオッズ比、Pに対する Bのオッズ比を求めるには、以下のよ
うな計算を行います。ここで、β(A) は カテゴリ A のパラメータ推定値を示します。
β(A) + β(B) + β(C) = 0 より、
・P に対する A のオッズ比
Exp{β(A)-β(P)}
= Exp[β(A)-{-(β(A)+β(B))}]
= Exp{2×β(A) + β(B)}
= Exp{(2×(-0.7066) + (-1.2648)}
= Exp(-2.678) = 0.069
・P に対する B のオッズ比
Exp{β(B)-β(P)}
= Exp[β(B)-{-(β(A)+β(B))}]
= Exp{β(A) + 2×β(B)}
= Exp({(-0.7066)+ 2×(-1.2648)}
= Exp(-3.2362) = 0.039
これらは、②で求めたオッズ比の値に一致します。
このように、ダミー変数を作成せずに 3 カテゴリの名義尺度を用いて、あるカテゴリを基準(リファレンス) としたオッズ比を求め
る場合は、上記のような計算が必要になります。
14
付録A.部分的にデータを抽出する方法
ここでは、JMP 7 の新機能である「データフィルタ」を用いて、ある条件を満たすデータを抽出する方法を説明します。例として、
データテーブル「odds1.jmp」で、Treatment= B または P のデータのみを新しいデータテーブルに抽出することを考えます。
操作方法
1. メニューより、[行] > [データフィルタ] を選択します。
2. データフィルタの設定パネルが表示されますので、列「Treatment」を選択し、[追加] ボタンを押します。(図 A 左)
3. 「Treatment」に対し、B と P を選択します。B を選択した後、Ctrl キーを押しながら P をクリックすることにより、B と P を同時に
選択することができます。(図 A 中央)
4. 3の状態で、左上の赤い三角ボタンより、[サブセットの作成] を選択します。(図 A 右)
図 A データフィルタによるサブセットの抽出
付録B. 範囲オッズ比と単位オッズ比の違い
JMP では、オッズ比の選択項目として、「範囲オッズ比」と「単位オッズ比」 があります。ここでは、これらのオッズ比の違いにつ
いて説明します。
範囲オッズ比
説明変数(X)の値が、最小値(Xmin)から最大値(Xmax)へ変化したときにオッズ比が何倍になるかを示した値です。
たとえば、説明変数 X として年齢という変数を取り上げ、その変数の値の範囲は、15(歳) から 35(歳)だとします。このとき、範
囲オッズ比は、年齢が 15 歳から 35 歳に上がったときに、Y のオッズ比が何倍になるかということが求まります。パラメータ推定値
をβとしたとき、連続尺度のオッズ比は、Exp{β×(Xmax-Xmin)} で計算します。
本文で説明した通り、JMP で名義尺度の場合は、パラメータ推定値を求める際に、”-1”と”1” にコード化されます。このことから、
名義尺度のオッズ比は、Exp{β×(1-(-1))} = Exp(2β) で計算されます。順序尺度の場合は、”0”と”1” にコード化されますので、
順序尺度のオッズ比は、Exp(β) になります。
単位オッズ比
説明変数(X)が 1 単位変化したときのオッズ比の変化を示します。例えば、年齢であれば、1 歳年を取ったときの Y のオッズ比が
何倍になるかということが求まります。このため、単位オッズ比の場合は、連続尺度、名義尺度、順序尺度ともに Exp(β)で計算
されます。
15
範囲オッズ比、単位オッズ比の計算式をまとめたものが表 B になります。
尺度 (範囲)オッズ比 単位オッズ比
連続 Exp(β(Xmax-Xmin)) Exp(β)
名義 Exp(2β) Exp(β)
順序 Exp(β) Exp(β)
表 B 範囲オッズ、単位オッズ比の計算式
例:データ 「odds1.jmp」 を用いて、次のようにモデルを指定してロジスティック回帰を行います。
[Y] :「Pain」
[モデル効果の構成]:「Age」、「Duration」
結果のレポートで、[オッズ比] を選択した出力を図 B1 に示します。
図 B1 範囲オッズ比と単位オッズ比
列 「Age」 の最小値は 59 で最大値は 83 です。範囲は 24( =83-59) になります。同様に列「Duration」は、1 から 50 までの値をと
り、範囲は 49 (=50-1) です。範囲オッズ比を単位オッズ比と範囲から算出するには、(単位オッズ比)を(範囲)乗することにより、
求まります。
「Age」: (1.1674) ^ (24) = 41.0530
「Duration」: (0.98104)^(49) = 0.3915
ここで (a)^(b) は、a の b 乗を示します。