1. ロジスティック回帰分析
-1.1 Rを使った分析の準備
-1.2 ロジスティック関数とロジット関数
2. ロジスティック関数の手順
-2.1 データの準備
-2.2 帰無仮説と対立仮説の設定
-2.3 説明変数と応答変数の散布図
-2.4 ロジスティック回帰式の推定値を求める
-2.5 ロジスティック回帰式の精度を求める
-2.6 回帰係数を個別に検定する
-2.7 説明変数を複数の値に固定したグラフを作成する
ここで使うRのパッケージは次のとおり。
library("dplyr")
library("effects")
library("ggplot2")
library("reshape")
library("reshape2")
library("stargazer")
何かが起きる (\(\mathrm{y = 1}\)) か起きないか (\(\mathrm{y = 0}\)) を考えているとき、次の様に表せる関数
ロジスティック関数の逆関数であり、次の様に表す
・統計学の教科書などでは \(\mathrm{logistic (x)}\) でなく \(\mathrm{logit (x^{-1})}\) と表記する。
・ロジット分析 (logit analysis)・・・対数オッズを従属変数とした回帰分析
・確率をオッズに変換する方法
オッズ比 (odds ratio) ・・・ある確率が起こる確率 \(\mathrm{p}\) と起こらない確率 \(\mathrm{1 - p}\) との比
オッズが大きいほど、その事象が起こりやすい
ある事象の起こりやすさを2つの群で比較して示す尺度
オッズ比・・・1つの群ともう1つの群とにおけるオッズ比として定義
第 1 群の確率・・・\(\mathrm{p}\)
第 2 群の確率・・・\(\mathrm{q}\)
この場合の Odds ratio 次の式で表すことができる
・Odds ratio = 1 ⇒ 事象の起こりやすさが両群で同じ
・Odds ratio > 1 ⇒ 事象が第1群で起こりやすい
・Odds ratio < 1 ⇒ 事象が第2群で起こりやすい
・例)
第1群:肺がん患者100を調査 ⇒ 80人が喫煙者、20人が非喫煙者 (p=0.8)
第2群:健康な人100を調査 ⇒ 20人が喫煙者、80人が非喫煙者 (q=0.2)
Odds ratio を求めると
⇒ 喫煙者が肺がんになる可能性が非喫煙者の16倍あるということ
・Odds の下限は 0 なので、このままでは独立変数としては扱いにくい
⇒ Odds に対数変換を施す (=ロジット)
・予測確率のロジットを応答変数としたロジスティック回帰モデル
・ロジスティック関数を R で定義してみる。
・function()
関数を使うと、自分で関数を作ることができる。
・ロジットの逆関数であるロジスティック関数 (invlogit) を作る。
## ロジスティック関数を定義する
## 引数:x = 数値ベクトル
## 返り値:y
invlogit <- function(x){
return( y <- 1 / (1 + exp(-x)) )
}
確認のため、\((\mathrm{- 5 < x < 5}\)) の範囲で \(\mathrm{logistic (x) = logit(x^{-1})}\)) の値を図示する。
x <- seq(-5, 5, length = 100)
plot(x, invlogit(x), type = "l", lwd = 2, col = "darkblue",
ylab = "invlogit(x)", main = "Logistic Function")
abline(h = c(0, 1), col = "gray")