Exemple #1
0
def one_axis_test():
    data = pickle.load(open("../mouseretina/component.2.3.pickle", 'r'))
    conn_true = data['conn_dist_hist']
    conn_false = data['noconn_dist_hist']
    print "true_count = ", len(conn_true)
    print "false_count=", len(conn_false)
    p_max = 0.98
    p_min = 0.02
    mu_hp = 2.0
    lamb_hp = 5.0
    mu = 10.0
    lamb = 10.0
    pylab.figure()
    pylab.plot(data['bins'][:-1], data['p'])
    for S in range(10):
        mu, lamb = slice(conn_true,
                         conn_false,
                         mu,
                         lamb,
                         mu_hp,
                         lamb_hp,
                         p_min,
                         p_max,
                         ITERS=30)

        pylab.plot(data['fine_bins'],
                   logistic(data['fine_bins'], mu, lamb) * (p_max - p_min) +
                   p_min,
                   c='r')

    pylab.show()
def score_component(conn_true, conn_false, mu, lamb, mu_hp, lamb_hp, 
                    p_min, p_max):
    score = 0.0
    p_range = p_max - p_min 
    
    for d in conn_true:
        p = logistic(d, mu, lamb) * p_range + p_min
        score += np.log(p)

    for d in conn_true:
        p = logistic(d, mu, lamb) * p_range + p_min
        score += np.log(1.0 - p)
        
    prior = log_exp_dist(mu, mu_hp)
    prior += log_exp_dist(lamb, lamb_hp)

    score += prior

    return score
Exemple #3
0
def score_component(conn_true, conn_false, mu, lamb, mu_hp, lamb_hp, p_min,
                    p_max):
    score = 0.0
    p_range = p_max - p_min

    for d in conn_true:
        p = logistic(d, mu, lamb) * p_range + p_min
        score += np.log(p)

    for d in conn_true:
        p = logistic(d, mu, lamb) * p_range + p_min
        score += np.log(1.0 - p)

    prior = log_exp_dist(mu, mu_hp)
    prior += log_exp_dist(lamb, lamb_hp)

    score += prior

    return score
Exemple #4
0
def grid():

    data = pickle.load(open("../mouseretina/component.0.1.pickle", 'r'))
    conn_true = data['conn_dist_hist']
    conn_false = data['noconn_dist_hist']

    N = 200
    p_max = 0.95
    p_min = 0.05
    x = np.zeros((N, N))
    mus = np.linspace(0.0, 10, N)
    lambs = np.linspace(0.0, 4, N)
    for i, mu in enumerate(mus):
        for j, lamb in enumerate(lambs):
            mu_hp = 10.0
            lamb_hp = 10.0

            x[i, j] = score_component(conn_true, conn_false, mu, lamb, mu_hp,
                                      lamb_hp, p_min, p_max)
    x -= np.max(x)

    mu_i, lamb_i = np.unravel_index(np.argmax(x), x.shape)

    pylab.figure()
    pylab.plot(data['bins'][:-1], data['p'])
    pylab.plot(data['bins'],
               logistic(data['bins'], mus[mu_i], lambs[lamb_i]) *
               (p_max - p_min) + p_min,
               c='r')

    pylab.figure()
    pylab.imshow(x)
    pylab.colorbar()
    pylab.figure()
    for ki, k in enumerate([1, 10, 20, 30]):
        pylab.subplot(4, 1, ki + 1)
        p = np.exp(x[:, k]) / np.sum(np.exp(x[:, k]))
        pylab.plot(mus, p)
        pylab.grid()

    pylab.show()
def grid():

    data = pickle.load(open("../mouseretina/component.0.1.pickle", 'r'))
    conn_true = data['conn_dist_hist']
    conn_false = data['noconn_dist_hist']

    N = 200
    p_max = 0.95
    p_min = 0.05
    x = np.zeros((N, N))
    mus = np.linspace(0.0, 10, N)
    lambs = np.linspace(0.0, 4, N)
    for i, mu in enumerate(mus):
        for j, lamb in enumerate(lambs):
            mu_hp = 10.0
            lamb_hp = 10.0

            x[i, j] = score_component(conn_true, conn_false, mu, lamb, 
                                      mu_hp, lamb_hp, 
                                      p_min, p_max)
    x -= np.max(x)

    mu_i, lamb_i =  np.unravel_index(np.argmax(x), x.shape)

    pylab.figure()
    pylab.plot(data['bins'][:-1], data['p'])
    pylab.plot(data['bins'], logistic(data['bins'], mus[mu_i], 
                                      lambs[lamb_i])*(p_max - p_min) + p_min, c='r')

    pylab.figure()
    pylab.imshow(x)
    pylab.colorbar()
    pylab.figure()
    for ki, k in enumerate([1, 10, 20, 30]):
        pylab.subplot(4, 1, ki+1)
        p = np.exp(x[:, k]) / np.sum(np.exp(x[:, k]))
        pylab.plot(mus, p)
        pylab.grid()

    pylab.show()
def one_axis_test():
    data = pickle.load(open("../mouseretina/component.2.3.pickle", 'r'))
    conn_true = data['conn_dist_hist']
    conn_false = data['noconn_dist_hist']
    print "true_count = ", len(conn_true)
    print "false_count=", len(conn_false)
    p_max = 0.98
    p_min = 0.02
    mu_hp = 2.0
    lamb_hp = 5.0
    mu = 10.0
    lamb=10.0
    pylab.figure()
    pylab.plot(data['bins'][:-1], data['p'])
    for S in range(10):
        mu, lamb = slice(conn_true, conn_false, mu, lamb, 
                      mu_hp, lamb_hp, p_min, p_max, ITERS=30)
        
        pylab.plot(data['fine_bins'], logistic(data['fine_bins'], mu, 
                                          lamb)*(p_max - p_min) + p_min, c='r')

    pylab.show()