if __name__ == "__main__": class ResultsObject(): def __init__(self, indxs, trace): self.CMReduction = trace.CMReduction self.RegionLogR = trace.RegionLogR[:, indxs] self.InfectedCases = trace.InfectedCases[:, indxs, :] self.InfectedDeaths = trace.InfectedDeaths[:, indxs, :] self.ExpectedCases = trace.ExpectedCases[:, indxs, :] self.ExpectedDeaths = trace.ExpectedDeaths[:, indxs, :] self.Phi = trace.Phi_1 dp = DataPreprocessor(min_confirmed=100, drop_HS=True) data = dp.preprocess_data("notebooks/final_data/data_final.csv") HO_rs = ["DE", "PT", "CZ", "PL", "MX", "NL"] indxs = [data.Rs.index(rg) for rg in HO_rs] unmask_all(data) for region in HO_rs: mask_region(data, region) print(f"Growth Noise {args.g}") with cm_effect.models.CMCombined_Final_V3(data, None) as model: model.DailyGrowthNoise = args.g model.build_model() with model.model: model.trace = pm.sample(args.nS, chains=args.nC, target_accept=0.95)
elif "Phi_1" in trace.varnames: self.Phi = trace.Phi_1 if __name__ == "__main__": folds = [['FR', 'GR', 'NL', 'BA', 'LV'], ['SE', 'DE', 'LT', 'MY', 'BG'], ['FI', 'DK', 'CZ', 'RS', 'BE'], ['NO', 'SK', 'IL', 'CH', 'ES'], ['ZA', 'MX', 'IT', 'IE', 'GE'], ['RO', 'PL', 'MA', 'HU', 'SI'], ['NZ', 'SG', 'PT', 'HR', 'EE']] eval_fold = ['AL', 'AT', 'GB', 'AD', 'IS', 'MT'] dp = DataPreprocessor() for fold_i, fold in enumerate(folds): data = dp.preprocess_data( "notebooks/double-entry-data/double_entry_final.csv", last_day="2020-05-30", schools_unis="whoops") data.mask_reopenings() r_is = [] for rg in fold: c_s, d_s = mask_region(data, rg) r_is.append(data.Rs.index(rg)) with cm_effect.models.CMCombined_Final_DifEffects(data, None) as model: model.DailyGrowthNoise = args.growth_noise model.RegionVariationNoise = args.country_noise model.build_model() with model.model: model.trace = pm.sample(2000, cores=4, chains=4, max_treedepth=12)
from epimodel.pymc3_models import cm_effect from epimodel.pymc3_models.cm_effect.datapreprocessor import DataPreprocessor import argparse import pickle argparser = argparse.ArgumentParser() argparser.add_argument("--l", dest="last_date", type=int) argparser.add_argument("--m", dest="model", type=int) args = argparser.parse_args() if __name__ == "__main__": last_dates = ["2020-04-25", "2020-05-05", "2020-05-15", "2020-05-25", "2020-05-30"] dp = DataPreprocessor() data = dp.preprocess_data("notebooks/double-entry-data/double_entry_final.csv", last_day=last_dates[args.last_date]) data.mask_reopenings() if args.model == 0: with cm_effect.models.CMCombined_Final(data, None) as model: model.build_model(serial_interval_mean=6.7, serial_interval_sigma=2.1) elif args.model == 1: with cm_effect.models.CMCombined_Final(data, None) as model: model.build_model(serial_interval_mean=5.1, serial_interval_sigma=1.8) elif args.model == 2: with cm_effect.models.CMCombined_Final(data, None) as model: model.build_model(serial_interval_mean=6.68, serial_interval_sigma=4.88) elif args.model == 3: with cm_effect.models.CMCombined_Final_Reset1(data, None) as model: model.build_model(serial_interval_mean=6.68, serial_interval_sigma=4.88) elif args.model == 4: