y_noise = 0.0 y_total = 0.0 calc_done = [0, 0] calc_total = [0, 0] unexpected_event = 0 adapted_event = 0 adapted_errors = 0 multi_switches_count = 0 y_est_lst = [] print() folds = Folding( dataset_loader(datasets_dir % dataset, labels, precision, denoised, verbose=False), folds) for (fold, priors, testing) in folds: del priors tm_start = time() sshmm = sshmms[fold] obs_id = list(testing)[0] obs = list(testing[obs_id]) hidden = [i for i in testing[labels].to_records(index=False)] print() print( 'Begin evaluation testing on observations, compare against ground truth...' )
n_appliance = 11 # from 1 - 19 for n_appliance in range(1, 20): args = model_args.loc[n_appliance - 1, :] modeldb = args[0] dataset = args[1] precision = args[2] max_obs = args[3] denoised = args[4] == 'denoised' max_states = args[5] folds = args[6] ids = args[7].split(',') datasets_dir = './data/%s.csv' data = dataset_loader(datasets_dir % dataset, ids, precision=precision, denoised=denoised) # test ikhmm ob = data.BME.head(1440) hmm = IterativeKmeansHMM(ob, max_k=10, std_thres=1) centers = hmm.iterative_kmeans() # showing the first day # data.WHE.iloc[0:1440].plot() # whole house current profile for day 1 # data.iloc[0:1440, 1:n_appliance+1].sum(1).plot() # defining problem days = 3 # as the same length in SparseNILM demo length = 1440 * days # 1 minute interval, 7 days aggregate = data.WHE.tail(36 * 1440) # test on the last 36 days hmms = collections.OrderedDict()
for data in jdata: sshmm = SuperStateHMM() sshmm._fromdict(data) sshmms.append(sshmm) del jdata labels = sshmms[0].labels print('\tModel lables are: ', labels) print() print('Testing %s algorithm load disagg...' % algo_name) acc = Accuracy(len(labels), folds) test_times = [] #%% print() folds_tot = Folding( dataset_loader(datasets_dir % dataset, labels, precision, denoised), folds) for (fold, priors, testing) in folds_tot: del priors tm_start = time() sshmm = sshmms[fold] obs_id = list(testing)[0] obs = list(testing[obs_id]) hidden = [i for i in testing[labels].to_records(index=False)] print() print( 'Begin evaluation testing on observations, compare against ground truth...' ) print()
print('Parameters:', sys.argv[1:]) (modeldb, dataset, precision, max_obs, denoised, max_states, folds, ids) = sys.argv[1:] precision = float(precision) max_obs = float(max_obs) denoised = denoised == 'denoised' max_states = int(max_states) folds = int(folds) ids = ids.split(',') datasets_dir = './datasets/%s.csv' logs_dir = './logs/%s.log' models_dir = './models/%s.json' print() sshmms = [] train_times = [] folds = Folding(dataset_loader(datasets_dir % dataset, ids, precision, denoised), folds) for (fold, priors, testing) in folds: del testing tm_start = time() print() print('Creating load PMFs and finding load states...') print('\tMax partitions per load =', max_states) pmfs = [] for id in ids: pmfs.append(EmpiricalPMF(id, max_obs * precision, list(priors[id]))) pmfs[-1].quantize(max_states, ε) print() print('Creating compressed SSHMM...') incro = 1 / precision