[前][次][番号順一覧][スレッド一覧]

mysql:10182

From: Hirofumi Fujiwara <Hirofumi Fujiwara <fuji@xxxxxxxxxx>>
Date: Thu, 16 Sep 2004 20:41:59 +0900 (JST)
Subject: [mysql 10182] Re: 標準偏差値が違う

藤原です

> 芦田と申します。
> 
> よろしくお願いします。
> 
> MySQLで用意されているグループ関数で標準偏差を計算するSTDDEV関数を
> 使用した結果と、Excelの分析ツールで計算した結果が違うのですが
> どうしてでしょう?
> Webで公開されている解析ツール等で標準偏差を確認しても、Excelでの
> 計算結果とは一致するのですが、MySQLでの結果が違います。(>_<)
> 
> 原因がわかる方よろしくお願いします。 m(__)m
> 
> -- MySQLでの結果 ----------------------------------------------
> mysql> show columns from test;
> +-------+---------+------+-----+---------+----------------+
> | Field | Type    | Null | Key | Default | Extra          |
> +-------+---------+------+-----+---------+----------------+
> | id    | int(11) |      | PRI | NULL    | auto_increment |
> | num   | int(11) | YES  |     | NULL    |                |
> +-------+---------+------+-----+---------+----------------+
> 2 rows in set (0.00 sec)
> 
> mysql> select * from test;
> +----+------+
> | id | num  |
> +----+------+
> |  1 |  166 |
> |  2 |  188 |
> |  3 |  164 |
> |  4 |  148 |
> |  5 |  154 |
> |  6 |  178 |
> |  7 |  178 |
> |  8 |  174 |
> |  9 |  160 |
> | 10 |  160 |
> +----+------+
> 10 rows in set (0.00 sec)
> 
> mysql> select count(num), avg(num), stddev(num) from test;
> +------------+----------+-------------+
> | count(num) | avg(num) | stddev(num) |
> +------------+----------+-------------+
> |         10 | 167.0000 |     11.7047 |
> +------------+----------+-------------+
> 1 row in set (0.00 sec)
> 
> -- Excelでの結果 ----------------------------------------------
> 平均	167
> 標準偏差	12.3378
> 標本数	10
> 
> -- 群馬大 青木先生のWebによる統計解析での結果-----------------
> ケース数  平均値           不偏分散           標準偏差
> 10        167.00000000     152.22222222       12.337837016

  遥か昔、30年前くらいに悩んだことがあります。

  これは、母集団標準偏差と、標本標準偏差の違いですね。

  STDDEV_POP  母集団標準偏差 =  (誤差の二乗の和)/n  の平方根
  STDDEV_SAMP 標本標準偏差   =  (誤差の二乗の和)/(n-1)  の平方根
       関数名は、ISO SQL:1999 のものです。
	(技評の『SQLスーパーテキスト』より)

です。
  母集団全部のデータに対しての標準偏差を求めるには、母集団標準偏差を用
い、一部のサンプルを抽出して母集団の標準偏差を推計しようとするときには
標本標準偏差を用いるのだったと思います。
  したがって、データの性質から、どちらの計算式を用いるかが必然的に決まっ
てきます。

サンプルのデータでは、 n = 10 ですから、

  11.7047 *  sqrt(10/9) = 12.3378

となり、MySQLの stddev は 母集団標準偏差であり、Excel では 標本標準偏
差が使われています。

  ところで、MySQLでは、この2つの標準偏差を区別していないようですね。

------------------------------------------------------------------
株式会社 タイムインターメディア       藤原 博文 fuji@xxxxxxxxxx
本社 160-0002 東京都新宿区坂町26-27 IPBビル    TEL 03-5362-9009
URL  http://www.timedia.co.jp/                    FAX 03-5362-9008
地図 http://www.timedia.co.jp/company/map/     新宿線曙橋駅徒歩5分
------------------------------------------------------------------
♪  Puzzle Japan  http://www.puzzle.jp/  毎日新作パズルで遊ぼう ♪
------------------------------------------------------------------

[前][次][番号順一覧][スレッド一覧]

     10160 2004-09-15 16:13 [Kenichi-Ashida <ashi] 標準偏差値が違う                        
     10161 2004-09-15 16:40 ┣["Hiroaki Hata" <hata]                                       
     10165 2004-09-15 17:39 ┃┗[Kenichi-Ashida <ashi]                                     
->   10182 2004-09-16 20:41 ┗[Hirofumi Fujiwara <f]