データサイエンティストのひよこ

分析に関する日々の相談事項

データのサンプル数について考え方

サンプル数(標本数)への不安

 「サンプル数っていくつあればいいですか?」ってほんとよく質問される。2週間前くらいにも、○○の分析したいんだけど、どれだけ標本数あればいいのって聞かれた。特に、レアイベントデータでは、全体数が多いのに、注目イベントのデータ件数が少なくて不安になる人が多いようだ。
 サンプル数の決め方については、いくつか目安となる理論があると思う。ただ、データ不十分だと思うので集めてくださいとか言われても困ると思うので、すぐ実行に移せるアドバイスが必要だと思う。私の場合は、このサンプル数が適切ですというアドバイスに加えて、現状のサンプル数ではこういう分析してくださいというアドバイスをしている。

 特に後者の指針を与えている情報が、いまいち聞こえてこなかったので考えてみた。

中心極限定理からの考察

 サンプル数を語る上で、データを集める上では大数の法則が重要だが、分析する上では中心極限定理が重要だと思う。

中心極限定理 - Wikipedia

大数の法則によると、ある母集団から無作為抽出された標本平均はサンプルのサイズを大きくすると真の平均に近づく。これに対し中心極限定理は標本平均と真の平均との誤差を論ずるものである。多くの場合、母集団の分布がどんな分布であっても、その誤差はサンプルのサイズを大きくしたとき近似的に正規分布に従う。

 上の引用文にもあるように、大数の法則では、サンプル数が増えると、真の平均に近づくことを言い、一方で、中心極限定理ではデータの平均と真の平均との誤差に現れる法則を言う定理である。
 後者の中心極限定理は、「母分布」に「平均」と「分散」が存在する場合、データの平均は正規分布に収束するという定理である。つまり、(「平均」と「分散」が存在する分布から)1000個のデータがあったとき、ランダムに50個とって平均を取るという試行を繰り返すと、その平均の分布は正規分布になるよという定理である。

 

 統計学の初学的な理論が正規分布で語られるのは、データがたくさん集まれば中心極限定理正規分布に近くなり、正規分布の場合でとりあえず十分だよねということだと思っている。もちろん、データ分析を行ううえで、こんな単純にはいかないのである。 

「分散」のないべき性の強い分布

 母分布がパレート分布のような強いベキ性をもっていることで、分散が存在しなかったり、標本数Nに対する母平均への収束の仕方が∝1/√Nより遅くなる特徴を持ったりする。
 パレート分布(べき関数分布の一部)とは以下のような分布のことで、分布の持つパラメータによっては、歪度・劣度どころか分散や平均すら持たないこともある。

パレート分布 - Wikipedia

所得の分布をモデリングする分布として提唱した連続型の確率分布である。離散型はゼータ分布(ジップ分布)である。

 をパラメータ、実数  を確率変数 とするときのパレート分布の確率密度関数は以下の式で定義される。

このとき、期待値は 

分散は  である。

 

 aをべき指数という。平均や分散すら持たないというのは、値が0になるという意味でなくて、定義できない・存在しないという意味だ。
 分散が存在しないと、中心極限定理は成り立たず、当然にサンプル数が増大しても正規性を獲得できない。つまり、サンプル数の多さが、逆に正規分布からのはずれを顕著にしてしまうのである。このことで、正規分布を前提にした検定方法や機械学習の方法では、多数のデータがあるにも関わらず、誤った結果がでてしまうことになる。ちなみに、為替の変動、人・企業の所得、購買金額や単語の頻度などの経済社会活動のデータでは、べき関数分布は頻繁に観測される。

 

 さて、最初の話に戻ると、サンプル数を気にする背景として、サンプル数が不十分(あるいは過剰)であることによって、誤った結論を導かないかということであった。たいていの人は、データの少なさを気にするようだが、過剰であることによる過誤も出てきてしまうのだ。

サンプル数に応じた分析

 めんどくさいが、確実な方法として注目する統計量の分布をみることである。正規分布だけでなく、t分布とかF分布とかχ2乗分布も、正規分布に従う確率変数を前提にした分布であることに注意する。そもそも、分散が存在しない限界のべき指数2のべき性があるなら、方法自体を精査する必要がある。

 検定を行うなら、母分布をべき分布としてモンテカルロ法で乱数を発生させて検定。
 回帰を行うなら、最小2乗法をさけて最尤法で行うとか変数の対数値を取る。

 などが雑であるが単純な回避方法だ。理論上は、べき指数が3より大きく、平均や分散が存在する分布であっても、母平均への収束の仕方が1/√Nに比例しないので、かなりのサンプル数がないと平均値の推定が外れてしまうことが多い。

 経験的には、べき性が強い(べき指数3以下ぐらい)ときは分析方針自体を、以上のようにして熟慮する(言い方は無責任だが・・・)。べき性がそれほど強くない場合でも、サンプル数に注意して分析する。

 N~100までは、仮に母分布が正規分布だとしても1/√N~10%程度の誤差を生み出すから、ノンパラで分析してやるほうがいいかもしれない。

 N~1000になると、正規分布なら1/√N~3%くらいの誤差で、標本の最大値が±3.3くらいになる。一方で、分散が存在しないべき指数4の分布でも最大値5くらいで、正規性/べき性の違いでそれほど顕著な違いが出ない領域だと思う(主観)。なので、正規分布の扱いをしてもいいと思う。

 ただ、N>1000になると、べき性が強く現れてきて、データ数が大きくなればなるほど、それに伴って出現する巨大な値に引きずられる。これによって、正規性とべき性の違いによる過誤が生まれる正規分布を前提にした分析方法は、おおきな誤解を生む結果を出力してしまうかもしれない。

 ※ちなみに、この1000<N<10000の領域はべき分布に従う確率変数も1~10の値をとる程度で、1桁違いの変数しかないため、べき分布としても扱いにくい領域である・・・。

 データの情報を活かせるのは、その分布の情報を活かして分析することだと思うので、やはり正規性とべき性の違いがでるデータ数が多いときで間違いないと思う。一方で、誤解を生まないように現状保有するデータのサンプル数に応じて、以上のように分析方法を変えていくことを考えたらよい思う。

まとめ

 べき性に気をつけようと言っているだけで、示唆になったか分からない・・・。もしかしたら、細かい議論は研究論文探ればどこかにあるのかもしれないけど、機械学習やAIや(僕の場合)複雑系科学の論文を追っていると統計検定って、勉強の優先順位がなかなか上がらない。違いを言うだけだけど検定って奥が深いという言い方もできるかもしれないが、勉強するコストに対するアウトプットが限定的だ。いまのところそれが強く求められる場もないし、ある意味うまく避けてきたのかもしれない。

参考

検定して差異を見出す分析を中心に書いたが、実際のデータを扱うときは2次モーメントの計算に注意せよということが言いたい。分散だけでなく、最小2乗法のような計算も最尤法のような方法と最低限使い分けていく必要があるのである。