.计算标准偏差

.Compute for Standard Deviation

我有一个在谷歌搜索时找不到的问题。

我有一个数据table,其大小会根据我们用于临床研究的原始数据而波动。

        public double calculateInterCv()
    {
        object DeviationCalculated = DataToCalculate.Compute("StDev([Mean])", "");
        object grandMeanCalculated = DataToCalculate.Compute("Avg([Mean])", "");
        double deviation = Convert.ToDouble(DeviationCalculated);
        double grandMean = Convert.ToDouble(grandMeanCalculated);
        double interCv = (deviation / grandMean) * 100;

        return interCv;
    }

如您所见,我正在使用 .Compute("stDev([])") 计算均值 table 中的所有条目。我对数据进行了比较,似乎不对。有谁知道 stDev 是使用 n-1 来求标准差还是只是 n?

这是我自己想出来的。对于那些感兴趣的人,标准偏差没有在第 1 行中显示正确的值。下面是给我们正确值的原因。

    public double CalculateStandardDeviation()
    {
        int count = DataToCalculate.Count;

        double average = DataToCalculate.Average();
        double sum = DataToCalculate.Sum(d => Math.Pow(d - average, 2));
        double deviation = Math.Sqrt(sum / (count-1));

        return deviation;
    }