期望、方差、标准差

2024-11-27  本文已影响0人  追风还是少年

期望

image.png
image.png
image.png

方差

image.png
image.png
  1. 手动计算方差
public class VarianceExample {
    public static void main(String[] args) {
        double[] data = {4, 7, 2, 9, 5};
        
        // 计算均值
        double mean = 0;
        for (double num : data) {
            mean += num;
        }
        mean /= data.length;
        
        // 计算平方差的和
        double sumSquaredDiff = 0;
        for (double num : data) {
            sumSquaredDiff += Math.pow(num - mean, 2);
        }
        
        // 计算方差
        double variance = sumSquaredDiff / data.length; // 对于样本方差,使用 n-1
        System.out.println("Variance: " + variance);
    }
}
  1. 使用 Apache Commons Math 库
    Apache Commons Math 库提供了现成的工具来计算方差:
import org.apache.commons.math3.stat.descriptive.moment.Variance;

public class VarianceExample {
    public static void main(String[] args) {
        double[] data = {4, 7, 2, 9, 5};
        
        Variance variance = new Variance();
        double result = variance.evaluate(data);
        
        System.out.println("Variance: " + result);
    }
}

总结

标准差

image.png
image.png
public class StandardDeviation {
    public static void main(String[] args) {
        // 示例数据
        double[] data = {5, 7, 3, 9, 10};
        
        // 计算均值
        double mean = 0;
        for (double num : data) {
            mean += num;
        }
        mean /= data.length;
        
        // 计算平方差的和
        double sumSquaredDiff = 0;
        for (double num : data) {
            sumSquaredDiff += Math.pow(num - mean, 2);
        }
        
        // 计算标准差
        double standardDeviation = Math.sqrt(sumSquaredDiff / data.length); // 对于样本标准差,使用 n-1
        System.out.println("Standard Deviation: " + standardDeviation);
    }
}

使用 Apache Commons Math 库
如果你使用的是 Apache Commons Math 库,可以更简便地计算标准差:

import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;

public class StandardDeviationExample {
    public static void main(String[] args) {
        double[] data = {5, 7, 3, 9, 10};
        
        StandardDeviation stdDev = new StandardDeviation();
        double result = stdDev.evaluate(data);
        
        System.out.println("Standard Deviation: " + result);
    }
}
上一篇 下一篇

猜你喜欢

热点阅读