Esempio n. 1
0
def run_sims_in_parallel(outlier_score_file, feature_dir, output_file):
    pool = Pool(8)
    mahal_timeseries, c_timeseries = readOutlierScores(outlier_score_file)
    global_pace_timeseries = readGlobalPace(feature_dir)
    
    sim_function = partial(run_many_simulations, mahal_timeseries = mahal_timeseries,
                           c_timeseries = c_timeseries, global_pace_timeseries=global_pace_timeseries)
    sim_sizes = [1250]*8
    result = pool.map(sim_function, sim_sizes)
    
    with open(output_file, 'w') as f:
        w = csv.writer(f)
        w.writerow(['event','start_date', 'end_date', 'duration', 'max_pace_dev', 'min_pace_dev'])
        for chunk in result:
            w.writerows(chunk)
Esempio n. 2
0
def run_random_sims(outlier_score_file, feature_dir):
    
    mahal_timeseries, c_timeseries = readOutlierScores(outlier_score_file)
    global_pace_timeseries = readGlobalPace(feature_dir)
    
    for p in range(50):
        print ("Sim %d" % p)
        initial_state, trans_matrix, emission_matrix = randomly_draw_parameters()
    
        events, predictions = detect_events_hmm(mahal_timeseries, c_timeseries,
                        global_pace_timeseries, threshold_quant=.95,
                        trans_matrix = trans_matrix,
                      emission_matrix=emission_matrix)
        new_scores_file = 'tmp_results/coarse_events_k%d_scores.csv'%p
    
        augment_outlier_scores(outlier_score_file, new_scores_file, predictions)