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