こんにちは、えびかずきです!
今回はエクセルで標準偏差を計算する時、どの関数を使えば良いかについて説明します。
最初に結論を言ってしまうと、
データが全部揃っているなら、STDEV.P(母集団の標準偏差)
データが全部揃ってないなら、STDEV.S(標本から推定する母集団の標準偏差)
を使えば良いです。
ではその根拠について説明していこうと思います。
Excelで使える標準偏差の関数
Excel office365 ver1902、Excel for mac 2016のエクセルで確認したところ、
現状、標準偏差の計算に使える関数は以下の6種類もあります。
①STDEV.P:
母集団(population)の標準偏差
②STDEV.S:
標本(sample)から推定する母集団の標準偏差
③STDEVP:
STDEV.Pと同じ
(ただしExcel2007以前の下位互換)
④STDEV:
STDEV.Sと同じ
(ただしExcel2007以前の下位互換)
⑤STDEVPA:
STDEV.Pと同じ
(ただし文字列=0,TRUE=1,FALSE=0でカウントする)
⑥STDEVA:
STDEV.Sと同じ
(ただし文字列=0,TRUE=1,FALSE=0でカウントする)
意味を知らないとどれを使えば良いか迷ってしまいますよね。。。
でも結局はSTDEV.PとSTDEV.Sだけ覚えておけばOKです。
STDEV.Sは標準偏差ではない
標準偏差は下式で表される統計量で、エクセル関数ではSTDEV.Pが該当します。
\(σ=\sum_i^n\sqrt{\dfrac{(x_i-μ)^2}{n}}\)
σ:標準偏差, μ:母集団平均, \(x_i\):母集団データ
一方でSTDEV.Sは下式で表され、(n-1)の部分が上とは少し違います。
\(\sum_i^n\sqrt{\dfrac{(x_i-\overline{x})^2}{n-1}}\)
\(\overline{x}\):標本平均, \(x_i\):標本データ
というのも、
これは母集団の一部である標本データから推定した母集団の標準偏差を表しているからです。
例えば、あるクラスの学生のテスト結果など、母集団のデータが全て揃っている場合にはSTDEV.Pを使います。
一方、なんらかの実験で得た測定データなど、母集団のデータが全て揃っていない状況ではSTDEV.Sを使って母集団の標準偏差を推定するという使い方ができます。
n-1はどういう意味か?
STDEV.Sの方にn-1の項がある理由は、
単純に標本の標準偏差を計算すると、母集団の標準偏差よりも小さい値をとりやすいためです。
つまり標本の標準偏差の期待値は、母集団の標準偏差よりも小さいということです。
これは極端な例を考えると理解しやすいです。
例えば標本がn=1だとしましょう。
この場合、標本データxと標本の平均\(\overline{x}\)が等しくなってしまうので、
母集団の標準偏差にかかわらず標本の標準偏差は0になってしまいます。
(もちろん期待値も0です。)
これは明らかに母集団の標準偏差とは異なります。
これを踏まえて、nを大きくした場合を考えてみましょう。
この場合、標本の平均が母集団の平均からずれた分だけ標本の標準偏差は小さく計算されます。
よってやはり標本の標準偏差は母集団の標準偏差よりも小さくなってしまうのです。
このn-1の項についてはもちろん数式できちんと導出できるのですが、
あまり長々とした数式を眺めるのもつらいと思うのでここでは割愛します。
気になる方は参考文献、参考記事のリンクから導出を確認できます。
STDEVP/STDEVはSTDEV.P/STDEV.Sと何が違うのか?
STDEVP/STDEVPはExcel2007以前のバージョンで使われていた関数で、
STDEV.P/STDEV.Sの下位互換です。
計算の中身自体は変わらないですが、使えるExcelのバージョンが違うというだけです。
要するに古いファイルを開いた時でも関数がちゃんと計算できるよう
Microsoftさんが古い関数も互換性を調整して残してくれているというわけです。
ただし今後のバージョンアップでいつ使えなくなるかわかりませんので、
新しくファイルを作成する時は迷わず、STDEV.P/STDEV.Sの方を使いましょう。
STDEVPA/STDEVAはSTDEV.P/STDEV.Sと何が違うのか?
末尾に”A”がついたSTDEVPA/STDEVAは、
引数(参照する値)として文字列もしくはTRUE/FALSEが参照された時にどうするがが違います。
STDEV.P/STDEV.Sでは無視されるのに対して、STDEVPA/STDEVAでは
文字列=0
TRUE=1
FALSE=0
というカウントのされ方をします。
まあ特別な理由のない限りこの関数を使うことはないでしょう。
例えば、以下のような例であればこちらの関数を使うメリットがあるかもしれません。
測定データに含まれるND(検出されず)の文字列を、0としてカウントしたいという場合などには、こちらの関数が有効です。
ところでAはどういう意味なんだろう。Additionalとか+αとかそういうのかな?
分散の場合
分散も同様に6種類の関数が用意されています。
①VER.P:
母集団(population)の分散
②VER.S:
標本(sample)から推定する母集団の分散
③VERP:
VER.Pと同じ(Excel2007以前の下位互換)
④VER:
VER.Sと同じ(Excel2007以前の下位互換)
⑤VERPA:
VER.Pと同じ
(文字列=0,TRUE=1,FALSE=0でカウントする)
⑥VERA:
VER.Sと同じ
(文字列=0,TRUE=1,FALSE=0でカウントする)
こちらも標準偏差と同様、
データが全部揃っているなら、VER.P(母集団の分散)
データが全部揃ってないなら、VER.S(標本から推定する母集団の分散)
を使えば良いです。
まとめ
今回は、エクセルで標準偏差を計算する場合の関数の使い方について説明しました。
エクセルはたくさんの関数が用意されていて便利な反面、種類が多すぎて使いこなせないという方も多いと思います。
必要に応じて勉強しながら使いましょう!
参考記事
下の記事にn-1の証明があります。
https://mathtrain.jp/huhenbunsan
参考書籍
今回の記事を作成するにあたって参考にさせていただきました。
コメントを書く