poissondistributiontest.java

来自「一个自然语言处理的Java开源工具包。LingPipe目前已有很丰富的功能」· Java 代码 · 共 60 行

JAVA
60
字号
package com.aliasi.test.unit.stats;import com.aliasi.stats.PoissonDistribution;import com.aliasi.test.unit.BaseTestCase;public class PoissonDistributionTest extends BaseTestCase {        public void testOne() {        PoissonDistribution dist = new PoissonTest(2.0);    assertPoissonTwo(dist);    }    public void testExceptions() {        PoissonDistribution dist = new PoissonTest(2.0);    assertTrue(Double.NEGATIVE_INFINITY == dist.log2Probability(-1));    assertEquals(0.0,dist.probability(-1),0.005);        dist = new PoissonTest(-1.0);    try {        dist.log2Probability(5);        fail();    } catch (IllegalStateException e) {        assertTrue(true);    }        }    static void assertSumOne(PoissonDistribution dist) {        double sum = 0.0;        for (int i = 0; i < 100; ++i) {            double logProbI = dist.log2Probability(i);            double probI = Math.pow(2.0,logProbI);            sum += probI;        }        assertEquals(1.0,sum,0.005);    }    static void assertPoissonTwo(PoissonDistribution dist) {        assertSumOne(dist);    assertEquals(0l,dist.minOutcome());    assertEquals(Long.MAX_VALUE,dist.maxOutcome());    assertEquals(2.0,dist.mean(),0.0001);    assertEquals(2.0,dist.variance(),0.0001);    }    static class PoissonTest extends PoissonDistribution {        private final double mLambda;        public PoissonTest(double lambda) {            mLambda = lambda;        }        public double mean() {            return mLambda;        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?