[確率・統計][C#]母集団の分散を推定する

標本データから、母集団の分散を求めるには(カイ)二乗分布を使います。
サンプルデータから不偏分散を求めます。

この不偏分散と(カイ)二乗分布を使うと分散は以下で表されます。

これをコードで書くと以下のようになります。

using System;
using System.Collections.Generic;
using System.Text;
using MathNet.Numerics.Distributions;

namespace GuessDeviation
{
    class GuessVariance
    {
        public class Result
        {
            public double min;
            public double max;
        }

        //信頼区間95%での母分散を推定する
        //@param in sample_variance 標本分散
        //@param in data_count 標本平均を求めたデータの個数
        //@returm Result値(推測される母分散の最大と最小)
        public static Result calculate(double sample_variance, double data_count) {
            Result result = new Result();

            result.min = data_count * sample_variance / Math.Abs(ChiSquared.InvCDF(data_count - 1, 1.0 - 0.025));
            result.max = data_count * sample_variance / Math.Abs(ChiSquared.InvCDF(data_count - 1, 1.0 - 0.975));

            return result;
        }
    }
}

参考文献

この記事は以下の書籍のP123~P128を参考にしています。
非常に分かりやすく書かれていますので、ぜひご参考ください。

0 件のコメント :

コメントを投稿