はじめに
最近統計的検定(t検定)を実施する上で、サンプルサイズについて考察する機会があったので備忘録として記載します。
データは多いほうがいいか
データサイエンスに携わっているとデータ数が十分でないためモデルの精度が悪いという話をよく耳にします。理由として主に以下の2点かと思います。
- 汎化性能の低下
少量のデータに過剰に適合してしまうことで、予測データに対して精度が悪い。
また、そもそもデータ数が少ないため傾向を上手く捉えられない。
極端に言うと2点しかデータがなければそれ以外の空間は想像で予測するしかないため精度が悪いが、ある程度取得できていればそれに合わせた曲線を引けるというイメージ。
- 未知のデータ範囲に対する予測精度が悪い
本来予測したいはずの未知のデータのパターンが学習データにないため予測の精度が悪くなる。
これらのことから短絡的にデータは多いに越したことはないと考えていました。もちろんマシンスペックによる学習時間の増加などの問題はありますが、分析の精度としては多いほうがいいという意味です。
しかし、$EDA$や特徴量エンジニアリングをしていく中では、サンプルサイズが大きすぎると問題があります。
統計的検定におけるデータ量(サンプルサイズ)の影響
上記は主に機械学習におけるモデル学習時のデータ量についてでしたが、統計的な有意差を見たい場合にはデータ量(サンプルサイズ)が大きすぎると有意な結果になりやすい傾向となります。例として$EDA$(探索的データ分析)において変数間の傾向を統計的に比較したい場合を想定します。
母集団の分散が未知のデータの場合の$t$検定量は以下となります。
t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}}}
$2$群の差が大きい場合は$t$検定量が大きくなり、$p$値が有意水準$α$より小さい場合は有意な差があるといえるかと思います。ここでサンプルサイズ($n_1$,$n_2$)が大きい場合どうなるかというと、見てわかる通り分母が小さくなるので$t$検定量が大きくなります。
これは中心極限定理により分母にくる標本分散が$\frac{s_1^2}{n_1}$となるためです。
イメージでいうと、データ数が少ない場合は標本平均のばらつきは大きい(信頼できない)が、データ数が多いと大数の法則により標本平均が母集団の平均と一致するためです。
サンプルサイズさえ大きくしてしまえば、有意な結果である(=差がある)と意図的に言えてしまう恐れがあります。
本来行うべきこと
本来統計的にデータの差を検定する場合は、サンプルサイズから設計することが必要です。
その際、以下の4つを事前に設定することで客観的な判断が可能になります。
- 有意水準
- 検出力
- 効果量
- サンプルサイズ
こちらの説明は割愛しますが、データ量が多ければいいという認識は注意が必要です。
私はこの統計的な手法の考え方と、機械学習のモデル精度向上の考えが混同していました。
今後は分析や論文調査の際には注意して見ていこうと思います。