2 種類の標準偏差関数

Oracle Database には2種類の標準偏差関数があります。

STDDEV_POP

母集団標準偏差および標本標準偏差を戻します。

SELECT STDDEV_POP(amount_sold) "Pop",
   STDDEV_SAMP(amount_sold) "Samp"
   FROM sales;

ウィキペディアに以下のように書かれており気になったのでOracleDBではどうなのか動作を確認してみました。

標準偏差 - Wikipedia

統計の教科書によっては n-1 で割ったものが標本分散という名称になっており用語が混乱して使用されている場合がある。

8つのサンプル値は以下英語Wikipediaページのものを使います。

Standard deviation - Wikipedia, the free encyclopedia

consider a population consisting of the following eight values:

SQL> l
  1  with samples as (
  2  select regexp_substr('2,4,4,4,5,5,7,9','[^,]+',1,level) as value
  3  from dual connect by level<=8
  4  )
  5* select stddev_pop(value) from samples
SQL> /

STDDEV_POP(VALUE)
-----------------
                2

SQL> c/pop/samp
  5* select stddev_samp(value) from samples
SQL> l
  1  with samples as (
  2  select regexp_substr('2,4,4,4,5,5,7,9','[^,]+',1,level) as value
  3  from dual connect by level<=8
  4  )
  5* select stddev_samp(value) from samples
SQL> /

STDDEV_SAMP(VALUE)
------------------
        2.13808994

とりあえず多数派の定義の方と結果が一致して安心しました。
ちなみにExcelもそうです。STDEVP() vs. STDEV()

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today