東京大学 | 大学院医学系研究科 | 国際保健学専攻 | 人類生態学教室TOP | 2nd

社会統計学第10回
「回帰分析,重回帰分析,ロジスティック回帰分析」(2001年11月29日)

トップ | 更新情報 | 研究と教育 | 業績 | 計算機 | 写真 | 枕草子 | 著者 | 目安箱 | 書評 | 社会統計学目次

最終更新: 2001年12月7日 金曜日 13時57分

全部を一括して読む | 前回へ


講義概要

回帰と重回帰:
▼1984年から1993年までのプロ野球の1試合平均入場者数(単位:千人)の推移は下表のようになっている。
年次84858687888990919293
セリーグ28292931313131323534
パリーグ13121618212322242424
▼これを見ると,途中から伸び悩んでいるが,ある程度直線的に増加しているように見える。このように,ほぼ比例関係にある量的なデータ群をうまく代表する直線を求めるには,「各データの点から直線までのずれの大きさの合計」を最小にすればよい。この場合,「年次」が予め決まっている値であるのに対して,入場者数は測定値であり,誤差を含む可能性があるので,「データ点から直線までのずれ」を評価するには,データ点と直線の最短距離よりも,データ点から直線に垂直に下ろした線分の長さの二乗和を使う方がよい。この,ずれを最小にする直線を,「年次を独立変数,入場者数を従属変数とする回帰直線」と呼ぶ(計算方法は,数学的には検量線の求め方(pdf形式)を参照されたい)。
A sample of linear regression
Rでは,nenji<-c(84:93); central<-c(28,29,29,31,31,31,31,32,35,34)として,plot(central‾nenji); z<-lm(central‾nenji); abline(z)とすれば上の図が描かれる。なお,plot(nenji,central)とplot(central‾nenji)は同義である。
▼一般に,2組あるいはそれ以上の対で観測されるデータが与えられていて,そのうちの1つの変数(従属変数,または目的変数という)の変動の様子が残りの変数(独立変数,または説明変数という)の変動の仕方と,ある一定の関係を保ちながら変化していることがある。この場合,従属変数の変動を捉えるのに独立変数の変動に関する情報が利用できる。この「一定の関係」を求めることを回帰分析という。関係が直線のとき線型回帰分析といい,lm()が線型回帰分析を行う関数である。
▼独立変数が複数あって,それらによって同時に従属変数の変動を説明しようとするとき,とくに重回帰分析というが,同じ関数で実行できる。例えば,独立変数が年齢(変数名ageとする)と体重(変数名wtとする),従属変数が収縮期血圧(変数名SBPとする)であるなら,その重回帰分析をするには,lm(SBP‾age+wt)とすればよい。
ロジスティック回帰
▼前回問題とした,3つ以上のカテゴリカル変数の関係を同時に調べるのにも,この重回帰の考え方が使える。しかし,カテゴリカル変数の場合,値の範囲が有限であるため,単純な直線関係にはならない。そこで,一般化線型モデルを用いる。関数名はglm()である。独立変数に量的な変数が含まれ,従属変数がカテゴリカル変数の場合,カテゴリカル変数があるカテゴリになる確率pを,log(p/(1-p))という形で無限小から無限大までの範囲をとるように変換して(ロジット変換と呼ぶ),一般化線型モデルを適用するとできる分析がロジスティック回帰分析である。
例:
▼前回から計算練習に使っているuser.dat(エコポイント・チェックを使って作った仮のデータ)でQ4とQ10の関係には年齢と性別の影響が両方あったので,年齢を量的変数として,NQ4がTRUE(いつもまたは大体買い物袋を持参している)の人はFALSEの人に比べて,どれくらいNQ10がTRUE(いつもまたは大体マイカーを避けて公共交通を利用している)の割合が高いかを考える。
▼NQ4がTRUEである割合をpとすると,log(p/(1-p))=β01AGE+β2SEX+β3NQ10というモデルが考えられる。TRUEを1,FALSEを0とすると,他の変数を調整した上でのNQ10の効果は,
NQ10がTRUEの場合のNQ4がTRUEである割合をp1とすれば,
log(p1/(1-p1))=β01AGE+β2SEX+β3
NQ10がFALSEの場合のNQ4がTRUEである割合をp0とすれば,
log(p0/(1-p0))=β01AGE+β2SEX
となり,辺々引けば
log(p1/(1-p1))-log(p0/(1-p0))=β3
結局この左辺は,log[(p1/(1-p1))/(p0/(1-p0))]となる。これは対数オッズ比である。つまり,AGEとSEXの影響を調整した上でNQ10がTRUEである人はFALSEの人に比べて,exp(β3)倍,NQ4がTRUEになりやすいと言える。普通の言葉で書き直せば,「性別と年齢の影響を調整した上で,いつもまたは大体マイカーを避けて公共交通を利用している人は,そうでない人に比べて,いつもまたは大体買い物袋を持参する傾向がexp(β3)倍大きい」ということである。なお,β0〜β3は,一般化線型モデルの係数として推定される。
Rでのプログラム:
result<-glm(NQ4‾NQ10+AGE+SEX, family=binomial(logit)); summary(result)
出力:
Call:
glm(formula = NQ4 ‾ NQ10 + AGE + SEX, family = binomial(logit))
Deviance Residuals:
Min1QMedian3QMax
-0.9472-0.7143-0.5803-0.44781.9311

Coefficients:
EstimateStd. Errorz valuePr(>|z|)
(Intercept)-2.24960.6354-3.5400.000399 ***
NQ100.29690.52910.5610.574639
AGE0.27670.31690.8730.382463
SEX0.73720.51091.4430.149070
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 100.08 on 99 degrees of freedom
Residual deviance: 96.64 on 96 degrees of freedom
AIC: 104.64
Number of Fisher Scoring iterations: 3
▼とりあえずは,Coefficients:のEstimateにβ0〜β3が得られ,Pr(>|z|)にそれぞれが0である確率が得られている,と判断すればよい。
▼モデル自体の説明力に関しては,AIC(赤池の情報量基準)を見る。一般に,未知パラメータ数kの適当なモデルMを仮定したときの最大対数尤度をMLL(M)と書くと,
AIC(M)=-2MLL(M)+2k
と定義される。AICは,モデルの当てはまりの悪さを示す値であるから,複数のモデルのAICを比べた場合は,AICが小さい方を採択するわけである。

フォロー

ロジスティック回帰で出てきたlogは,高校数学で出てきたのと同じ?
▼その通り,対数のことです。統計学でlogが出てきて底が明示されていない場合は,自然対数と考えていいです。
一般化線型モデルとは?
▼線型モデルを一般化したものです。線型モデルは,普通の量的変数の間の直線回帰を指します。これを一般化すれば,t検定,分散分析,共分散分析,回帰分析,判別分析,正準相関分析などをすべて共通の数学モデルで扱うことができ,それを一般化線型モデルといいます。英語ではGeneral Linear Modelというので,SASでもPROC GLMですが,Rでの関数名もglmです。
▼基本的には,Y=β0+βX+εという形で表されます。Yが従属変数群,Xが独立変数群,β0が切片群,βが係数群です。
Rの日本語版のようなものはないのですか?
▼Rには日本語版はありません。ただ,統計用語は英語の方が曖昧さがありませんし,Rのマニュアルはかなり日本語訳されていますから,現状でもそれほど問題はないと思います。
あるデータをもっているときどんなふうに分析したらいいということはどうやって決める?
▼一般的な統計的分析の手順としては,第1回で示したことの繰り返しになりますが,もう少し詳しく書くと,
という感じになります。上の表に出てきた,量的な変数に関連する部分を,この講義の残りの回で説明する予定です。

全部を一括して読む | 次回へ