期望、方差、标准差

期望

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);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容