標準偏差の求め方について助けてください。

[戻る]
SH [E-Mail] 2002/09/26(木) 15:47:33
いつもお世話になっております。
ただ今、検査データの標準偏差を求めるプログラムを作っているのですが、

標準偏差=√(各データの2乗の平均) - (各データの平均の2乗)

という式を昔の数学の本で調べまして、

int    cnt;        // データ件数
double sum;        // データ合計
double powsum;     // 2乗合計
double ave;        // 平均
double sigma;      // 標準偏差

ave   = sum / cnt;
sigma = sqrt(powsum/cnt - pow(ave,2));

という処理を作りました。検査のたびに、データ件数、データ合計、データ2乗
合計を更新し、標準偏差を求めたいタイミングで、上記の処理を行い、算出する
ようにしました。雑誌についていた標準偏差のサンプルプログラムと値が一致
したので、OKだと思ったのですが、客先からの要求は、「ExcelのSTDEV関数
と同じように標準偏差を求めたい」というものであることが分かりまして、困って
おります。というのも、例えば10.11.12の3つの値で標準偏差を求めた場合、
私の作った処理ですと、0.8〜という値が出ます。データ合計をデータ件数で割った
時点で、121.6666・・・という値が出てしまいます。ところが、STDEV関数ですと、
ぴったり1という値が出ます。VCでExcelのSTDEV関数を使う方法を調べたのですが、
どうしても分かりません。どなたかお分かりになる方、教えて下さい。
よろしくお願い致します。

dairygoods 2002/09/26(木) 16:04:16
ExcelのヘルプでSTDEVを調べましょう。
算出式が書いてあります。

たいちう 2002/09/26(木) 16:10:35
Excelのヘルプで、Stdev関数の定義と計算方法を確認して下さい。
それによると、標準偏差の定義には別の式を使っています。

数学的な意味は忘れてしまいましたが、
必要なら統計学の初歩について、調べて下さい。

SH [E-Mail] 2002/09/26(木) 16:25:43
ありがとうございます。ただ今確認しまして、プログラムを修正し、
成功しました。
困ったらまずヘルプ、を忘れておりました。
感謝いたします。

古いスレッドには追加発言できません。