Example #1
0
def plotGainsAtCost(runs, costIncrement):
    sessid = str(runs[0].get_session_id())
    yValueLists = [
        (FiguresConfig.avgPlotName,
         stats.get_average_cumulated_gains_at_cost_range(runs, costIncrement)),
        ('top50%',
         stats.get_average_top_cumulated_gains_at_cost_range(runs,
                                                             costIncrement,
                                                             proportion=50)),
        ('bottom50%',
         stats.get_average_top_cumulated_gains_at_cost_range(runs,
                                                             costIncrement,
                                                             proportion=50,
                                                             bottom=True)),
        ('avg +1SD',
         stats.get_avg_cumulated_gain_plusSD_at_cost_range(
             runs, costIncrement)),
        ('avg -1SD',
         stats.get_avg_cumulated_gain_plusSD_at_cost_range(
             runs, costIncrement, -1))
    ]
    defaultPlot('cost', 'cg', stats.get_max_cost_range(runs, costIncrement),
                yValueLists,
                stats.get_amount_of_runs_at_cost_range(runs, costIncrement),
                get_filename('gainAtCost', runs))
Example #2
0
def plotAverageGainsAtCostAcrossSessions(sessions, costIncrement):
    yValueLists = [
        (FiguresConfig.avgPlotName,
         stats.get_average_cross_session_cumulated_gains_at_cost_range(
             sessions, costIncrement))
    ]
    yValueLists = yValueLists + [
        (get_session_id(runs),
         stats.get_average_cumulated_gains_at_cost_range(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 cg',
        stats.get_max_cross_session_cost_range(sessions, costIncrement),
        yValueLists, runValueLists, FiguresConfig.outputDirectory + '/' +
        get_filename_prefix() + 'X-session-gainAtCost.png', True)
Example #3
0
def plotGainsAtCost( runs, costIncrement ):
    sessid = str(runs[0].get_session_id())
    yValueLists = [
        (FiguresConfig.avgPlotName, stats.get_average_cumulated_gains_at_cost_range( runs, costIncrement ) ),
        ('top50%', stats.get_average_top_cumulated_gains_at_cost_range( runs, costIncrement, proportion = 50 ) ),
        ('bottom50%', stats.get_average_top_cumulated_gains_at_cost_range( runs, costIncrement, proportion = 50, bottom = True ) ),
        ('avg +1SD', stats.get_avg_cumulated_gain_plusSD_at_cost_range( runs, costIncrement ) ),
        ('avg -1SD', stats.get_avg_cumulated_gain_plusSD_at_cost_range( runs, costIncrement, -1 ) )
                   ]
    defaultPlot( 'cost', 'cg', stats.get_max_cost_range( runs, costIncrement ), yValueLists,
                 stats.get_amount_of_runs_at_cost_range(runs, costIncrement), get_filename('gainAtCost', runs))
Example #4
0
def plotAverageGainsAtCostAcrossSessions( sessions, costIncrement ):
    yValueLists = [
        (FiguresConfig.avgPlotName, stats.get_average_cross_session_cumulated_gains_at_cost_range( sessions, costIncrement ) )
    ]
    yValueLists = yValueLists + [(get_session_id(runs), stats.get_average_cumulated_gains_at_cost_range(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 cg', stats.get_max_cross_session_cost_range( sessions, costIncrement ), yValueLists,
             runValueLists, FiguresConfig.outputDirectory + '/' + get_filename_prefix() + 'X-session-gainAtCost.png', True )
    def handle_cross_session_stats( sessions ):
        output = cStringIO.StringIO()
        writer = csv.writer( output )

        def catWrite(listA,listB):
            copy = listA[:]
            copy.extend( listB )
            writer.writerow( copy )

        catWrite( [ 'rank' ], stats.get_max_cross_session_rank_range( sessions ) )
        catWrite( [ 'avg amt runs' ], stats.get_average_amount_of_runs_at_total_rank_range( sessions ) )
        catWrite( [ 'avg gain' ], stats.get_average_cross_session_cumulated_gains_at_total_rank_range( sessions ) )
        catWrite( [ 'avg cost' ], stats.get_average_cross_session_cumulated_costs_at_total_rank_range( sessions ) )
        catWrite( [ 'avg gain SD' ], stats.get_cross_session_cumulated_gain_stddevs_at_total_rank_range( sessions ) )

        # Derived gains
        derivedGains = config.get_default_derived_gains_dict()
        for derivedGain in derivedGains.values():
            catWrite( [ 'avg ' + derivedGain.id ], stats.get_average_cross_session_derived_gains_at_total_rank_range( derivedGain.id, sessions ) )
            catWrite( [ 'avg ' + derivedGain.id + ' SD' ], stats.get_cross_session_derived_gain_stddevs_at_total_rank_range( derivedGain.id, sessions ) )

        # Per-session averages
        for runs in sessions:
            sessid = str(runs[0].get_session_id())
            catWrite( [ sessid + ' avg gain' ], stats.get_average_cumulated_gains_at_total_rank_range( runs ) )

        writer.writerow([])

        costInterval = 10
        catWrite( [ 'cost' ], stats.get_max_cross_session_cost_range( sessions, costInterval ) )
        catWrite( [ 'avg amt runs' ], stats.get_average_amount_of_runs_at_cost_range( sessions, costInterval ) )
        catWrite( [ 'avg gain' ], stats.get_average_cross_session_cumulated_gains_at_cost_range( sessions, costInterval ) )
        catWrite( [ 'avg gain SD' ], stats.get_average_cross_session_cumulated_gain_stddevs_at_cost_range( sessions, costInterval ) )

        # Derived gains
        for derivedGain in derivedGains.values():
            catWrite( [ 'avg ' + derivedGain.id ], stats.get_average_cross_session_derived_gains_at_cost_range( derivedGain.id, sessions, costInterval ) )
            catWrite( [ 'avg ' + derivedGain.id + ' SD' ], stats.get_average_cross_session_derived_gain_stddevs_at_cost_range( derivedGain.id, sessions, costInterval ) )

        # Per-session averages
        for runs in sessions:
            sessid = str(runs[0].get_session_id())
            catWrite( [ sessid + ' avg gain' ], stats.get_average_cumulated_gains_at_cost_range( runs, costInterval ) )

        writer.writerow([])

        return output.getvalue()
    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 handle_stats( runs ):
     return 'avgGainsRank = ' + repr(stats.get_average_cumulated_gains_at_total_rank_range( runs )) + '\n' \
     + 'maxGainsRank = ' + repr(stats.get_max_cumulated_gains_at_total_rank_range( runs )) + '\n' \
     + 'minGainsRank = ' + repr(stats.get_min_cumulated_gains_at_total_rank_range( runs )) + '\n' \
     + 'avgGainsCost = ' + repr(stats.get_average_cumulated_gains_at_cost_range( runs, 10 )) + '\n' \
     + 'maxGainsCost = ' + repr(stats.get_max_cumulated_gains_at_cost_range( runs, 10 )) + '\n' \
     + 'minGainsCost = ' + repr(stats.get_min_cumulated_gains_at_cost_range( runs, 10 )) + '\n' \
     + 'avgCostsRank = ' + repr(stats.get_average_cumulated_costs_at_total_rank_range( runs )) + '\n' \
     + 'maxCostsRank = ' + repr(stats.get_max_cumulated_costs_at_total_rank_range( runs )) + '\n' \
     + 'minCostsRank = ' + repr(stats.get_min_cumulated_costs_at_total_rank_range( runs )) + '\n' \
     + 'avgTotalRank = ' + repr(stats.get_average_total_rank(runs)) + '\n' \
     + 'avgGain = ' + repr(stats.get_average_cumulated_gain(runs)) + '\n' \
     + 'avgCost = ' + repr(stats.get_average_cumulated_cost(runs)) + '\n' \
     + 'maxTotalRank = ' + repr(stats.get_max_total_rank(runs)) + '\n' \
     + 'maxGain = ' + repr(stats.get_max_cumulated_gain(runs)) + '\n' \
     + 'maxCost = ' + repr(stats.get_max_cumulated_cost(runs)) + '\n' \
     + 'minTotalRank = ' + repr(stats.get_min_total_rank(runs)) + '\n' \
     + 'minGain = ' + repr(stats.get_min_cumulated_gain(runs)) + '\n' \
     + 'minCost = ' + repr(stats.get_min_cumulated_cost(runs)) + '\n' \
     + 'varTotalRank = ' + repr(stats.get_total_rank_variance(runs)) + '\n' \
     + 'varGain = ' + repr(stats.get_cumulated_gain_variance(runs)) + '\n' \
     + 'varCost = ' + repr(stats.get_cumulated_cost_variance(runs))
Example #8
0
 def handle_stats(runs):
     return 'avgGainsRank = ' + repr(stats.get_average_cumulated_gains_at_total_rank_range( runs )) + '\n' \
     + 'maxGainsRank = ' + repr(stats.get_max_cumulated_gains_at_total_rank_range( runs )) + '\n' \
     + 'minGainsRank = ' + repr(stats.get_min_cumulated_gains_at_total_rank_range( runs )) + '\n' \
     + 'avgGainsCost = ' + repr(stats.get_average_cumulated_gains_at_cost_range( runs, 10 )) + '\n' \
     + 'maxGainsCost = ' + repr(stats.get_max_cumulated_gains_at_cost_range( runs, 10 )) + '\n' \
     + 'minGainsCost = ' + repr(stats.get_min_cumulated_gains_at_cost_range( runs, 10 )) + '\n' \
     + 'avgCostsRank = ' + repr(stats.get_average_cumulated_costs_at_total_rank_range( runs )) + '\n' \
     + 'maxCostsRank = ' + repr(stats.get_max_cumulated_costs_at_total_rank_range( runs )) + '\n' \
     + 'minCostsRank = ' + repr(stats.get_min_cumulated_costs_at_total_rank_range( runs )) + '\n' \
     + 'avgTotalRank = ' + repr(stats.get_average_total_rank(runs)) + '\n' \
     + 'avgGain = ' + repr(stats.get_average_cumulated_gain(runs)) + '\n' \
     + 'avgCost = ' + repr(stats.get_average_cumulated_cost(runs)) + '\n' \
     + 'maxTotalRank = ' + repr(stats.get_max_total_rank(runs)) + '\n' \
     + 'maxGain = ' + repr(stats.get_max_cumulated_gain(runs)) + '\n' \
     + 'maxCost = ' + repr(stats.get_max_cumulated_cost(runs)) + '\n' \
     + 'minTotalRank = ' + repr(stats.get_min_total_rank(runs)) + '\n' \
     + 'minGain = ' + repr(stats.get_min_cumulated_gain(runs)) + '\n' \
     + 'minCost = ' + repr(stats.get_min_cumulated_cost(runs)) + '\n' \
     + 'varTotalRank = ' + repr(stats.get_total_rank_variance(runs)) + '\n' \
     + 'varGain = ' + repr(stats.get_cumulated_gain_variance(runs)) + '\n' \
     + 'varCost = ' + repr(stats.get_cumulated_cost_variance(runs))