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

社会統計学第12回
「量的変数の解析(2)〜分散分析と多重比較」(2001年12月13日)

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

最終更新: 2001年12月17日 月曜日 12時16分

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


講義概要

一元配置分散分析
▼前回は,2群間で量的変数の平均値を比べた。今回はそれを多群間の比較へと拡張する。
▼カテゴリ変数Xの各カテゴリによって,量的変数Yの値に差があるかどうかを検定したい場合,分析は二段階で行うのが普通である。つまり,まず,「量的変数Yの値に対してカテゴリ変数Xの効果があるかどうかを検定」し,有意な効果があった場合に第二段階として,「どれとどれのカテゴリの間で量的変数Yに差があるのか」を検定するのである。第一段階を一元配置分散分析,第二段階を多重比較という。
▼例えば,7つの村A, B, C, D, E, F, Gで健診をやって,身長や体重を測ったとしよう。このとき,データは次のようになる。

	PID, VILLAGE, HEIGHT, WEIGHT
	1, A, 173, 67
	2, A, 166, 70
	3, A, 180, 55
	:
	:
	87, D, 164, 58
	88, D, 175, 90
	:
	:
	139, G, 166, 61
	

▼村落によって身長に差があるかどうかを検定したいならば,身長(HEIGHT)という量的変数に対して,村(Village)というカテゴリ変数の効果があるかどうかを一元配置分散分析することになる。
※Rでanova(lm(HEIGHT‾VILLAGE))とすれば,例えば次のような結果が得られる。

	Analysis of Variance Table
	
	Response: HEIGHT
	           Df Sum Sq Mean Sq F value Pr(>F)
	VILLAGE     6   1171     195  0.5405 0.7766
	Residuals 132  47672     361
	

▼このような結果の表を分散分析表という。級間変動(VILLAGE間でのばらつき,つまり総平均に対する級平均のばらつき)が級内変動(Residualsに出ている,級平均に対する各データのばらつき)に対してどれだけ大きいかがF valueに得られる。Pr(>F)が検定の結果得られる有意確率で,この場合だと,VILLAGEの効果は有意でないことになる。つまり,身長に村落間差はないことになる。
▼数学的には,次のように説明できる。A村のN1人の身長がX11, X12,..., X1N1,B村のN2人の身長がX21, X22,..., X2N2,以下同様にして,G村のN7人の身長がX71, X72,..., X7N7だとする(総人口N1+N2+...+N7=N人とする)。村毎の平均身長をGX1, GX2,..., GX7と書き,全体の平均をGXAと書くことにする。このとき,Σ[i=a to b] f(i)で「f(a)からf(b)までf(i)を足した値」を表すことにすれば,総変動(総平方和)S=Σ[i=1 to 7]Σ[j=1 to Ni](Xij-GXA)2,級間変動(群間平方和)SV=Σ[i=1 to 7]Ni(GXi-GXA)2,級内変動(郡内平方和,または誤差平方和ともいう)SE=Σ[i=1 to 7]Σ[j=1 to Ni](Xij-GXi)2となる(S=SV+SEである)。自由度は,群の効果に関してPV=7-1=6で,残差の効果に関してPE=N-7である。よって,級間分散VV=SV/PV,級内分散VE=SE/PEと推定でき,F統計量F0=VV/VEが,第1自由度PV,第2自由度PEのF分布に従うことを使って検定できる(p=1-pf(F0,PV,PE)として有意確率が得られる)。分散分析とは,全体のばらつきSを群間の違いという意味のはっきりしているばらつきSVと,それでは説明できないばらつき,つまり誤差であるSEに分けて比べることを意味する。
▼念のため上の数値例の値が数式のどれに当たるかを説明すると,PVが6,PEが132(Nが139),SVが1171,SEが47672,VVが195,VEが361,F0が0.5405,pが0.7766である。
▼なお,この例のように,群分けをするカテゴリ変数が1つの場合を,一元配置分散分析(ONE-WAY ANOVA),2つの場合を二元配置分散分析(TWO=WAY ANOVA),3つなら三元配置分散分析(THREE-WAY ANOVA)などと呼ぶ。二元配置以上の場合は,カテゴリ変数間での交互作用による影響を調べるための交互作用項がモデルに入ってくるし,その従属変数への効果を見るために母数モデルと変量モデルの違いを区別しなくてはならない。また,量的変数による交絡がある場合は共分散分析(ANACOVA)をすることになる。
多重比較
▼仮に上の例でPr(>F)が0.05より小さく,有意差があったときに,具体的にどの村の間に有意差があるのかを調べるには,単純に考えると,t.test(HEIGHT[VILLAGE=="A"],HEIGHT[VILLAGE=="B"])を繰り返せば良さそうだが,7つの村でこれをやると7つから2つを取り出すので21回の比較をすることになり,1つくらいは偶然有意差が出てしまう比較があるかもしれない。そのため,有意確率を調整するとか自由度を調整するなどの方法で,偶然による有意差の出すぎをなくすのが多重比較である。
▼Rでは,pairwise.t.test(HEIGHT,VILLAGE,p.adjust.method="bonferroni")とすれば,ボンフェローニの方法で調整した結果を出してくれる。p.adjust.methodを指定しなければHolmの方法になる。

フォロー

練習問題の解答例
▼data(infert); attach(infert); anova(lm(parity‾education))の結果より,p<<0.01なので教育歴の既往出生児数への効果は有意である。そこで,pairwise.t.test(parity,education)とすると,教育を受けた年数が0〜5年の人と6〜11年間の人,0〜5年の人と12年以上の人はそれぞれ有意に異なるが,6〜11年間の人と12年以上の人には有意な差がないことがわかる。
統計学を専門に勉強している学校はある?
▼生物統計学や心理学分野では比較的たくさんあります(米国に比べるとずっと少ないですが)。社会統計学はそれらより珍しいと思います。 大学院なら,統計数理研究所という統計学専門の研究所があります。
Rの出力の読み取り方がわからない
▼よくわからないときは,Prとかpという数値を探してみましょう。検定は,有意確率と帰無仮説さえきちんと把握しておけば読めます。
社会統計学は何の役に立つ?
▼谷岡一郎『「社会調査」のウソ』に紹介されているように, マスメディアや本など,権威ある機関の報告でも,統計はいいかげんだったり,恣意的な解釈をしたりという例にでくわすことは枚挙に暇がないほどです。統計学の素養があれば,そこで鵜呑みにせずに「待てよ」と思うことができるでしょう。

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