def load_median_experiments(ini_file_path,date_exp): Config.read(ini_file_path) Config.sections() models = dict(Config.items('inference')) number_data_points = ConfigSectionMap("test-data")['data-points'].split(',') list_noise_variance = ConfigSectionMap("test-data")['observation_noise'].split(',') repeat = ConfigSectionMap("others")['repeat'] number_test_points = ConfigSectionMap("others")['number-test-points'] test_problems = ConfigSectionMap("test-data")['test-problems'].split(',') total_steps_outer = ConfigSectionMap("MCMC")["total-steps-outer"] directory="results/"+date_exp residual_list = [] df_list= [] index_it=0 for key in models: all_inf_string = ConfigSectionMap("inference")[key] list_of_infer= all_inf_string.split(";") for infer in list_of_infer: for test_problem in test_problems: for noise in list_noise_variance: for n in number_data_points: df = pd.DataFrame() print(index_it) index_it+=1 for index in range(int(repeat)): experiment_name = key+'_'+infer+'_'+total_steps_outer+'_'\ + test_problem +'_'+noise+'_'+n+'_'+number_test_points+'_'+str(index) output_file_name = directory+"/exp_"+ experiment_name try: df = pd.read_pickle(output_file_name) residual_list.append(np.abs(df['residuals'].values)) except ValueError: ("could not open "+output_file_name) res_matrix = np.matrix(residual_list) residual_list = [] df['median-residual']=pd.Series([np.median(res_matrix[:,i].tolist()) for i in df.index ]) df['model'] = pd.Series([key for _ in range(len(df.index))], index=df.index) df['test_problem'] = pd.Series([test_problem for _ in range(len(df.index))], index=df.index) df['noise'] = pd.Series([noise for _ in range(len(df.index))], index=df.index) df['n'] = pd.Series([n for _ in range(len(df.index))], index=df.index) df['repeat'] = pd.Series([index for _ in range(len(df.index))], index=df.index) df_list.append(df) df_experiment=pd.concat(df_list) df_experiment.to_pickle("results/median_residual_"+date_exp) return df_experiment
def load_experiments(ini_file_path,date_exp): Config.read(ini_file_path) Config.sections() models = dict(Config.items('inference')) number_data_points = ConfigSectionMap("test-data")['data-points'].split(',') list_noise_variance = ConfigSectionMap("test-data")['observation_noise'].split(',') repeat = ConfigSectionMap("others")['repeat'] number_test_points = ConfigSectionMap("others")['number-test-points'] test_problems = ConfigSectionMap("test-data")['test-problems'].split(',') total_steps_outer = ConfigSectionMap("MCMC")["total-steps-outer"] condition=[] directory="results/"+date_exp un_averaged_frames=[] for index in range(int(repeat)): frames =[] for key in models: all_inf_string = ConfigSectionMap("inference")[key] list_of_infer= all_inf_string.split(";") for infer in list_of_infer: for test_problem in test_problems: for noise in list_noise_variance: for n in number_data_points: experiment_name = key+'_'+infer+'_'+total_steps_outer+'_'\ + test_problem +'_'+noise+'_'+n+'_'+number_test_points+'_'+str(index) output_file_name = directory+"/exp_"+ experiment_name try: df = pd.read_pickle(output_file_name) df['model'] = pd.Series([key for _ in range(len(df.index))], index=df.index) df['test_problem'] = pd.Series([test_problem for _ in range(len(df.index))], index=df.index) df['noise'] = pd.Series([noise for _ in range(len(df.index))], index=df.index) df['n'] = pd.Series([n for _ in range(len(df.index))], index=df.index) df['repeat'] = pd.Series([index for _ in range(len(df.index))], index=df.index) #df['mcmcm-step-index'] = pd.Series([i for i in range(len(total_steps_outer))], index=df.index) frames.append(df) except ValueError: ("could not open "+output_file_name) un_averaged_frames.append(pd.concat(frames)) df_experiment = average_frames(un_averaged_frames) df_experiment.to_pickle("results/experiment_"+date_exp) return df_experiment
help="Do not use parallelism") parser.add_argument("--cores", type=int, default=60, help="Number of cores") parser.add_argument("-m", metavar="MESSAGE", type=str, default=" no message ", help="Message") ns = parser.parse_args() ini_file_path = ns.ini_file_path date_exp = ns.d run_locally = ns.local cores = ns.cores message = ns.m Config.read(ini_file_path) Config.sections() models = dict(Config.items('inference')) number_data_points = ConfigSectionMap("test-data")['data-points'].split(',') list_noise_variance = ConfigSectionMap("test-data")['observation_noise'].split(',') repeat = ConfigSectionMap("others")['repeat'] number_test_points = ConfigSectionMap("others")['number-test-points'] test_problems = ConfigSectionMap("test-data")['test-problems'].split(',') total_steps_outer = ConfigSectionMap("MCMC")["total-steps-outer"] condition=[] for key in models: all_inf_string = ConfigSectionMap("inference")[key] list_of_infer= all_inf_string.split(";") for infer in list_of_infer: for test_problem in test_problems:
def get_last_n_residuals(ini_file_path,date_exp,n_last_residuals): Config.read(ini_file_path) Config.sections() models = dict(Config.items('inference')) number_data_points = ConfigSectionMap("test-data")['data-points'].split(',') list_noise_variance = ConfigSectionMap("test-data")['observation_noise'].split(',') repeat = ConfigSectionMap("others")['repeat'] number_test_points = ConfigSectionMap("others")['number-test-points'] test_problems = ConfigSectionMap("test-data")['test-problems'].split(',') total_steps_outer = ConfigSectionMap("MCMC")["total-steps-outer"] condition=[] directory="results/"+date_exp un_averaged_frames=[] base_line = [] residuals=[] model=[] problem=[] noise_level=[] n_training_data=[] for index in range(int(repeat)): for key in models: all_inf_string = ConfigSectionMap("inference")[key] list_of_infer= all_inf_string.split(";") for infer in list_of_infer: for test_problem in test_problems: for noise in list_noise_variance: for n in number_data_points: experiment_name = key+'_'+infer+'_'+total_steps_outer+'_'\ + test_problem +'_'+noise+'_'+n+'_'+number_test_points+'_'+str(index) output_file_name = directory+"/exp_"+ experiment_name try: df_all = pd.read_pickle(output_file_name) df=df_all.tail(n_last_residuals) base_line.extend(df['base-line'].iloc[0]) #index=[] for j in range(len(df.index)): residuals.extend(df['residuals'].iloc[j]) model.extend([key for _ in range(int(number_test_points))]) problem.extend([test_problem for _ in range(int(number_test_points))]) noise_level.extend([noise for _ in range(int(number_test_points))]) n_training_data.extend([n for _ in range(int(number_test_points))]) #index.append([j for _ in range(int(number_test_points))]) #residuals= np.concatenate(residuals,df['residuals'].iloc[j]) ''' df['model'] = pd.Series([key for _ in range(len(df.index))], index=df.index) df['test_problem'] = pd.Series([test_problem for _ in range(len(df.index))], index=df.index) df['noise'] = pd.Series([noise for _ in range(len(df.index))], index=df.index) df['n'] = pd.Series([n for _ in range(len(df.index))], index=df.index) df['repeat'] = pd.Series([index for _ in range(len(df.index))], index=df.index) #df['mcmcm-step-index'] = pd.Series([i for i in range(len(total_steps_outer))], index=df.index) ''' except ValueError: ("could not open "+output_file_name) return pd.DataFrame({'residuals':residuals,'model':model,'test_problem':problem,'noise':noise_level,'n':n_training_data}),np.mean(base_line)