[確率・統計][C#]母集団の平均を推定する(標本データがあるけど、分散が不明の場合、95%の信頼)

 前での記事[確率・統計][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 件のコメント :

コメントを投稿