Exemplo n.º 1
0
def check_fpp_kuiper(F, N, M, thresh=1.):
    ps = []
    while len(ps) < M:
        p = F(np.random.random(N))
        if p < thresh:
            ps.append(p / thresh)

    assert kuiper.kuiper(ps)[1] > 0.01
Exemplo n.º 2
0
def check_fpp_kuiper(F,N,M,thresh=1.):
    ps = []
    while len(ps)<M:
        p = F(np.random.random(N))
        if p<thresh:
            ps.append(p/thresh)
    
    assert kuiper.kuiper(ps)[1]>0.01
Exemplo n.º 3
0
def get_marg_info(sampler):
    '''makes chains into marginalize postierior and does KL and kuiper test against uniform'''
    chains = sampler.flatchain[:,:3]
    out_post = []
    out_div = []
    # sfh
    for i in range(3):
        x, y = np.histogram(chains[:,i], bins=int(np.sqrt(len(chains))))
        post = np.vstack((y[:-1], x/np.sum(x,dtype=float))).T
        out_post.append(post)
        unif = np.ones_like(post[:,1])/post[:,0].ptp()
        out_div.append([kl_diverg(post[:,1], unif), kuiper(post[:,1], unif)[0]])
    #return sfh_post, age_post, met_post, sfh_div, age_div, met_div
    return out_post[0], out_post[1], out_post[2], out_div[0], out_div[1], out_div[1]
Exemplo n.º 4
0
def test_detect_nonuniform():
    D, f = kuiper.kuiper(np.random.random(500) * 0.5)
    assert f < 0.01
Exemplo n.º 5
0
 def F(x):
     return kuiper.kuiper(x)[1]
Exemplo n.º 6
0
def test_uniform():
    for N in [10, 100, 1000, 10000]:
        yield check_uniform, lambda x: kuiper.kuiper(x)[1], N
Exemplo n.º 7
0
def test_weighted():
    a = (np.random.random(100) * 3.4 + 0.8) % 1
    i = (0.8, 4.2, 1)
    b, t = kuiper.fold_intervals([i])
    cdf = kuiper.cdf_from_intervals(b, t)
    assert kuiper.kuiper(a, cdf)[1] > 0.01
Exemplo n.º 8
0
def test_weighted():
    a = (np.random.random(100) * 3.4 + 0.8)%1
    i = (0.8,4.2,1)
    b, t = kuiper.fold_intervals([i])
    cdf = kuiper.cdf_from_intervals(b,t)
    assert kuiper.kuiper(a,cdf)[1]>0.01
Exemplo n.º 9
0
def test_detect_nonuniform():
    D, f = kuiper.kuiper(np.random.random(500)*0.5)
    assert f<0.01
Exemplo n.º 10
0
 def F(x):
     return kuiper.kuiper(x)[1]
Exemplo n.º 11
0
def test_uniform():
    for N in [10,100,1000,10000]:
        yield check_uniform, lambda x: kuiper.kuiper(x)[1], N