EZRでロジスティック回帰分析を行う方法

シロート統計学講座

シロート統計学講座 其の25

シロート統計学講座では無料統計ソフトEZRを使った統計解析のデモを行っています。前回(其の24)は重回帰分析を紹介しました。

EZRで重回帰分析を行う方法
シロート統計学講座「其の24」

 

今回は従属変数が名義変数(あり・なしなどの二つの変数で表される二値変数)が従属変数の場合に使う多変量解析であるロジスティック回帰分析を実践します。

スポンサーリンク

デモデータ

今回もデモデータをご用意していますので、必要な方はダウンロードして一緒にEZRを操作してみてくださいね。

 

今回のデモデータは、術後理学療法(PT)の介入なし群介入あり群とで、術後合併症(complication)の有無に差はあるか、を調べた仮想データとなっています。

 

さっそく結果をみてみましょう。

 

合併症が生じた人数をみると、介入なし群では20人、介入あり群では10人でした。P<0.05なので「介入あり群では合併症が有意に少ない」という結果でした。

 

でも、これだけでPTの効果はすごいな~、と思うのはまだ早いですよね。

 

年齢をみてみましょうか。介入なし群では平均74.6才、介入あり群では平均70.2才でした。しかもP<0.05であり「介入あり群では年齢が有意に低い」ことが分かりました。

 

これではPTあり群で合併症が少なかったのも「PTの効果ではなくて年齢が若かっただけでは?」と疑問が出るのは明らかですよね。

 

そこで多変量解析による背景因子の補正が必要となってきます。

 

つまり「合併症の有無」を従属変数としたロジスティック回帰分析を行うことで、年齢の違いを補正した上でPTの効果をみることができる、ということになります。

 

※もちろん実際の研究ではもっと沢山の交絡因子があります。今回は分かりやすく年齢のみを交絡因子としていますので、ご容赦くださいませ。

データの取り込み

まずはExcelデータをEZRに取り込みます。

 

デモデータを開いて、データを囲ってコピーします(CtrlCでも可)。

※下にある「0=男」とかは含めなくてOKです。

 

次にEZRの画面で「ファイル」→「データのインポート」→「ファイルまたはクリップボード, URLからテキストデータを読み込む

 

今回は合併症の有無を調べるのでデータセット名は「complication」としておきましょう(ここは何でも良いですが)。そして「クリップボード」と「タブ」にチェックを入れてOKします。

 

データセットが「complication」になったことを確認し、「表示」を押してデータが正しく表示されれば取り込み完了です。

連続変数を因子に変換

今回のデモデータでは、性別(sex)は 0=男性、1=女性 としてデータが作成してあります。

 

しかし、EZRでは

数値=連続変数
文字=名義変数

としてデータを認識します。

 

つまり、0=男性と定義はしていますが、EZRは0を連続変数として認識している状態です。ですので「この0・1は連続変数ではなく名義変数(因子)として扱いますよ」とEZRに指定する必要が出てきます。

 

※男性・女性のような二値変数であればこのままロジスティック回帰分析を行っても同じ結果が得られはするんですが、練習も兼ねて因子への変換をやってみます。

 

まず、EZRがデータをどのように認識しているかを確認してみましょう。

 

アクティブデータセット」→「変数の操作」→「データセット内の変数を一覧する

 

すると以下のような結果が表示されます。

 

注目するのは「int」と書いてある部分です。この「int」というのは「整数」を表しますので、age、sex、complications、PTとも連続変数として認識されています。

 

ageは連続変数で問題ありませんが、あとの3つは下のように名義変数として定義しているので因子に変換します。

sex:0=男性、1=女性
complications:0=なし、1=あり
PT:0=なし、1=あり

 

まずはsexを因子に変換してみましょう。

 

アクティブデータセット」→「変数の操作」→「連続変数を因子に変換する

 

変数はsexを選択し、右側の因子水準は「数値で」にチェックを入れてOKを押します

※OKを押すと「上書きしますか」と出ますが「Yes」で良いです。

 

再度データセット内の変数一覧をみてみましょう。

sexの所は「Factor」に変わっていますね。Factorは因子のことですので、sexは連続変数から因子に変換できました。

 

同様にcomplicationPTについても因子へ変換してください。

 

最終的に↓こうなればOKです。

 

これでsex、complications、PTは名義変数(因子)としてEZRに認識されるようになりましたので、ロジスティック回帰分析の準備完了です。

ロジスティック回帰分析の実施

ではロジスティック回帰分析を行っていきます。

 

今回は「PTの介入によって合併症が減少するか」が論点でした。つまり「合併症のあり・なしは何に影響を受けるか」を調べたいわけですね。

 

ですので

従属(目的)変数:complications
独立(説明)変数:age、sex、PT

となります。

 

統計解析」→「名義変数の解析」→「二値変数に対する多変量解析(ロジスティック回帰)

 

目的変数の所にcomplicationsを投入します。目的変数の四角のところにカーソルを合わせた状態でcomplicationsをダブルクリックすると投入できます。

 

続いて説明変数の所でage、sex、PTを投入します。それぞれダブルクリックしていくことで投入できますよ。

 

そしてOKをクリックすると、ロジスティック回帰分析が実行されます。

ロジスティック回帰分析の結果解釈

ではロジスティック回帰分析の結果をみていきましょう。

 

まず確認するのはモデル全体の有用性です。

 

> anova(…)」と書かれた部分の右下 Pr(>Chi)  が、モデルの有用性を表すP値となります。

 

P<0.05であれば有用なモデルと解釈できます。今回は0.03となっているのでOKですね。

 

次に「>vif」と書いてある部分を確認しましょう。

 

VIFは独立変数間での相関(多重共線性)を調べる指標になります。

VIFが
5以上:多重共線性の可能性あり
10以上:多重共線性の可能性がかなり高い

 

今回はいずれも1台なので多重共線性も問題なさそうです。

(5以上であればその独立変数を投入するかどうか検討が必要)

 

そして最後にロジスティック回帰分析のキーとなる結果をみていきます。

 

左から順にオッズ比、95%信頼区間下限、上限、P値と並んでいますね。

まず、オッズ比に関してです。

 

オッズ比というのは、概念を掴むのがなかなかに難しいのですが、

 

とても簡単に言うと

オッズ比が
1より大きい ➡ 合併症の可能性を上げる
1      ➡ 合併症に影響しない
1より小さい ➡ 合併症の可能性を下げる

ということを表します。

 

つまり

 

年齢は1歳上がるごとに、合併症の可能性が(少し)高くなり、

男性と比べて女性では合併症の可能性が高くなり、

PTなしの場合と比べてPTありの場合では合併症の可能性が低くなる、

 

ということになります。

 

POINTsex[T.1], PT[T.1]
「0 と比べて 1 のオッズ比」を表します。
・sex は 0=男性、1=女性 ですので、男性と比べて女性ではオッズ比2.03
・PT は 0=なし、1=あり ですので、なしと比べてありではオッズ比0.26

 

そして95%信頼区間とは「この検定を100回行うと95回は真のオッズ比がこの範囲内にありますよ」という区間のことです。

 

つまり「PTあり」はオッズ比0.261であり、95%信頼区間は0.08-0.82ですね。

 

オッズ比は1の場合に「合併症に影響しない」ということを表すので、95%信頼区間に1を含まない場合は有意な影響があるとみなせます(つまりP<0.05)。

 

逆に95%信頼区間が1を含んでいる場合は「影響しない場合もある」ということですので、必然的にP≧0.05となります。

 

実際にP値をみてみましょう。

 

P<0.05の場合に「有意な影響あり」と判断できます。

 

PTはP<0.05となっており、age・sexはP≧0.05となっていますね。ですので「PTのあり・なし」は合併症の発生に有意に影響し、「年齢や性別の違い」は有意な影響はない、ということですね。

 

つまりPTあり群で合併症が少ないという結果は、ロジスティック回帰分析で年齢と性別で補正してもオッズ比0.26、95%信頼区間0.08-0.82、P=0.02と統計学的に有意であった」と結論づけることができました。

オッズ比の注意点

さて、今回はPTあり群ではオッズ比0.26という結果でしたね。

 

これを「PTが介入することで合併症のリスクが0.26倍になった」と解釈するのは誤りです。リスクが○倍になったと表せるのはリスク比というもので、オッズ比はまた別物なんですよね。

 

正しくは「PTが介入することで合併症発症のオッズは0.26倍(またはオッズ比0.26)になった」となります。オッズ比はあくまでオッズ比なのです。

 

オッズ比とリスク比の違いについては、また別記事でまとめようと思っています(>>リスクとオッズ【リスク比とオッズ比の違いを分かりやすく】)。

 

今回はとりあえず、オッズ比が1より大きければ「可能性を上げる」、1より小さければ「可能性を低下げる」とだけ覚えておけばOKですよ。

まとめ

以上、EZRでロジスティック回帰分析を行う方法を説明しました。

 

今回は色々と説明したので、文字数も多めになってしまいました…。連続変数を因子に変換する方法もお伝えしましたが、慣れると簡単なので名義変数は0=〇、1=□のように数値で表す癖をつけると良いかもしれません。

 

ロジスティック回帰分析は重回帰分析と並んで、背景因子の補正で使用する頻度が高い解析方法です。論文で出てくることも多いですので、リテラシーの観点からも概要を理解しておくと役立つかと思います。

 

さて、次回はlogrank検定に移る前に「多変量解析の独立変数の選び方」を紹介しようと考えています。今回もシロート統計学講座をお読み頂きありがとうございました。

▼其の26に続く▼

多変量解析における独立(説明)変数の選び方
シロート統計学「其の26」

>>>シロート統計学講座のTOPへ戻る

コメント