Example #1
0
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 ) )
Example #2
0
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))
Example #3
0
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))
Example #4
0
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()