.计算标准偏差
.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;
}
我有一个在谷歌搜索时找不到的问题。
我有一个数据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;
}