def quantile()

in isoexp/mab/smab_algs.py [0:0]


def quantile(alpha, S, N, rwds, B = 100, distrib = 'rademacher') : 
    
    means = np.nan_to_num(S/N)
    K = len(N)
    np_quantile = np.zeros(K)
    for k in range(K) :
        n = N[k]
        if n > 0 :
            bootstrap_avg = np.zeros(B)
            if distrib == 'rademacher' : 
                weights = 2*npr.binomial(1, 1/2, size = (int(B),int(n))) - 1
            elif distrib =='gaussian' :
                weights = npr.randn(int(B),int(n))
            history = np.array(rwds[k]) - means[k]
            bootstrap_avg = (np.dot(weights, history)/n)
            np_quantile[k] = np.percentile(bootstrap_avg, 100*(1 - alpha), interpolation = 'nearest')
        else :
            np_quantile[k] = +np.inf
    return np_quantile