def plotDerivedGains( runs, gainIds, costIncrement ): sessid = str(runs[0].get_session_id()) for gainId in gainIds: yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_derived_gains_at_total_rank_range( gainId, runs ) ), ('top50%', stats.get_average_top_derived_gains_at_total_rank_range( runs, gainId, proportion = 50 ) ), ('bottom50%', stats.get_average_top_derived_gains_at_total_rank_range( runs, gainId, proportion = 50, bottom= True ) ), ('avg +1SD', stats.get_avg_derived_gain_plusSD_at_total_rank_range( gainId, runs ) ), ('avg -1SD', stats.get_avg_derived_gain_plusSD_at_total_rank_range( gainId, runs, -1 ) ) ] defaultPlot( 'rank', gainId, stats.get_max_rank_range( runs ), yValueLists, stats.get_amount_of_runs_at_total_rank_range(runs), get_filename(gainId + 'AtRank', runs)) yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_derived_gains_at_cost_range( gainId, runs, costIncrement ) ), ('top50%', stats.get_average_top_derived_gains_at_cost_range( runs, gainId, costIncrement, proportion = 50 ) ), ('bottom50%', stats.get_average_top_derived_gains_at_cost_range( runs, gainId, costIncrement, proportion = 50, bottom = True ) ), ('avg +1SD', stats.get_avg_derived_gain_plusSD_at_cost_range( gainId, runs, costIncrement ) ), ('avg -1SD', stats.get_avg_derived_gain_plusSD_at_cost_range( gainId, runs, costIncrement, -1 ) ) ] defaultPlot( 'cost', gainId, stats.get_max_cost_range( runs, costIncrement ), yValueLists, stats.get_amount_of_runs_at_cost_range(runs, costIncrement), get_filename( gainId + 'AtCost', runs ) )
def plotDerivedGains(runs, gainIds, costIncrement): sessid = str(runs[0].get_session_id()) for gainId in gainIds: yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_derived_gains_at_total_rank_range(gainId, runs)), ('top50%', stats.get_average_top_derived_gains_at_total_rank_range( runs, gainId, proportion=50)), ('bottom50%', stats.get_average_top_derived_gains_at_total_rank_range( runs, gainId, proportion=50, bottom=True)), ('avg +1SD', stats.get_avg_derived_gain_plusSD_at_total_rank_range( gainId, runs)), ('avg -1SD', stats.get_avg_derived_gain_plusSD_at_total_rank_range( gainId, runs, -1)) ] defaultPlot('rank', gainId, stats.get_max_rank_range(runs), yValueLists, stats.get_amount_of_runs_at_total_rank_range(runs), get_filename(gainId + 'AtRank', runs)) yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_derived_gains_at_cost_range( gainId, runs, costIncrement)), ('top50%', stats.get_average_top_derived_gains_at_cost_range(runs, gainId, costIncrement, proportion=50)), ('bottom50%', stats.get_average_top_derived_gains_at_cost_range(runs, gainId, costIncrement, proportion=50, bottom=True)), ('avg +1SD', stats.get_avg_derived_gain_plusSD_at_cost_range( gainId, runs, costIncrement)), ('avg -1SD', stats.get_avg_derived_gain_plusSD_at_cost_range( gainId, runs, costIncrement, -1)) ] defaultPlot( 'cost', gainId, stats.get_max_cost_range(runs, costIncrement), yValueLists, stats.get_amount_of_runs_at_cost_range(runs, costIncrement), get_filename(gainId + 'AtCost', runs))
def plotCostsAtRank( runs ): sessid = str(runs[0].get_session_id()) yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cumulated_costs_at_total_rank_range( runs ) ), ('top50%', stats.get_average_top_cumulated_costs_at_total_rank_range( runs, proportion=50 ) ), ('bottom50%', stats.get_average_top_cumulated_costs_at_total_rank_range( runs, proportion=50, bottom=True ) ), ('avg +1SD', stats.get_avg_cumulated_cost_plusSD_at_total_rank_range( runs, increment = 1, factor = 1 ) ), ('avg -1SD', stats.get_avg_cumulated_cost_plusSD_at_total_rank_range( runs, increment = 1, factor = -1 ) ) ] defaultPlot( 'rank', 'cost', stats.get_max_rank_range( runs ), yValueLists, stats.get_amount_of_runs_at_total_rank_range(runs), get_filename('costAtRank', runs))
def plotAverageGainsAtRankAcrossSessions( sessions ): yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cross_session_cumulated_gains_at_total_rank_range( sessions ) ) ] yValueLists = yValueLists + [(get_session_id(runs), stats.get_average_cumulated_gains_at_total_rank_range(runs)) for runs in sessions] runValueLists = [(FiguresConfig.avgPlotName, stats.get_average_amount_of_runs_at_total_rank_range(sessions) )] + [ (get_session_id(runs), stats.get_amount_of_runs_at_total_rank_range(runs) ) for runs in sessions] defaultPlot( 'rank', 'avg cg', stats.get_max_cross_session_rank_range( sessions ), yValueLists, runValueLists, FiguresConfig.outputDirectory + '/' + get_filename_prefix() + 'X-session-gainAtRank.png', True )
def plotDerivedGainsAcrossSessions(sessions, gainIds, costIncrement): for gainId in gainIds: yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cross_session_derived_gains_at_total_rank_range( gainId, sessions)) ] yValueLists = yValueLists + [ (get_session_id(runs), stats.get_average_derived_gains_at_total_rank_range(gainId, runs)) for runs in sessions ] runValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_amount_of_runs_at_total_rank_range(sessions)) ] + [(get_session_id(runs), stats.get_amount_of_runs_at_total_rank_range(runs)) for runs in sessions] defaultPlot( 'rank', 'avg ' + gainId, stats.get_max_cross_session_rank_range(sessions), yValueLists, runValueLists, FiguresConfig.outputDirectory + '/' + get_filename_prefix() + 'X-session-' + gainId + 'AtRank.png', True) yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cross_session_derived_gains_at_cost_range( gainId, sessions, costIncrement)) ] yValueLists = yValueLists + [ (get_session_id(runs), stats.get_average_derived_gains_at_cost_range( gainId, runs, costIncrement)) for runs in sessions ] runValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_amount_of_runs_at_cost_range( sessions, costIncrement)) ] + [(get_session_id(runs), stats.get_amount_of_runs_at_cost_range(runs, costIncrement)) for runs in sessions] defaultPlot( 'cost', 'avg ' + gainId, stats.get_max_cross_session_cost_range(sessions, costIncrement), yValueLists, runValueLists, FiguresConfig.outputDirectory + '/' + get_filename_prefix() + 'X-session-' + gainId + 'AtCost.png', True)
def plotGainsAtRank(runs): sessid = str(runs[0].get_session_id()) yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cumulated_gains_at_total_rank_range(runs)), ('top50%', stats.get_average_top_cumulated_gains_at_total_rank_range( runs, proportion=50)), ('bottom50%', stats.get_average_top_cumulated_gains_at_total_rank_range( runs, proportion=50, bottom=True)), ('avg +1SD', stats.get_avg_cumulated_gain_plusSD_at_total_rank_range(runs)), ('avg -1SD', stats.get_avg_cumulated_gain_plusSD_at_total_rank_range(runs, -1)) ] defaultPlot('rank', 'cg', stats.get_max_rank_range(runs), yValueLists, stats.get_amount_of_runs_at_total_rank_range(runs), get_filename('gainAtRank', runs))
def handle_stats( runs ): output = cStringIO.StringIO() writer = csv.writer( output ) def catWrite(listA,listB): copy = listA[:] copy.extend( listB ) writer.writerow( copy ) catWrite( [ 'rank' ], stats.get_max_rank_range( runs ) ) catWrite( [ 'amt runs' ], stats.get_amount_of_runs_at_total_rank_range( runs ) ) catWrite( [ 'avg gain' ], stats.get_average_cumulated_gains_at_total_rank_range( runs ) ) catWrite( [ 'max gain' ], stats.get_max_cumulated_gains_at_total_rank_range( runs ) ) catWrite( [ 'min gain' ], stats.get_min_cumulated_gains_at_total_rank_range( runs ) ) catWrite( [ 'avg cost' ], stats.get_average_cumulated_costs_at_total_rank_range( runs ) ) catWrite( [ 'max cost' ], stats.get_max_cumulated_costs_at_total_rank_range( runs ) ) catWrite( [ 'min cost' ], stats.get_min_cumulated_costs_at_total_rank_range( runs ) ) writer.writerow([]) costInterval = 10 catWrite( [ 'cost' ], stats.get_min_cost_range( runs, costInterval ) ) catWrite( [ 'amt runs' ], stats.get_amount_of_runs_at_cost_range( runs, costInterval ) ) catWrite( [ 'avg gain' ], stats.get_average_cumulated_gains_at_cost_range( runs, costInterval ) ) catWrite( [ 'max gain' ], stats.get_max_cumulated_gains_at_cost_range( runs, costInterval ) ) catWrite( [ 'min gain' ], stats.get_min_cumulated_gains_at_cost_range( runs, costInterval ) ) writer.writerow([]) writer.writerow( [ 'avgTotalRank', stats.get_average_total_rank(runs)] ) writer.writerow( [ 'avgGain', stats.get_average_cumulated_gain(runs)] ) writer.writerow( [ 'avgCost', stats.get_average_cumulated_cost(runs)] ) writer.writerow( [ 'maxTotalRank', stats.get_max_total_rank(runs)] ) writer.writerow( [ 'maxGain', stats.get_max_cumulated_gain(runs)] ) writer.writerow( [ 'maxCost', stats.get_max_cumulated_cost(runs)] ) writer.writerow( [ 'minTotalRank', stats.get_min_total_rank(runs)] ) writer.writerow( [ 'minGain', stats.get_min_cumulated_gain(runs)] ) writer.writerow( [ 'minCost', stats.get_min_cumulated_cost(runs)] ) writer.writerow( [ 'varTotalRank', stats.get_total_rank_variance(runs)] ) writer.writerow( [ 'varGain', stats.get_cumulated_gain_variance(runs)] ) writer.writerow( [ 'varCost', stats.get_cumulated_cost_variance(runs)] ) return output.getvalue()
def plotAverageGainsAtRankAcrossSessions(sessions): yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cross_session_cumulated_gains_at_total_rank_range( sessions)) ] yValueLists = yValueLists + [ (get_session_id(runs), stats.get_average_cumulated_gains_at_total_rank_range(runs)) for runs in sessions ] runValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_amount_of_runs_at_total_rank_range(sessions)) ] + [(get_session_id(runs), stats.get_amount_of_runs_at_total_rank_range(runs)) for runs in sessions] defaultPlot( 'rank', 'avg cg', stats.get_max_cross_session_rank_range(sessions), yValueLists, runValueLists, FiguresConfig.outputDirectory + '/' + get_filename_prefix() + 'X-session-gainAtRank.png', True)
def plotDerivedGainsAcrossSessions( sessions, gainIds, costIncrement ): for gainId in gainIds: yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cross_session_derived_gains_at_total_rank_range( gainId, sessions ) ) ] yValueLists = yValueLists + [(get_session_id(runs), stats.get_average_derived_gains_at_total_rank_range(gainId, runs)) for runs in sessions] runValueLists = [(FiguresConfig.avgPlotName, stats.get_average_amount_of_runs_at_total_rank_range(sessions) )] + [ (get_session_id(runs), stats.get_amount_of_runs_at_total_rank_range(runs) ) for runs in sessions] defaultPlot( 'rank', 'avg ' + gainId, stats.get_max_cross_session_rank_range( sessions ), yValueLists, runValueLists, FiguresConfig.outputDirectory + '/' + get_filename_prefix() + 'X-session-' + gainId + 'AtRank.png', True ) yValueLists = [ (FiguresConfig.avgPlotName, stats.get_average_cross_session_derived_gains_at_cost_range( gainId, sessions, costIncrement ) ) ] yValueLists = yValueLists + [(get_session_id(runs), stats.get_average_derived_gains_at_cost_range(gainId, runs, costIncrement)) for runs in sessions] runValueLists = [(FiguresConfig.avgPlotName, stats.get_average_amount_of_runs_at_cost_range(sessions, costIncrement) )] + [ (get_session_id(runs), stats.get_amount_of_runs_at_cost_range(runs, costIncrement) ) for runs in sessions] defaultPlot( 'cost', 'avg ' + gainId, stats.get_max_cross_session_cost_range( sessions, costIncrement ), yValueLists, runValueLists, FiguresConfig.outputDirectory + '/' + get_filename_prefix() + 'X-session-' + gainId + 'AtCost.png', True )