数学いらずの医科統計学PART7 CHAPTER37で、重回帰について説明している。
従属変数を独立変数で回帰するときの話。
多重線形回帰:アウトカムが連続的であるときに用いられる。重回帰と略されることが多い。
多重ロジスティック回帰:アウトカムが二値的なときに用いられる。ロジスティック回帰と略されることが多い。
多値ロジスティック回帰:アウトカムが二値より多いときに用いられる。
多重比例ハザード回帰:アウトカムがいくつかの事象が生じるまでの経過時間であるときに用いられる。比例ハザード回帰と略されることが多い。考案者にちなんでCox回帰と呼ばれる。
Anderson-Gill回帰:事象が複数回生じるときに用いられる、比例ハザード回帰の修正法。
多重Poisson回帰:アウトカムが一定時間内に生じる事象の数であるときに用いられる。
重回帰の方法 | 従属変数の種類 | 変数の例 |
---|---|---|
多重線形回帰 | 連続(間隔または比)変数 | 酵素活性、体重 |
ロジスティック回帰 | 二値変数 | 手術死亡、がん再発 |
多値ロジスティック回帰 | 2つ以上のアウトカムの離散変数 | 順序があるものも対応可能 (polr) |
比例ハザード回帰 | 一時的な事象が生じる時間経過 | 死亡に至る期間 |
Anderson-Gill回帰 | 再帰しうる事象までの経過時間 | 次の発作までの期間 |
多重Poisson回帰 | 一定時間における事象数 | 入院数、発作数 |
これらは一般化線形モデル(Generalized linear model, GLM)の特殊型である。一般線形モデル(General linear model)は一般化線形モデルの一部で、一般化線形モデルは広い意味を含んでいる。
多変量(multivariate)という用語は、いくつかのアウトカムを同時に比較する手法を意味している。普通にやる多変量解析という行為は、
であり、いくつかの独立変数であるひとつの従属変数(アウトカム)を扱うものである。これはmultivariableであり、多変数というほうがいい。
Rでは標準で入っている関数では多重線形回帰、パッケージを適当に足せば多値ロジスティック回帰など可能である。
多重線形回帰を行う。データセット trees の Volume を予測する。
となるようにすると
lm(Volume ~ ., data=trees)
Call: lm(formula = Volume ~ ., data = trees) Coefficients: (Intercept) Girth Height -57.9877 4.7082 0.3393
順序のない多値ロジスティック回帰を行う。nnet パッケージの multinom 関数でできる。
library(nnet) mul0 <- multinom(Species ~ ., data=iris) prd <- predict(mul0, iris[, -5]) table(iris$Species, prd)
推定精度は
prd setosa versicolor virginica setosa 50 0 0 versicolor 0 49 1 virginica 0 1 49
順序のある多値ロジスティック回帰を行う。こちらからパクった。
住居の満足度が Sat にはいっていて、これが Low < Medium < high になっているっぽいからこれを推定する。
polr0 <- polr(Sat ~ ., data=housing, method="log") prd <- predict(polr0, housing[, -1]) table(housing$Sat, prd)
prd Low Medium High Low 9 6 9 Medium 13 8 3 High 8 2 14
予測の引数に type="prob" を指定すれば、どのカテゴリーか定量できる。
けど今回のはちょっとアレェ…
predict(polr0, housing[, -1], type="prob")
Low Medium High 1 0.3233110 0.3398114 0.3368775 2 0.3233110 0.3398114 0.3368775 3 0.2818515 0.3360241 0.3821244 4 0.2601626 0.3314688 0.4083687 5 0.3300575 0.3398822 0.3300604 6 0.2494920 0.3284946 0.4220134 7 0.3339367 0.3398592 0.3262041 8 0.3277161 0.3398737 0.3324102 9 0.1945001 0.3042016 0.5012983 ... 以下略
confint 関数の話はこちら。