[ https://issues.apache.org/jira/browse/MATH-588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz updated MATH-588: ----------------------------- Assignee: (was: Phil Steitz) > Weighted Mean evaluation may not have optimal numerics > ------------------------------------------------------ > > Key: MATH-588 > URL: https://issues.apache.org/jira/browse/MATH-588 > Project: Commons Math > Issue Type: Bug > Affects Versions: 2.1, 2.2 > Reporter: Phil Steitz > Fix For: 3.0 > > > I recently got this in a test run > {code} > testWeightedConsistency(org.apache.commons.math.stat.descriptive.moment.MeanTest) > Time elapsed: 0 sec <<< FAILURE! > java.lang.AssertionError: expected:<0.002282165958997601> but > was:<0.002282165958997157> > at org.junit.Assert.fail(Assert.java:91) > at org.junit.Assert.failNotEquals(Assert.java:645) > at org.junit.Assert.assertEquals(Assert.java:441) > at > org.apache.commons.math.TestUtils.assertRelativelyEquals(TestUtils.java:178) > at > org.apache.commons.math.TestUtils.assertRelativelyEquals(TestUtils.java:153) > at > org.apache.commons.math.stat.descriptive.UnivariateStatisticAbstractTest.testWeightedConsistency(UnivariateStatisticAbstractTest.java:170) > {code} > The correction formula used to compute the unweighted mean may not be > appropriate or optimal in the presence of weights: > {code} > // Compute initial estimate using definitional formula > double sumw = sum.evaluate(weights,begin,length); > double xbarw = sum.evaluate(values, weights, begin, length) / sumw; > // Compute correction factor in second pass > double correction = 0; > for (int i = begin; i < begin + length; i++) { > correction += weights[i] * (values[i] - xbarw); > } > return xbarw + (correction/sumw); > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira