def build_pWins_vs_topwins_dict(bin_size): hist_performance = build_hist_win_tuples() Pwins_dict = {} for x, y in hist_performance: try: Pwins_dict[Ugen.bin_mapping(x, bin_size)].append(y) except KeyError: Pwins_dict[Ugen.bin_mapping(x, bin_size)] = [y] for key, win_data in Pwins_dict.iteritems(): Pwins_dict[key].append(numpy.mean(numpy.array(win_data))) return Pwins_dict
def build_pWins_vs_topwins_dict(bin_size): hist_performance = build_hist_win_tuples() Pwins_dict = {} for x,y in hist_performance: try: Pwins_dict[Ugen.bin_mapping(x,bin_size)].append(y) except KeyError: Pwins_dict[Ugen.bin_mapping(x,bin_size)] = [y] for key,win_data in Pwins_dict.iteritems(): Pwins_dict[key].append(numpy.mean(numpy.array(win_data))) return Pwins_dict
def get_contest_utlity(avg_top_wins,time_remaining,wins_data,bin_size): future_utility = 0.0007*time_remaining #predicting future utility, currently assumes 0.6 at T-600mins and 0.0 at T-0 min. Needs more rigourous stats try: contest_utility = wins_data[Ugen.bin_mapping(avg_top_wins,bin_size)][-1] #if avg_top_wins <=500: #contest_utility = 1#tempory contest utilities until hist performance dataset builts #else: #contest_utility = 0 except KeyError: print 'wins data bin for ' + str(avg_top_wins) + ' does not exist' contest_utility = 0 return contest_utility,future_utility