共分散を計算する関数COVARIANCE.PとCOVARIANCE.Sの違い




エクセルで共分散を計算する関数として、COVARIANCE.P とCOVARIANCE.S の2つがあります。両方とも共分散を計算する関数なのですが、お尻についた「P」と「S」の違いはなんなんでしょうか?

COVARIENCE.P とCOVARIENCE.Sの違い

COVARIANCE.Pは、母集団の共分散を計算します。母集団のデータが100個あって、その100個をすべて得て、共分散を求めるのであれば、こちらを使います。

COVARIANCE.Sは、母集団から抜き取った標本の共分散を計算する場合です。

母集団と標本の意味については、こちらの記事に書いています。

参考記事 母集団と標本の意味とその違い

共分散の計算手順としては、まず、各データxとyの偏差を計算し、それらを足し合わせまます。その後、データ数で割って共分散を求めるわけです。

エクセルでCOVARIENCE.P(S)関数を使った計算方法

COVARIENCE.S 関数を使う場合

COVARIENCE.S 関数をつかうのは、計算につかうデータが標本データの場合です。

メーカーでとある製品を毎日毎日つくり続けているとします。30個ぶん、この製品のサイズ・重量をはかって、それらの共分散を計算するときのことを考えてみましょう。

メーカは、この製品をずっとつくり続けてきており、これからもつくり続けます。

ある日、30個だけのサイズと重量をはかるといっても、その30個についてだけを知りたいのではありません。ずっとつくり続けている製品すべてのサイズ・重量について知りたいのです。

そのような調査対象全体のことを母集団といいます。

過去から未来にかけてのすべての製品が母集団となるでしょう。こういった、数は無限であると考えられる母集団は、無限母集団といいます。

製品30個は、その無限母集団から取り出した一部分であり、これが標本です。

この場合に、共分散を計算するとしら、COVARIANCE.S をつかいます。

COVARIANCE.S の「S」は、sample(標本)の「S」で、英語で言うと母集団はpopulationです。COVARIANCE.P の「P」は population の「P」でしょう。

標本のデータで計算するならCOVARIANCE.S を使い、母集団全体のデータで計算するならCOVARIANCE.P を使います。

標本データから計算した共分散は、母集団の共分散よりも小さくなる傾向があります。

データからそのまま共分散を計算するのが、COVARIENCE.P 関数ですが、それで計算すると、ほんとうに知りたいと思っている母集団の共分散から、小さい方にズレが出やすくなります。

標本のデータをつかって共分散を求めるときでも、私たちが知りたいのは、母集団の共分散のはずです。

COVARIANCE.P 関数よりも、COVARIANCE.S 関数をつかったほうが、計算された共分散の値が大きくなるようになってますから、これによって、補正をする意味合いがあります。

COVARIANCE.S 関数で、母集団の共分散を推定することになります。

COVARIENCE.P 関数を使う場合

一方で、COVARIENCE.P 関数をつかうのは、計算につかうデータが母集団全体のデータの場合です。

ある高校で学生300人分の身長・体重を測定したとします。この300人のデータの特性を知りたいという考えであれば、母集団が300人だということになります。

得られたデータが母集団全体のデータであるときには、COVARIANCE.P 関数をつかいます。

データ数が多ければ、PとS、どちらを使ってもいい

ふつう、なにかの調査のためにデータを集めるときには、母集団すべてのデータを集められることは少ないです。標本を集めて、母集団の特性を推定することが多いでしょう。

となると、それは標本ですから、COVARIANCE.S 関数を選ぶ場面のほうが多いでしょう。

でも、データ数が多くなればなるほど、結局どちらをつかってもよくなります。

とある10人の身長と体重のデータがあります。この共分散をCOVARIENCE.S 関数、COVARIANCE.P 関数で計算してみましょう。

  • COVARIANCE.P → 19.08
  • COVARIANCE.S → 21.20

COVARIENCE.P のほうが小さい値になりました。

データ数を増やして100人の身長・体重データ(エクセルでランダムにつくったデータ)で計算すると、データ掲載は割愛しますが、

  • COVARIANCE.P → 47.3484
  • COVARIANCE.S → 47.8266

となりました。0.5程度の差しかありませんね。さらにデータが増えれば、ほとんど差がなくなっていきます。

厳密には、COVARIANCE.P とCOVARIANCE.S で計算結果の数値は違っているわけですが、わずかな数値の違いなので、データ数が多い場合は、どちらをつかってもいいかと思います。

ただし、標本のデータ個数がほんとうに少ないときに、共分散を計算する場合は、COVARIENCE.Sをつかったほうがよいという話です。