Skip to Main Content

★手計算とRで学ぶ統計学: 実験前のサンプルサイズ設計

「なぜ統計学が必要か」という問いをひもとき,実践を通じて読者の方と統計学の心理的距離を縮めるガイドです。

私たちはデータをどれくらい集めればいいのか

近年,医学や心理学では事前にサンプルサイズと統計検定手法を外部レポジトリに登録し (場合によっては研究プロトコルの第三者機関への事前登録 (pre-registration) や査読つき事前登録 (registered report) をすることも),それからデータ収集を開始するという研究実践が普及しつつあります。
プロトコルの事前登録や査読つき事前登録というフレーズを聞いたことがない,知らない,という方もいるかもしれません。実際に医学・心理学領域 (その中でもごく一部の研究者) など一部の分野でしか浸透していない習慣であるのも事実です。しかし,サンプルサイズをデータ収集前に決めておくことはどの研究分野でも非常に重要です

データ収集を開始する前にサンプルサイズを決めておくべき理由を2つ紹介します。
①サンプルサイズは大きすぎても小さすぎてもデメリットがある
・大きすぎるとき
サンプルサイズが大きすぎることの最大のデメリットは,研究の目的にとって重要でない大きさの差や効果であっても有意だと判定されやすくなってしまうことです
「重要でない大きさの差?\(p\)値が0.05より小さかったら有意で,有意だったらその差は重要なんじゃないの?」とお考えの方もいるでしょう。ここでは,ある架空の調査を題材にサンプルサイズと有意差の関係,そして「統計的に有意な差」と「そのデータにとって重要な差」の違いを見ていきます。

ある学生が沖縄県の大学生と鹿児島県の男子大学生10,000人の身長を調査したところ,沖縄県の男子大学生の平均身長は\(170.0\,cm\,(SD\,(標準偏差)\,= 3)\,\),鹿児島の男子大学生の平均身長は\(170.1\,cm\,(SD\,(標準偏差)\,= 3)\, \) でした。これをt検定にかけると,\(p = 0.045\) という値が出ました。「やったー!\(p\)値が0.05を下回ったから沖縄県民と鹿児島県民の平均身長には有意な差があった!」とはしゃぐのはちょっと待ちましょう。
統計的検定はサンプルサイズが大きくなるほど小さな差を検出する能力が高まる,という性質があります。しかし,成人したヒトにおける0.1 cmの平均身長の差は重要だといえるでしょうか?
このように,実際にはあまり大きな意味がないような差でも,サンプルサイズが大きすぎると統計的には有意になってしまいます。

・小さすぎるとき
サンプルサイズが小さすぎる時は第二種の過誤 (検定力が低下し,帰無仮説を正しく棄却できない) が起こりやすい,というデメリットがあるのは有名です。\(t\)検定でサンプルサイズを変えて検定力をシミュレーションしてみると,サンプルサイズが小さい場合 \(\left(n  =10 \right)\) には通常サンプルサイズ設計を行う際に設定する検定力の0.8を大きく下回ることがわかります。


\(\alpha = .05 ,Cohen's\:d = 0.5,1 \leq n \leq 100\) と設定して計算を行った。

また,小さいサンプルサイズで有意な効果が得られたとしても,その効果がより大きなサンプルサイズの標本でも確認できるとは限らないと示されています。


サンプルサイズが小さいときに有意な効果が得られたとしても,それがより大きなサンプルサイズでも現れる可能性は低い。
(Simmons, 2011をもとに著者改変)

②研究実践の効率化
読者の方の中には「30個データを集めて有意ではなかったから,追加であと10個データを取ろう」と指導教員にコメントをもらい,追加の参加者集めに奔走した方もいるのではないでしょうか。
30個で有意にならなかったら追加で10個集め,その結果有意にならなければまた10個追加…とするのは第一非効率的です。それだけでなく,上述したような意味のない差まで検出されてしまう問題や第一種の過誤が生じるリスクも同時に生じます。


有意差を得た時点でデータ収集を終了した場合に偽陽性の結果を得る確率。
参加者数を1人ずつ追加すると第一種の過誤を犯す確率が高くなる。
(Simmons, 2011をもとに著者改変)

サンプルサイズを事前に決めておくことで,\(p\)値に関連する問題の大部分を回避することができます。それだけでなく,研究の信頼性,妥当性,再現可能性が担保されて効率的な研究実践にもつながります。

では,どのようにして適切なサンプルサイズを決めればよいのでしょうか?

サンプルサイズ設計に必要なこと

サンプルサイズ設計には,使用する検定の効果量,有意水準,検定力 (1- \(\beta \) (\(\beta \): 第二種の過誤を起こす確率)。対立仮説が正しいときに正しく帰無仮説を棄却できる確率) の3つの値が必要です。これにサンプルサイズを加えた4つの要素は互いに影響しあっています。そのため,4つのうち3つが決まると他の1つが自動的に決まるという性質を持ち,これによって実験前のサンプルサイズ設計や実験後の検定力分析が可能になります。
ここで,初めて「効果量」という単語が登場しました。効果量とは,群間での平均値の差の程度,変数間の関係の強さなどをデータの単位に左右されないよう標準化した値です。\(Cohen's\,d\) (\(t\)検定の効果量。標準化された平均値の差の大きさを表す) や相関係数\(r\)が代表的な効果量です。

ここでは,先ほど紹介した沖縄県と鹿児島県の大学生の平均身長の例を使って,
・帰無仮説を正しく棄却できる確率を検討するための検定力分析


・求める効果の大きさを得るために必要なデータ数を調べるためのサンプルサイズ設計
を行います。

○検定力分析
以下のRコードを用いて分析を行いました。
n: 1群あたりのサンプルサイズ
delta: 平均値の差
sd: 標準偏差
sig.level: 有意水準 (帰無仮説が真である場合に手元の検定統計量が得られる確率。5% (0.05) と定めるのが一般的)
power: 検定力 (帰無仮説が正しくない時に正しく帰無仮説を棄却できる確率。今回は検定力を求めるので設定しない)

# (初めてパッケージを使用するときのみ行う) パッケージをインストールする
install.packages("pwr")
# (RStudioを新しく起動したら毎回行う) パッケージを読み込む
library(pwr)

#対応のないt検定の検定力分析
power.t.test(n=10000, delta=0.1, sd=3, sig.level=0.05, power=NULL)

このコードをR上で実行すると,以下のような結果が得られます。

     Two-sample t test power calculation 
              n = 10000
          delta = 0.1
             sd = 3
      sig.level = 0.05
          power = 0.6542961    
alternative = two.sided
NOTE: n is number in *each* group

検定力分析の結果,検定力がおよそ0.65になりました。通常,サンプルサイズ設計をするときには検定力を0.8程度に設定することが一般的なので,注目している効果が検出できていない可能性も考えられます。この場合に検定力0.8を達成するサンプルサイズを調べると,およそ14,129人が必要です。ただ,この場合効果量が\(d = 0.033\)とかなり小さくなります。

○サンプルサイズ設計
では,検定力と効果量をもとにしてサンプルサイズ設計を行ってみましょう。
以下のRコードを用いて分析を行いました。

n: 1群あたりのサンプルサイズ
d: t検定の効果量であるCohen's d。今回は中程度の効果量を検出したいのでd = 0.5と設定
sig.level: 有意水準 (第一種の過誤が発生する確率をどの程度許容するかの水準。0.05に定めるのが一般的)
power: 検定力 (今回は0.8に設定)
type: t検定のタイプ。今回は対応のないt検定なので"two.sample" とする。
alternative: 対立仮説の方向性。今回は大小を問わない対立仮説 (沖縄県と鹿児島県の大学生の平均身長に差がある) なので"two.sided" とする。

# (初めてパッケージを使用するときのみ行う) パッケージをインストールする 
install.packages("pwr")
# (RStudioを新しく起動したら毎回行う) パッケージを読み込む
library(pwr)

# 対応のないt検定のサンプルサイズ設計
pwr.t.test(n = NULL, d = 0.50, sig.level = 0.05, power = 0.8, type = "two.sample", alternative = "two.sided")

このコードをR上で実行すると,以下のような結果が得られます。

 Two-sample t test power calculation
               n = 63.76561
               d = 0.5
       sig.level = 0.05
           power = 0.8 
    alternative = two.sided 
NOTE: n is number in *each* group

中程度の差を検出したい場合は,それぞれの県で最低限およそ64人からデータをとる必要があります。10,000人と比べるとかなり小さいサンプルサイズでよいことがわかります
「平均身長の比較をするのに,サンプルサイズが3桁未満でいいのか?」と思う方もいるかもしれません。実際に, 子どもの発育や健康状態を全国的に調査することを目的とした学校保健統計調査では各都道府県で少なくとも20,000人以上からデータを収集しています。調査の目的や分野の慣例によってサンプルサイズはある程度異なります。

このガイドで後ほど登場する統計的検定のデモンストレーションは,まずサンプルサイズ設計を実施し,そのあとに統計的仮説検定を行う,という手順で実施します。

計算されたサンプルサイズは絶対なのか?

このセクションでは,データ収集前のサンプルサイズ設計の重要さ,サンプルサイズ設計の手法について概要を説明しました。
しかし,

「何らかの事情で事前に設計したサンプルサイズよりもデータの数が多く/少なくなった時はどうするんだ…?」

と疑問を抱いた読者の方も少なくないと思います。

今回紹介したサンプルサイズ設計は,あくまでも最低限このデータ数があれば設定したパラメータ (検定力,有意水準) のもとで想定した効果量を検出できるという目安のラインです。そのため,必ずこの数通りに集めないとだめ!」という強制力は伴いません

参加者を募集するシステムの仕様 (50人単位でしか募集をかけられないため事前に設計したサンプルサイズよりもデータ数が多い),実験や調査の都合 (サンプルが特殊であるため,事前に設計したサンプルサイズを満たすことが難しい) をはじめとした様々な事情によって,事前に設計したサンプルサイズと実際に収集したデータ数に差が生じることはよくあります。
その際は論文や発表資料に「事前のサンプルサイズ設計では○○人とるのがよいとわかった。しかし,(様々な事情) によって本研究では△△人のデータを分析に使用した。」など,サンプルサイズ設計と実際のズレを明記することで読者の検討を助けることが肝心です。

効果量の目安は?

サンプルサイズ設計を行う際,効果量をどの程度に設定するかは非常に重要な問題です。
大抵の場合は先行研究や関連する研究の効果量をもとに自分の研究でも得られると期待される効果量を見積もり,サンプルサイズ設計を行います。

とはいえ,実例がないとなかなかイメージがつきにくいと思われます。そのため,実際の研究 (Yonemitsu et al., 2020) を引用して,先行研究の効果量をもとにしたサンプルサイズ設計を行う方法を紹介します。

Yonemitsu et al. (2020) では「新型コロナウイルスを拡散しないでください」と「新型コロナウイルスの拡散者にならないでください」という呼びかけの違いが新型コロナウイルス感染症の予防意図や実際の行動にどのような影響を与えるか検討することを目的として調査を実施しました。
先行研究  (Bryan et al., 2013) の追試を行った研究 (Guo et al., 2020) では,Bryan et al. (2013) では公表されていなかった効果量を計算しています。その結果,先行研究の効果量が\( \rm{Cohen's}\;f = 0.302\) であったことがわかりました。
さらに,追試研究では「先行研究の効果量に0.5をかけた値をサンプルサイズ設計のパラメータとして使用する」という慣例があります。そのため,この研究でもGuo et al. (2020) と同様にBryan et al. (2013) の効果量の半分である \( \rm{Cohen's}\;f = 0.151 \) を期待する効果量としてサンプルサイズ設計を行いました。このとき,有意水準と検定力はそれぞれ\(\alpha = .05, 1 - \beta = 0.99 \) と設定しました。
※得られる効果の大きさが皆目見当がつかない場合は,Cohenの基準 (Cohen, 1969) を参考にサンプルサイズ設計を行うこともあります。Cohenの基準やサンプルサイズ設計についてはこちらの論文 (水本・竹内, 2011) に日本語で詳しくまとまっています。

サンプルサイズ設計の結果,最低でも各群314名,合計で942名の参加者が必要であるとわかりました。
(※実際の論文ではG*Power (Faul et al., 2007) というソフトウェアを使用してサンプルサイズ設計を行っています。Rのpwrパッケージでの計算結果とG*Powerでの計算結果が合致することは確認済みです)
しかし,実際には2536名が調査に参加しており,そのうち1104名のデータを分析に使用したと論文中で報告されています。少なく見積もっても2500名以上の参加者をシステム上で募集しています。
サンプルサイズ設計で得られたサンプルサイズよりも多くの参加者を募集したのは,以下の三つが理由として挙げられます。

①調査計画に特有の問題
この研究では1回目の調査から1週間後に2回目の調査を行い,その差分を群間で検討するという計画のもと,データ収集を行いました。そのため,2回目の調査に参加できなかった参加者のデータは分析に使用できないため,除外する必要がありました。
このように,継続的に調査を行う実験・調査計画では途中で脱落した参加者の分のデータを得るため,追加で募集をかけることがあります。

②募集システムの都合
この研究で使用したクラウドソーシングサービスでは,50人単位でタスクへの参加者を募集しています。そのため,サンプルサイズぴったりに参加者を募集するのがシステムの都合上そもそも不可能でした。

③課題に対して真剣でない参加者
オンライン調査や調査では,実験・調査を行う研究者がその場に存在しません。そのため,質問紙調査であれば一番端や真ん中の選択肢を連打する,知覚・認知実験であれば指示を読まずに適当に反応するなど,課題に対して真剣に取り組んでいない参加者が対面での実験・調査と比べて発生しやすいです。
不真面目な参加者のデータは結論に強い影響を及ぼす可能性があります。そのため,多くのオンライン実験やオンライン調査では真剣に取り組んでいればまず間違わないような設問を挿入し,間違えた回答をした参加者を除外することでデータの品質を担保しています。

この研究だけでなく,心理学などヒトを対象とした研究では,必要サンプルサイズぴったりに参加者を募集することはまずありません。そのため,どうしても必要サンプルサイズよりも多く募集する必要が生じます。このあたりは研究対象 (ヒト,ヒト以外の動物,植物…) によってもかなり違うとは思います。
除外基準に該当しなかったデータの数がサンプルサイズ設計で得られた必要サンプルサイズよりも多い場合は,タイムスタンプを利用して参加が早かった人のデータを優先的に使用する,全員のデータを使用するなど複数の対処法があります。余剰データの取り扱いについては,データ収集を始める前にきちんと決めておくことが必要です


文中で引用した文献
Bryan, C. J., Adams, G. S., & Monin, B. (2013). When cheating would make you a cheater: Implicating the self prevents unethical behavior. Journal of Experimental Psychology: General, 142(4), 1001–1005. https://doi.org/10.1037/a0030655
Cohen, J. (1969). Statistical power analysis for the behavioral sciences (1st ed.). Academic Press.
Faul, F., Erdfelder, E., Lang, A.-G., & Buchner, A. (2007). G*Power 3: A flexible statistical power analysis program for the social, behavioral, and biomedical sciences. Behavior Research Methods39, 175-191. https://doi.org/10.3758/BF03193146
Guo, W., Liu, H., Yang, J., Mo, Y., Zhong, C., & Yamada, Y. (2020). Stage 2 Registered Report: How subtle linguistic cues prevent unethical behaviors. F1000Research, 9, 996. https://doi.org/10.12688/f1000research.25573.2
水本 篤・竹内 理(2011)効果量と検定力分析入門―統計的検定を正しく使うために― より良い外国語教育のための方法―外国語教育メディア学会(LET)関西支部メソドロジー研究部会2010年度報告論集―,47–73. http://hdl.handle.net/10112/6008
Yonemitsu, F., Ikeda, A., Yoshimura, N., Takashima, K., Mori, Y., Sasaki, K., Qian, K., & Yamada, Y. (2020). Warning ‘Don’t spread’ versus ‘Don’t be a spreader’ to prevent the COVID-19 pandemic. Royal Society Open Science, 7(9), 200793. https://doi.org/10.1098/rsos.200793