分散や標準偏差を計算するときにnで割るべきかn-1で割るべきか

統計の勉強はそうでなくても複雑でとっつきにくいのですが、なかでも初心者を簡単にくじく原因は、分散や標準偏差を計算するときにnで割るべきかn-1で割るべきかという混乱だと思います。授業で習ったことと教科書に書いてあることが違っている、複数の教科書を見てみると定義がまちまち。どうしてこういうことが起きているのでしょうか。まず、分散(やその平方根をとった標準偏差)と一言で言っても、実は分散には種類があり定義が異なるということを知ることが大事です。母分散(母標準偏差)、標本分散(標本標準偏差)、不偏分散(不偏標準偏差)という概念を理解すればすべての疑問は氷解します。分散という言葉が出てきたときには、それが、母分散、標本分散、不偏分散の3つのどれのことを指しているのかがわかれば、nで割ればいいのかそれともn-1で割ればいいのかがわかるわけです。

まず高校の数学を思い出しましょう。分散の定義は何だったかというと、

分散 = (1/n) * Σ (データ-平均値)^2

でした。5人の人のテストの点数がデータ=[100, 85, 30, 50, 60] だとします。

平均値 = (100+85+30+50+60)/5 = 65 点ですので、

分散 = (1/5)* {(100-65)^2 + (85-65)^2 + (30-65)^2 + (50-65)^2 + (60-65)^2 } =620

標準偏差は、分散の平方根なので24.9 点となります。高校のときはこれで何も悩まなかったわけです。

ところが大学に入って統計の勉強をすると、母集団から標本を抽出して、抽出した標本の統計量をもとに母集団の統計量を推定するということをやります。例えば、1000人がテストを受けていたとして、そのうちの5人をランダムに抜き出して(標本)たところ、データ=[100, 85, 30, 50, 60] だったというわけです。そうすると、本当に知りたいのは標本データそのもののの平均値や分散ではなくて、母集団1000人の平均値や分散ということになります。つまり母平均や母分散に興味があるのでそれを推定したいのです。現実的には1000人のテストの点もデータとして入手可能な場合もあるでしょうから、1000個のデータに関して上記の分散の定義で計算することができるでしょう。

しかし、それでは実は知りたいのは日本全国の大学1年生にこのテストをさせたときの点数だったとしたらどうでしょうか。そもそも大学1年生全員はテストを受けていません。受けたのは1000人だけだったとします。そうなると、その1000人が実は「標本」だったと考えることもできます。その場合、母集団のデータは手に入りませんので、標本から推測するしかありません。ここまででわかることは、母集団が何で、標本が何かをはっきりさせない限り、議論ができないということです。そこが曖昧だと、統計の勉強がよくわからないということになります。

研究者が実験して測定を繰り返して測定値の平均値を求めたりするのは日常的な行為ですが、この場合の「母集団」は、実際にはあり得ませんが仮想的に考えて、無限回測定を繰り返したときの測定値の集団です。それに対して、「標本」というのは測定を繰り返して得られた測定値のデータセットになります。

さて話を戻すと、上で求めたのはnで割っているので、標本分散だったということになります。高校数学では標本分散のことを単に分散と呼んでいたわけです。ところが、大学以降は単に分散といえば、不偏分散(母分散の推定値)のことを指すことが多いのです。言葉の意味がいつの間にかすり替わっているのに、誰もちゃんとそれを教えてくれなかったから、統計の学習者はみな混乱させられているというわけです。もっとややこしいのは、日本語の言葉遣いの問題で、標本から計算される不偏分散のことを、標本の分散と呼ぶ本もあるようです。つまりその教科書の日本語の言葉遣いにおいては、「標本の分散」は、「標本分散」ではないというわけ。混乱しない人がいたら、そのほうが不思議なくらいです。

分散や標準偏差を計算するときにnで割るべきかn-1で割るべきかという問いの答えは、母集団の母平均を推定したいので、不偏分散を計算しないといけないのが通常。だから、n-1で割るのが通常ということになります。もちろん標本分散を求めなさいといわれたときにはnで割ります。あるいは与えられたデータは母集団のデータ全てですという場合は、標本分散と同じ定義になるので、nで割ることになります。エクセルで標準偏差を求める関数としてSTDEVというものがありますが、これはn-1で割った値を返してくれる関数です。

研究者が測定データをエクセルに入力してSTDEVという関数で標準偏差を求めて論文報告するというのは一般的だと思いますが、その際に報告しているのは「不偏標準偏差」(つまり母集団の標準偏差の推定値)だったのですね。当然といえば当然のことです。

もし高校生が高校の数学の統計の授業で標準偏差を習い、それをエクセルのSTDEVで計算させたときに、食い違いが生じて混乱させられることでしょう。エクセルでは、母標準偏差や標本標準偏差を求める場合には、STDEVPという関数を使います。要注意なのはpythonで、pythonでは標準偏差や分散はデフォルトではnで割った値を返します。

 

参考

  1. STDEVとSTDEVP―2つの標準偏差 BellCurve統計WEB
  2. パッと見でわかる統計学ノート【分散や標準偏差において n-1 で割る公式の理由】 2016年6月3日 / 2020年2月11日 アタリマエ!
  3. 読めば必ずわかる分散分析の基礎 第2版2003年12月5日 小野 滋
  4. 不偏推定量とは?平均と分散を例に分かりやすく解説 AVILEN TREND
  5. 7 母分散の推定(n-1で割る理由)