def test_experiments_to_cases(): from examples.FLUvensimExample import FluModel from expWorkbench.model import SimpleModelEnsemble EMAlogging.log_to_stderr(EMAlogging.INFO) data = load_results(r'../analysis/1000 flu cases.cPickle') experiments, results = data cases = experiments_to_cases(experiments) model = FluModel(r'..\..\models\flu', "fluCase") ensemble = SimpleModelEnsemble() ensemble.set_model_structure(model) ensemble.perform_experiments(cases)
def test_save_and_load(): import matplotlib.pyplot as plt from expWorkbench.EMAlogging import log_to_stderr, INFO from expWorkbench.model import SimpleModelEnsemble from examples.FLUvensimExample import FluModel from analysis.graphs import lines log_to_stderr(level= INFO) model = FluModel(r'..\..\models\flu', "fluCase") ensemble = SimpleModelEnsemble() # ensemble.parallel = True ensemble.set_model_structure(model) policies = [{'name': 'no policy', 'file': r'\FLUvensimV1basecase.vpm'}, {'name': 'static policy', 'file': r'\FLUvensimV1static.vpm'}, {'name': 'adaptive policy', 'file': r'\FLUvensimV1dynamic.vpm'} ] ensemble.add_policies(policies) results = ensemble.perform_experiments(10) file = r'C:\eclipse\workspace\EMA workbench\models\results.cPickle' save_results(results, file) results = load_results(file) lines(results) plt.show()
def test_feature_selection(): from expWorkbench.model import SimpleModelEnsemble from examples.FLUvensimExample import FluModel log_to_stderr(level= INFO) model = FluModel(r'..\..\models\flu', "fluCase") ensemble = SimpleModelEnsemble() ensemble.parallel = True ensemble.set_model_structure(model) policies = [{'name': 'no policy', 'file': r'\FLUvensimV1basecase.vpm'}, {'name': 'static policy', 'file': r'\FLUvensimV1static.vpm'}, {'name': 'adaptive policy', 'file': r'\FLUvensimV1dynamic.vpm'} ] ensemble.add_policies(policies) results = ensemble.perform_experiments(5000) results = feature_selection(results, classify) for entry in results: print entry[0] +"\t" + str(entry[1])
ensemble = SimpleModelEnsemble() ensemble.set_model_structure(model) cases, uncertainties = ensemble._generate_cases(1) valuelist = [15.467089994193 , 18.3948367845855 , 17.5216359599053 , 0.0323513175268276 , 0.0267216806566911 , 0.0252897989265933 , 0.0211748970259063 , 0.0192967619764282 , 0.0298868721235403 , 0.026846492561752 , 0.0282265728603356 , 0.0274643497911105 , 0.0206173186487346 , 0.930953610229856 , 1.05807449426449 , 58.6261672319115 , 1.0959476696141 , 48.4897275078371 , 79.8968117041453 , 2.03012275630195 , 2.33576352581696 , 2.60266175740213 , 1.24700542123355 , 3.06884098418713 , 1 , 0 , 0 , 0 , 0 , 1.45807445678444 , 3.53395235847141 , 1.75257486371618 , 2.9795030911447 , 4.00199168664975 , 1.97473349200058 , 4.74196793795403 , 4.72730891245437 , 0 , 0 , 14826.4074143275 , 1.24609526886412 , 1.18827514220571 , 1.09824115488565 , 1245886.83942348 , 6282282.69560999 , 6118827.67237203 , 9531496.10651471 , 8693813.50295679 , 32.948697875027 , 17.1705785135149 , 13.0971274404015 , 3.74255065304761 , 1.36231655867486 , 1.92101352688469 , 3.8941723138427 , 0.898745338298322 , 0.782806406356795 , 0.817631734201507 , 0.705822656618514 , 43.3820783577107] newcases = [] case = {} i=0 for uncertainty in uncertainties: print uncertainty.name case[uncertainty.name] = valuelist[i] i+=1 # case['desired fraction'] = 1.0 # uncertainties.add(ParameterUncertainty((0.7,1), "desired fraction")) newcases.append(case) # uncertainties.append('desired fraction') results = ensemble.perform_experiments(newcases) print results[1]['total fraction new technologies'][0, -1] print results[1]['total capacity installed'][0, -1] lines(results) plt.show()
deceased_population_region_1.append(deceased_population_region_1_NEXT) deceased_population_region_2.append(deceased_population_region_2_NEXT) #End of main code return (deceased_population_region_1, runTime, Max_infected, Max_time) if __name__ == "__main__": import expWorkbench.EMAlogging as logging logging.log_to_stderr(logging.INFO) fluModel = MexicanFlu(None, "mexican flu example") ensemble = SimpleModelEnsemble() ensemble.parallel = True ensemble.set_model_structure(fluModel) result = ensemble.perform_experiments(10) # import matplotlib.pyplot as plt # figure = plt.figure() # ax = figure.add_subplot(111) # for entry in result: # a = entry[1][0] # b = entry[1][1] # # ax.plot(b,a) # plt.show() # Base case parameters # main(0.4,0.2,0.001,0.002,0.45,0.333,0.1,0.3,0.1,0.5,0.5,1,1,1.5,1,0.1,0.15,50,100,xc)