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