C♯で誤差に対応するZ値を取得する

提供: MonoBook
ナビゲーションに移動 検索に移動

Z値はMath.NET Numericsを使うと簡単に取得できる。

    using System;
    using MathNet.Numerics.Distributions;

    class MainClass
    {
        public static void Main(string[] args)
        {
            Console.WriteLine(ZValue(0.10));
            Console.WriteLine(ZValue(0.05));
        }

        /// <summary>
        /// 誤差に対応するZ値を取得する
        /// </summary>
        /// <returns>Z値</returns>
        /// <param name="error">誤差</param>
        public static double ZValue(double error)
        {
            // 標準偏差表を取得する
            var n = new MathNet.Numerics.Distributions.Normal();

            // 誤差5%だとすると標準偏差表の中央から左右2.5%(計5%)の位置にある値がZ値
            var pitch = 1.0 - (error / 2.0);
            var z = n.InverseCumulativeDistribution(pitch);
            return z;
        }
    }