前での記事[確率・統計][C#]母集団の平均を推定する(95%の信頼)を書きました。この記事は、標準偏差σが分かっていることが前提となっています。
残念ながら、標準偏差は分からないことが多いです。このため、標準偏差では泣く、以下の式の不偏分散を代用して母平均を求めます。
不偏分散を用いると平均μの区間を求める式は以下となります。
この式に従い平均を求めるコードを書くと以下になります。
using System;
using System.Collections.Generic;
using System.Text;
namespace GuessPopulationMean
{
class GuessPopulationMean
{
public class Result {
public double min;
public double max;
}
//信頼区間95%での母平均を推定する
//@param in sample_variance 標本分散
//@param in data_count 標本平均を求めたデータの個数
//@param in sample_average 標本平均
//@returm Result値(推測される母平均の最大と最小)
public static Result calculateWithSample(double sample_variance, double data_count, double sample_average)
{
Result result = new Result();
//不偏分散を求める
double variance = (1.0 / (data_count - 1.0)) * (sample_variance * data_count);
double t = Math.Abs(MathNet.Numerics.Distributions.StudentT.InvCDF(0, 1, data_count - 1, 0.025));
double tmp = t * Math.Sqrt(variance / data_count);
result.min = sample_average - tmp;
result.max = sample_average + tmp;
return result;
}
}
}
参考文献
この記事は以下の書籍のP112~P121を参考にしています。非常に分かりやすく書かれていますので、ぜひご参考ください。


0 件のコメント :
コメントを投稿