def test_exact_median(): points = range(15) # Odd number of points h = StreamHist(maxbins=17) h.update(points) assert h.median() == 7 points = range(16) # Even number of points h = StreamHist(maxbins=17) h.update(points) assert h.median() == 7.5
def test_median_mean(): points = 10000 h = StreamHist() for p in make_uniform(points): h.update(p) assert about(h.median(), 0.5, 0.05) h = StreamHist() for p in make_normal(points): h.update(p) assert about(h.median(), 0, 0.05) assert about(h.mean(), 0, 0.05)
def test_freeze(): points = 100000 h = StreamHist(freeze=500) for p in make_normal(points): h.update(p) assert about(h.sum(0), points / 2.0, points / 50.0) assert about(h.median(), 0, 0.05) assert about(h.mean(), 0, 0.05) assert about(h.var(), 1, 0.05)
def test_freeze(): points = 100000 h = StreamHist(freeze=500) for p in make_normal(points): h.update(p) assert about(h.sum(0), points/2.0, points/50.0) assert about(h.median(), 0, 0.05) assert about(h.mean(), 0, 0.05) assert about(h.var(), 1, 0.05)