忙しい現代人の腰&肩のお悩み対策!

EXCEL2002でSTDEV関数を用い標準偏差を出力しておりまして、通常対象となる数値(データ)が全て同じ値となる場合は平均値も同じ値となるため標準偏差"0"となるかと思うのですが、数値が3.974でn数が3,5,6,7の場合"0.0000000596…"のように"0"にならず、頭を悩ませております。
そこで質問なのですが、ズバリ『何故"0"という結果が出ないのか』です。単純な事かもしれませんが有識者の皆様、是非ご教授下さいますようお願い申し上げます。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

エクセルの浮動小数点の計算桁数は確か16桁です。


無限の桁で計算しませんので当然誤差が生じます。
いまの場合を本来無限の桁数を計算すれば0になるはずですが,
有限桁で行うと0にならない場合もあります。
単純な話。
1/3=0.333333333333・・・・
両辺に3をかけると左辺は1になりますが右辺は0.99999999・・・
ですよね。
特に浮動小数点の10進数を2進数の浮動小数点であらわすと0.5とか0.25とかで無い限り,無限桁でないとあらわせませんから,なおさらです。
エクセル2003では多少計算精度が向上しておりこのようなことが起こりにくくはなっているようです。
以下のリンクを参考にしてください。

こういう場合は有効数字の考え方を導入して,もとのデータの有効数字が4桁の場合は標準偏差も4桁と考えて5桁目を四捨五入すべきです。

参考URL:http://support.microsoft.com/kb/826112/ja
    • good
    • 0
この回答へのお礼

早速の回答有難う御座います。
なぜ問題にしたかというと、出力された標準偏差の値を別の計算で参照しており、その結果が不自然な値となったからです。
実際は小数点以下4位程度を表示し運用しているため、『表示桁数で計算する』オプションを有効にして対処しました。
大変参考になりました。有難う御座いました。

お礼日時:2007/02/24 02:16

こんばんは。



>ズバリ『何故"0"という結果が出ないのか』

それは、簡単です。数値が3.974 なら、そのデータを1000 倍すればよいです。そして、出てきた値を 1000分の1にすればよいです。(0なら必要はありませんが)

小数点は、それを表現するために、元から丸め誤差が存在している可能性が強いので、プログラムなどでは、整数計算するというのが、コンピュータの常識なのですが、こうした表計算では、いくつかの方法があります。人によって好みもありますが、あまり安易に数値そのものを処理しないほうがよいようです。こういう問題は、精度をどこまで求めるか、ということを最初に念頭においてから、処理したほうがよいです。

つまり、#1 さんのご指摘のように、"0.0000000596…"のような数値で、元の桁数は、小数点第3位までですから、第4位を四捨五入か、切捨てにしますから、これは、0とみなされます。そういう論理が、あまり好まれないようでしたら、1000倍にするという方法があるわけです。
    • good
    • 0
この回答へのお礼

回答有難う御座います。
なるほど、整数で計算させるのですね。
とても参考になりました。有難う御座いました。

お礼日時:2007/02/24 02:17

たぶんコンピュータの誤差が原因でしょう。



現在のコンピュータは内部では2進数で計算していますが,小数が付いている10進数を2進数に変換するとほとんどの数値が循環小数になってしまいます。そのため,誤差が出ていると思われます。

> "0.0000000596…"のように

標準偏差の概念からすれば,この数値は"0"とみなせます(この程度ずれていても実害は無い)。
平均点の偏差値を50とするために50を足してみてください。50.0000000596・・・となるかもしれませんが,50と同じ(平均点と同じ)とみなせるでしょう。
    • good
    • 0
この回答へのお礼

早速の回答有難う御座います。
演算誤差ということですね。本回答を受け確信致しました。
有難う御座いました。

お礼日時:2007/02/24 02:15

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル STDEVとSTDEVPの違い

エクセルの統計関数で標準偏差を求める時、STDEVとSTDEVPがあります。両者の違いが良くわかりません。
宜しかったら、恐縮ですが、以下の具体例で、『噛み砕いて』教えて下さい。
(例)
セルA1~A13に1~13の数字を入力、平均値=7、STDEVでは3.89444、STDEVPでは3.741657となります。
また、平均値7と各数字の差を取り、それを2乗し、総和を取る(182)、これをデータの個数13で割る(14)、この平方根を取ると3.741657となります。
では、STDEVとSTDEVPの違いは何なのでしょうか?統計のことは疎く、お手数ですが、サルにもわかるようご教授頂きたく、お願い致します。

Aベストアンサー

データが母集団そのものからとったか、標本データかで違います。また母集団そのものだったとしても(例えばクラス全員というような)、その背景にさらならる母集団(例えば学年全体)を想定して比較するような時もありますので、その場合は標本となります。
で標本データの時はSTDEVを使って、母集団の時はSTDEVPをつかうことになります。
公式の違いは分母がn-1(STDEV)かn(STDEVP)かの違いしかありません。まぁ感覚的に理解するなら、分母がn-1になるということはそれだけ結果が大きくなるわけで、つまりそれだけのりしろを多くもって推測に当たるというようなことになります。
AとBの違いがあるかないかという推測をする時、通常は標本同士の検証になるわけですので、偏差を余裕をもってわざとちょっと大きめに見るということで、それだけ確証の度合いを上げるというわけです。

QExcelの標準偏差

Excelについてです。(OSはWIN中国語XPでOfficeXP使用)
どなたか教えてください。

まず基本のデータがあります。
これらの平均(Average)を求めるのは出来ます。

散らばり具合をみる標準偏差(Standard deviation)も別口(単体)ではできます。

で、ココからが問題なのですが、これを一緒のセル内で表示&計算することは出来るでしょうか?確か出来ますよねぇ?

専門用語が今一わからないので、お恥ずかしいのですが、ようは、一つのセル内で標準と標準偏差の表示をすると言う事なのです。
「標準 ± 標準偏差」
 
数も数なので、一緒くたに計算できると非常に楽です。その際、どの式を使えば良いのかを教えていただければ助かります。

よろしくお願いいたします。

Aベストアンサー

=AVERAGE(A1:F1)&"±"&STDEV(A1:F1)
ただ、小数点がずらずら並んでしまいますので、
round系の関数と組み合わせたほうがすっきりします。


人気Q&Aランキング