我有一套基准数据,我使用Apache Math Commons计算汇总统计数据.现在我想使用包来计算例如数据的算术平均值的置信区间.运行时间测量.
这是可能的吗我相信该包支持这一点,但是我从哪里开始就失败了.
这是我最终用Brent Worden的建议使用的解决方案:
private double getConfidenceIntervalWidth(StatisticalSummary statistics,double significance) { TDistribution tDist = new TDistribution(statistics.getN() - 1); double a = tDist.inverseCumulativeProbability(1.0 - significance / 2); return a * statistics.getStandardDeviation() / Math.sqrt(statistics.getN()); }
解决方法
Apache Commons Math没有直接支持构建置信区间.然而,它确实有一切需要计算它们.
首先,使用SummaryStatistics或其他一些其他StatisticalSummary实现来将您的数据汇总到样本统计数据中.
接下来,使用TDistribution计算所需置信度的临界值.自由度可以从总结统计资料n推断.