C# 计算方差

50,100,100,60,50 计算他们的方差

为了计算这些数的方差,需要进行以下步骤:

1. 计算平均值,即将这些数相加,然后除以它们的数量。

平均值 = (50 + 100 + 100 + 60 + 50) / 5 = 72

2. 计算每个数与平均值的差值。

50 - 72 = -22 100 - 72 = 28 100 - 72 = 28 60 - 72 = -12 50 - 72 = -22

3. 对每个差值进行平方。

(-22)^2 = 484 28^2 = 784 28^2 = 784 (-12)^2 = 144 (-22)^2 = 484

4. 计算所有平方差的平均值。

(484 + 784 + 784 + 144 + 484) / 5 = 535.2

因此,这些数的方差为535.2。


        public static double GetSigma(List<double> dataList)
        {
            var u = dataList.Average(); //平均值
            var sum = dataList.Sum(p => Math.Pow(p - u, 2));
            var sigma = Math.Sqrt(sum / (dataList.Count - 1));
            return sigma;
        }

结果:方差为535.2。

要确定异常值的差值,你需要先计算数据的方差。方差是用来衡量一组数据的离散程度,即数据的波动情况。如果方差较大,说明数据的波动很大,而如果方差较小,说明数据的波动较小。

一般来说,如果一个数据点与其它数据点的差值超过了3倍的标准差,那么它就被认为是一个异常值。因此,你可以先计算数据的标准差,然后将其乘以3,即可得到异常值的差值。具体步骤如下:

1.计算数据的方差,公式为:方差 = ∑(Xi - X平均)² / (N - 1),其中Xi为第i个数据点,X平均为所有数据点的平均值,N为数据点的总数。

2.计算数据的标准差,公式为:标准差 = 方差的平方根。

3.将标准差乘以3,即可得到异常值的差值。

例如,如果你有一个数据集合 {50, 100, 100, 60, 50},那么它的方差可以通过以下公式计算:方差 = ((50-72)² + (100-72)² + (100-72)² + (60-72)² + (50-72)²) / (5-1) ≈ 1190.67。

接下来,计算标准差:标准差 = 方差的平方根 ≈ 34.49。

最后,将标准差乘以3,即可得到异常值的差值:异常值的差值 = 34.49 * 3 ≈ 103.47。因此,如果一个数据点与其它数据点的差值超过103.47,那么它就被认为是一个异常值。

Guess you like

Origin blog.csdn.net/u010919083/article/details/129752823