以下の内容ができるようになることがこの講義の重要な目的のひとつであるので,しっかりと習得すること。
Region | Year | Grade | Subject | N_hw_lo | M_hw_lo | SD_hw_lo | N_hw_hi | M_hw_hi | SD_hw_hi |
---|---|---|---|---|---|---|---|---|---|
柴絵山市 | 23 | 6 | Koku_A | 646 | 0.871 | 0.12 | 987 | 0.886 | 0.1 |
柴絵山市 | 23 | 6 | Koku_B | 646 | 0.664 | 0.14 | 987 | 0.679 | 0.05 |
柴絵山市 | 23 | 6 | San_A | 646 | 0.643 | 0.05 | 987 | 0.671 | 0.11 |
柴絵山市 | 23 | 6 | San_B | 646 | 0.543 | 0.12 | 987 | 0.55 | 0.15 |
柴絵山市 | 23 | 9 | Koku_A | 269 | 0.683 | 0.05 | 721 | 0.7 | 0.13 |
柴絵山市 | 23 | 9 | Koku_B | 269 | 0.517 | 0.15 | 721 | 0.55 | 0.05 |
柴絵山市 | 23 | 9 | Su_A | 269 | 0.608 | 0.13 | 721 | 0.658 | 0.1 |
柴絵山市 | 23 | 9 | Su_B | 269 | 0.367 | 0.13 | 721 | 0.4 | 0.09 |
柴絵山市 | 23 | 9 | Ei | 269 | 0.583 | 0.11 | 721 | 0.658 | 0.14 |
桜垣県 | 24 | 5 | San_1 | 18013 | 0.788 | 0.1 | 13245 | 0.818 | 0.14 |
桜垣県 | 24 | 5 | San_2 | 18013 | 0.653 | 0.05 | 13245 | 0.676 | 0.05 |
桜垣県 | 24 | 5 | San_3 | 18013 | 0.58 | 0.13 | 13245 | 0.622 | 0.09 |
桜垣県 | 24 | 5 | San_4 | 18013 | 0.58 | 0.13 | 13245 | 0.622 | 0.13 |
桜垣県 | 24 | 8 | Ei_1 | 11703 | 0.796 | 0.15 | 15670 | 0.823 | 0.12 |
桜垣県 | 24 | 8 | Ei_2 | 11703 | 0.677 | 0.12 | 15670 | 0.716 | 0.11 |
桜垣県 | 24 | 8 | Ei_3 | 11703 | 0.648 | 0.07 | 15670 | 0.708 | 0.09 |
燕山県 | 24 | 5 | Koku | 32189 | 0.696 | 0.12 | 16961 | 0.727 | 0.09 |
燕山県 | 24 | 5 | Sha | 32189 | 0.59 | 0.13 | 16961 | 0.627 | 0.09 |
燕山県 | 24 | 5 | San | 32189 | 0.586 | 0.1 | 16961 | 0.642 | 0.12 |
燕山県 | 24 | 5 | Ri | 32189 | 0.623 | 0.09 | 16961 | 0.648 | 0.12 |
燕山県 | 24 | 8 | Koku | 23724 | 0.796 | 0.1 | 13684 | 0.804 | 0.06 |
燕山県 | 24 | 8 | Sha | 23724 | 0.483 | 0.08 | 13684 | 0.507 | 0.05 |
燕山県 | 24 | 8 | Su | 23724 | 0.562 | 0.14 | 13684 | 0.589 | 0.08 |
燕山県 | 24 | 8 | Ri | 23724 | 0.531 | 0.11 | 13684 | 0.552 | 0.12 |
燕山県 | 24 | 8 | Ei | 23724 | 0.565 | 0.11 | 13684 | 0.605 | 0.08 |
鵜川県 | 24 | 6 | Koku_A | 12511 | 0.8 | 0.12 | 15559 | 0.823 | 0.14 |
鵜川県 | 24 | 6 | Koku_B | 12511 | 0.517 | 0.08 | 15559 | 0.557 | 0.06 |
鵜川県 | 24 | 6 | San_A | 12511 | 0.7 | 0.14 | 15559 | 0.74 | 0.13 |
鵜川県 | 24 | 6 | San_B | 12511 | 0.55 | 0.1 | 15559 | 0.6 | 0.09 |
鵜川県 | 24 | 6 | Ri | 12511 | 0.6 | 0.05 | 15559 | 0.623 | 0.15 |
鵜川県 | 24 | 9 | Koku_A | 7476 | 0.733 | 0.1 | 10354 | 0.75 | 0.12 |
鵜川県 | 24 | 9 | Koku_B | 7476 | 0.633 | 0.06 | 10354 | 0.65 | 0.09 |
鵜川県 | 24 | 9 | Su_A | 7476 | 0.583 | 0.12 | 10354 | 0.617 | 0.08 |
鵜川県 | 24 | 9 | Su_B | 7476 | 0.45 | 0.09 | 10354 | 0.5 | 0.15 |
鵜川県 | 24 | 9 | Ri | 7476 | 0.5 | 0.15 | 10354 | 0.517 | 0.06 |
奈田県 | 23 | 5 | Koku_A | 1572 | 0.72 | 0.14 | 2181 | 0.74 | 0.12 |
奈田県 | 23 | 5 | Koku_B | 1572 | 0.44 | 0.13 | 2181 | 0.46 | 0.11 |
奈田県 | 23 | 5 | San_A | 1572 | 0.75 | 0.13 | 2181 | 0.77 | 0.11 |
奈田県 | 23 | 5 | San_B | 1572 | 0.48 | 0.15 | 2181 | 0.49 | 0.13 |
奈田県 | 23 | 8 | Koku_A | 1109 | 0.69 | 0.13 | 2179 | 0.69 | 0.12 |
奈田県 | 23 | 8 | Koku_B | 1109 | 0.41 | 0.1 | 2179 | 0.41 | 0.05 |
奈田県 | 23 | 8 | Su_A | 1109 | 0.49 | 0.12 | 2179 | 0.52 | 0.09 |
変数名 | 内容 | 形式 | 凡例 | 備考 |
---|---|---|---|---|
ID | 通し番号 | 数値型 | ||
Region | 地域名 | 全角文字型 | 地名生成ソフトで適当に生成 | |
Year | 調査年度 | 数値型 | これは本当 | |
Grade | 学年 | 数値型 | 小1=1…中3=9 | これは本当 |
Subject | 教科・種類 | 半角英数 | これは本当 | |
N_hw_lo | 家庭学習1時間未満の人数 | 数値 | 概算値 | |
M_hw_lo | 家庭学習1時間未満の平均通過率 | 数値 | 見た目から適当に数値化 | |
SD_hw_lo | 家庭学習1時間未満の平均通貨率の標準偏差 | 数値 | 適当につけた | |
N_hw_hi | 家庭学習1時間以上の人数 | 数値 | 概算値 | |
M_hw_hi | 家庭学習1時間以上の平均通過率 | 数値 | 見た目から適当に数値化 | |
SD_hw_hi | 家庭学習1時間以上の平均通貨率の標準偏差 | 数値 | 適当につけた |
メタ分析を行う際には
を用いて各々の研究についての 効果量 と 効果量の分散 を求める必要がある。
研究によって用いられる尺度(テストなど)の性質が異なることから,複数研究間の平均値等を単純に比較することはできない。そのため,これらを比較可能とするように効果量を求める。イメージとしては,異なる2つの試験の結果を比較する際に偏差値を用いるのとほぼ同じである。
平均値差の効果量 \( d \) は,0.20で小さい効果,0.50で中程度の効果,0.80で大きい効果と解釈すると言われているが,研究の文脈によって解釈が異なるので注意すること。
効果量d は以下の式で求められる。
\[ d=\frac{M_1-M_2}{\sigma _{pooled}} \]
なお, \( \sigma _{pooled} \) は母集団標準偏差のことであり,2群間の標準偏差の平均のようなものであり,以下の式によって求められる。
\[ \sigma _{pooled}=\sqrt{\frac{(n_1-1) s_1^2+(n_2-1) s_2^2}{n_1+n_2-2}} \]
たとえば,例題データの「柴絵山市」の「国語A」について,家庭学習時間の多少と学力テストの平均通過率との関係を検討するために効果量を求める場合には,以下の通りとなる。まず,プールされた標準偏差\( \sigma _{pooled} \)は,
\[ \sqrt{\frac{646\times 0.05^2+987\times 0.11^2}{646+987-2}}=0.09 \]
となり,効果量\( d \)は \[ d=\frac{0.871-0.886}{0.09}=-0.166 \] となる。
統合の対象となる研究はいずれもケース数(対象者数)が異なる。この違いを適切に反映させて効果量を統合させる必要があるため,その重みを求める必要がある。この重みは分散の逆数で求められるため,効果量の分散を求めておく。効果量の分散\( V_g \)は
\[ V_g=J^2\times V_d \]
であり,\( V_d \)は
\[ V_d=\frac{n_1+n_2}{n_1 n_2}+\frac{d^2}{2(n_1+n_2)} \]
\( J \)は
\[ J=1-\frac{3}{4(n_1+n_2-2)-1} \]
である。したがって,先に求めた効果量\( d \)の分散を求めるには,まず\( V_d \)を以下の通り求め,
\[ V_d=\frac{646+987}{646\times 987}+\frac{-0.166^2}{2(646+987)}=0.0026 \]
\( J \)は
\[ J=1-\frac{3}{4(646+987-2)-1}=0.999 \]
となり,\( V_g \)は
\[ V_g=0.99^2\times 0.0026=0.0026 \] となる。
上記のように効果量と分散を求めるとメタ分析が可能となるが,研究例が多い場合には,統計パッケージを用いて一度に求めた方が効率的である。例題データに対して2群の平均値差の効果量とその分散を求める際には,以下の手順で行う。
meta_hw <- read.csv("meta.csv")
次に,metafor というパッケージを用いて,meta_hw というデータの効果量とその分散を求める。 escalc が効果量等を求めるための命令であり,SMD とは2群の平均値差, n1i,n2i はそれぞれ第1群,第2群の人数, m1i,m2i はそれぞれ第1群,第2群の平均通過率, sd1i,sd2i ははそれぞれ第1群,第2群の標準偏差を指している。 data= で効果量等を求めるデータの名前を指定している。 append=TRUE という命令を加えることで,結果をデータフレームとして(次の分析に使えるように) datという名前で格納させる。
library(metafor)
## Loading required package: Formula
##
## Loading 'metafor' package (version 1.8-0). For an overview
## and introduction to the package please type: help(metafor).
dat <- escalc(measure = "SMD", n1i = N_hw_lo, n2i = N_hw_hi, m1i = M_hw_lo,
m2i = M_hw_hi, sd1i = SD_hw_lo, sd2i = SD_hw_hi, data = meta_hw, append = TRUE)
なお,ここでできた dat というデータは以下のようになっている。 yi と vi という列が追加されているが,これらの列の情報が統合効果量を求めるのに必要である。
head(dat)
## ID Region Year Grade Subject N_hw_lo M_hw_lo SD_hw_lo N_hw_hi M_hw_hi
## 1 1 柴絵山市 23 6 Koku_A 646 0.871 0.12 987 0.886
## 2 2 柴絵山市 23 6 Koku_B 646 0.664 0.14 987 0.679
## 3 3 柴絵山市 23 6 San_A 646 0.643 0.05 987 0.671
## 4 4 柴絵山市 23 6 San_B 646 0.543 0.12 987 0.550
## 5 5 柴絵山市 23 9 Koku_A 269 0.683 0.05 721 0.700
## 6 6 柴絵山市 23 9 Koku_B 269 0.517 0.15 721 0.550
## SD_hw_hi yi vi
## 1 0.10 -0.1384 0.0026
## 2 0.05 -0.1558 0.0026
## 3 0.11 -0.3071 0.0026
## 4 0.15 -0.0504 0.0026
## 5 0.13 -0.1490 0.0051
## 6 0.05 -0.3704 0.0052
上記の手続きにより dat として格納された各々の研究に対する効果量とその分散の情報を用いて,平均効果量などを求める。変量モデルによって平均効果量を求めるには,以下のように rma 関数を用いる。
res <- rma(yi, vi, data = dat)
その結果を出力させると下記の通りとなり, estimate として出力されている部分を見ると,平均効果量は -0.2753 であることが分かる。ただし,この場合
\[ 第1群(家庭学習時間1時間未満)-第2群(家庭学習時間1時間以上) \]
として効果量を求めているため,推定された効果量の符号が負になっている。
res
##
## Random-Effects Model (k = 43; tau^2 estimator: REML)
##
## tau^2 (estimated amount of total heterogeneity): 0.0247 (SE = 0.0056)
## tau (square root of estimated tau^2 value): 0.1573
## I^2 (total heterogeneity / total variability): 99.13%
## H^2 (total variability / sampling variability): 115.00
##
## Test for Heterogeneity:
## Q(df = 42) = 4265.9061, p-val < .0001
##
## Model Results:
##
## estimate se zval pval ci.lb ci.ub
## -0.2753 0.0245 -11.2360 <.0001 -0.3233 -0.2273 ***
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
メタ分析の結果は フォレストプロット で表現するとわかりやすい。フォレストプロットを描くには,先に得た出力 res を用いる。
forest(res)
しかし,これではわかりにくいので,以下のように出力の命令を工夫する。このコードを用いた出力は以下の通りとなる。
forest(res, slab = paste(dat$Region, dat$Year, dat$Grade, dat$Subject, sep = ", "),
xlim = c(-1.5, 1), cex = 0.75)
op <- par(cex = 0.7, font = 2)
text(1, 45, "効果量[95% 信頼区間]", pos = 2)
text(-1.5, 45, "地域・年度・学年・教科", pos = 4)
2群の平均値差の効果量と相関は互いに換算可能であるため,これらを統合したメタ分析を行うことも可能である。
Region | Year | Grade | Subject | \( r \) | n |
---|---|---|---|---|---|
梅磯県 | 23 | 4 | Koku | 0.09 | 11665 |
梅磯県 | 23 | 4 | San | 0.09 | 11063 |
梅磯県 | 23 | 6 | Koku | 0.12 | 11167 |
梅磯県 | 23 | 6 | San | 0.14 | 11167 |
例えば「梅磯県」だけ,家庭学習の取り組み時間と教科の学力テストの得点との関係を上表のように相関で報告していた場合,以下のようにして効果量とその分散を求める。
標準化された平均値差を提示している研究結果に,相関係数を提示している研究結果を統合してメタ分析ができるようにするには,相関係数を標準化された平均値差に変換する手続きが必要である。この手続きを山田・井上(2012)に沿って説明すると,以下の通りとなる。
相関係数を効果量に変換するには
\[ d=\frac{2r}{\sqrt{1-r^2}} \]
とし,その効果量の分散を求めるには,相関係数の分散を
\[ V_r=\frac{(1-r^2)^2}{n-1} \]
で求めたうえで,
\[ V_d=\frac{4V_r}{(1-r^2)^3} \]
で求める。
これらの式を用いて,先ほど求めた相関係数を効果量に変換し,また分散を求めると以下の通りとなる。
\[ d=\frac{2\times 0.14}{\sqrt{1-(0.14)^2}}=\frac{0.28}{\sqrt{1-0.14^2}}=\frac{0.28}{0.99}=0.28 \]
データを用いて効果量 yi と分散 vi を求めたら,以下の表のように表形式でまとめる。その際, 効果量の正負に注意 する。この場合は先の分析結果にあわせて, 追加する効果量の数値を全て負 にしている。
Region | Year | Grade | Subject | yi | vi |
---|---|---|---|---|---|
梅磯県 | 23 | 4 | Koku | -0.1755 | 0.000344955 |
梅磯県 | 23 | 4 | San | -0.1755 | 0.000364054 |
梅磯県 | 23 | 6 | Koku | -0.2365 | 0.00036298 |
梅磯県 | 23 | 6 | San | -0.2728 | 0.000364701 |
このデータを,先ほど使ったデータにまとめる。先ほど使ったデータをcsv形式で書き出し,上表の結果をスプレッドシートで追加する編集を行う。 太字 が 追加した部分 である。
Region | Year | Grade | Subject | yi | vi |
---|---|---|---|---|---|
柴絵山市 | 23 | 6 | Koku_A | -0.138374718 | 0.002567022 |
柴絵山市 | 23 | 6 | Koku_B | -0.155786328 | 0.00256859 |
柴絵山市 | 23 | 6 | San_A | -0.307132791 | 0.002590041 |
柴絵山市 | 23 | 6 | San_B | -0.050368169 | 0.002561936 |
柴絵山市 | 23 | 9 | Koku_A | -0.149021463 | 0.005115651 |
柴絵山市 | 23 | 9 | Koku_B | -0.370409098 | 0.005173729 |
柴絵山市 | 23 | 9 | Su_A | -0.458547569 | 0.00521063 |
柴絵山市 | 23 | 9 | Su_B | -0.322001206 | 0.005156801 |
柴絵山市 | 23 | 9 | Ei | -0.565457597 | 0.005265921 |
桜垣県 | 24 | 5 | San_1 | -0.252928702 | 0.000132039 |
桜垣県 | 24 | 5 | San_2 | -0.459988962 | 0.0001344 |
桜垣県 | 24 | 5 | San_3 | -0.365953669 | 0.000133158 |
桜垣県 | 24 | 5 | San_4 | -0.323069171 | 0.000132685 |
桜垣県 | 24 | 8 | Ei_1 | -0.202010747 | 0.00015001 |
桜垣県 | 24 | 8 | Ei_2 | -0.340952308 | 0.000151388 |
桜垣県 | 24 | 8 | Ei_3 | -0.731258085 | 0.000159032 |
燕山県 | 24 | 5 | Koku | -0.280358005 | 0.0000908 |
燕山県 | 24 | 5 | Sha | -0.314240293 | 0.000091 |
燕山県 | 24 | 5 | San | -0.521778539 | 0.0000928 |
燕山県 | 24 | 5 | Ri | -0.24663999 | 0.0000906 |
燕山県 | 24 | 8 | Koku | -0.091410922 | 0.000115341 |
燕山県 | 24 | 8 | Sha | -0.340311159 | 0.000116777 |
燕山県 | 24 | 8 | Su | -0.222148325 | 0.000115889 |
燕山県 | 24 | 8 | Ri | -0.184595488 | 0.000115685 |
燕山県 | 24 | 8 | Ei | -0.399693171 | 0.000117365 |
鵜川県 | 24 | 6 | Koku_A | -0.174950393 | 0.000144746 |
鵜川県 | 24 | 6 | Koku_B | -0.574471463 | 0.00015008 |
鵜川県 | 24 | 6 | San_A | -0.297281803 | 0.000145775 |
鵜川県 | 24 | 6 | San_B | -0.528595735 | 0.000149178 |
鵜川県 | 24 | 6 | Ri | -0.197320169 | 0.000144895 |
鵜川県 | 24 | 9 | Koku_A | -0.151711922 | 0.000230988 |
鵜川県 | 24 | 9 | Koku_B | -0.215661319 | 0.000231647 |
鵜川県 | 24 | 9 | Su_A | -0.344241454 | 0.000233666 |
鵜川県 | 24 | 9 | Su_B | -0.389678453 | 0.000234601 |
鵜川県 | 24 | 9 | Ri | -0.158350748 | 0.000231046 |
奈田県 | 23 | 5 | Koku_A | -0.155302607 | 0.001097851 |
奈田県 | 23 | 5 | Koku_B | -0.16833497 | 0.001098413 |
奈田県 | 23 | 5 | San_A | -0.16833497 | 0.001098413 |
奈田県 | 23 | 5 | San_B | -0.072069194 | 0.00109533 |
奈田県 | 23 | 8 | Koku_A | 0 | 0.001360639 |
奈田県 | 23 | 8 | Koku_B | 0 | 0.001360639 |
奈田県 | 23 | 8 | Su_A | -0.296623559 | 0.001374019 |
奈田県 | 23 | 8 | Su_B | -0.142824535 | 0.001363741 |
梅磯県 | 23 | 4 | Koku | **-0.1755 | **0.000344955 |
梅磯県 | 23 | 4 | San | -0.1755 | 0.000364054 |
梅磯県 | 23 | 6 | Koku | -0.2365 | 0.00036298 |
梅磯県 | 23 | 6 | San | -0.2728 | 0.000364701 |
これを新たに適当な名前(dat_2.csv)で保存し,それを再びRに読み込ませる。
dat_2 <- read.csv("dat_2.csv")
このデータ(dat_2)に対するメタ分析は,先述した手順と同様である。
res_2 <- rma(yi, vi, data = dat_2)
res_2
##
## Random-Effects Model (k = 47; tau^2 estimator: REML)
##
## tau^2 (estimated amount of total heterogeneity): 0.0229 (SE = 0.0050)
## tau (square root of estimated tau^2 value): 0.1514
## I^2 (total heterogeneity / total variability): 99.03%
## H^2 (total variability / sampling variability): 103.07
##
## Test for Heterogeneity:
## Q(df = 46) = 4388.7228, p-val < .0001
##
## Model Results:
##
## estimate se zval pval ci.lb ci.ub
## -0.2701 0.0226 -11.9722 <.0001 -0.3143 -0.2258 ***
##
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
この結果についてのフォレストプレットを以下のように描画すると,出力は下図の通りとなる。
forest(res_2, slab = paste(dat_2$Region, dat_2$Year, dat_2$Grade, dat_2$Subject,
sep = ", "), xlim = c(-1.5, 1), cex = 0.75)
op <- par(cex = 0.7, font = 2)
text(1, 50, "効果量[95% 信頼区間]", pos = 2)
text(-1.5, 50, "地域・年度・学年・教科", pos = 4)
山田剛史・井上俊哉 (2012). メタ分析入門:心理・教育研究の系統的レビューのために 東京大学出版会