MCMCLearnerTransitionDegenerateModelWithMNIWPrior): pass def rmse(state, estimate): return la.norm(state-estimate) figure_path = './notes/figures/' # Load the test data test_path = './results/toy-final/' test_data_file = 'toy-test-data.p' fh = open(test_path+test_data_file, 'rb') model,state,observ = pickle.load(fh) # Load the MCMC output basic_learner = load_learner(test_path+'toy-mcmc-basic.p') degenerate_learner = load_learner(test_path+'toy-mcmc-degenerate.p') # Get state estimates from each algorithm num_burn = 5000 basic_mn, basic_sd = basic_learner.estimate_state_trajectory( numBurnIn=num_burn) degenerate_mn, degenerate_sd = degenerate_learner.estimate_state_trajectory( numBurnIn=num_burn) # Assess RMSE basic_rmse = rmse(state, basic_mn) degenerate_rmse = rmse(state, degenerate_mn) # Display results print("Model | RMSE")
MCMCLearnerTransitionDegenerateModelWithMNIWPrior): pass def rmse(state, estimate): return la.norm(state-estimate) figure_path = './notes/figures/' # Load the test data test_path = './results/toy2-final/' test_data_file = 'toy2-test-data.p' fh = open(test_path+test_data_file, 'rb') model,state,observ = pickle.load(fh) # Load the MCMC output degenerate_learner = load_learner(test_path+'toy2-mcmc-degenerate.p') # Get state estimates from each algorithm num_burn = 5000 degenerate_mn, degenerate_sd = degenerate_learner.estimate_state_trajectory( numBurnIn=num_burn) # Draw state ds = degenerate_learner.model.ds fig, axs = plt.subplots(nrows=ds,ncols=1,sharex=True) for dd in range(ds): axs[dd].plot(state[:,dd], 'k') axs[dd].locator_params(axis='y',nbins=2) fig.savefig(figure_path+'toy2-state.pdf', bbox_inches='tight') # Rank plots
return la.norm(err[np.isnan(original)]) figure_path = './notes/figures/' # Load the test data data_path = './mocap-data/' test_path = './results/mocap-final/' markers_truth = np.genfromtxt(data_path + 'downsampled_head_markers_truth.csv', delimiter=',') test_data_file = 'mocap-test-data.p' fh = open(test_path + test_data_file, 'rb') markers = pickle.load(fh) # Load the MCMC output naive_learner = load_learner(test_path + 'mocap-mcmc-naive.p') basic_learner = load_learner(test_path + 'mocap-mcmc-basic.p') degenerate_learner = load_learner(test_path + 'mocap-mcmc-degenerate.p') # Get state estimates from each algorithm num_burn = 10000 basic_mn, basic_sd = basic_learner.estimate_state_trajectory( numBurnIn=num_burn) degenerate_mn, degenerate_sd = degenerate_learner.estimate_state_trajectory( numBurnIn=num_burn) naive_mn, naive_sd = naive_learner.estimate_state_trajectory( numBurnIn=num_burn) # Run MSVD as a comparison msvd_markers = mocap_msvd(markers, naive_mn[:, :12])
def mocap_rmse(truth, original, estimate): err = truth-estimate return la.norm(err[np.isnan(original)]) figure_path = './notes/figures/' # Load the test data data_path = './mocap-data/' test_path = './results/mocap-final/' markers_truth = np.genfromtxt(data_path+'downsampled_head_markers_truth.csv', delimiter=',') test_data_file = 'mocap-test-data.p' fh = open(test_path+test_data_file, 'rb') markers = pickle.load(fh) # Load the MCMC output naive_learner = load_learner(test_path+'mocap-mcmc-naive.p') basic_learner = load_learner(test_path+'mocap-mcmc-basic.p') degenerate_learner = load_learner(test_path+'mocap-mcmc-degenerate.p') # Get state estimates from each algorithm num_burn = 10000 basic_mn, basic_sd = basic_learner.estimate_state_trajectory( numBurnIn=num_burn) degenerate_mn, degenerate_sd = degenerate_learner.estimate_state_trajectory( numBurnIn=num_burn) naive_mn, naive_sd = naive_learner.estimate_state_trajectory( numBurnIn=num_burn) # Run MSVD as a comparison msvd_markers = mocap_msvd(markers, naive_mn[:,:12])
def rmse(state, estimate): return la.norm(state - estimate) figure_path = './notes/figures/' # Load the test data test_path = './results/toy2-final/' test_data_file = 'toy2-test-data.p' fh = open(test_path + test_data_file, 'rb') model, state, observ = pickle.load(fh) # Load the MCMC output degenerate_learner = load_learner(test_path + 'toy2-mcmc-degenerate.p') # Get state estimates from each algorithm num_burn = 5000 degenerate_mn, degenerate_sd = degenerate_learner.estimate_state_trajectory( numBurnIn=num_burn) # Draw state ds = degenerate_learner.model.ds fig, axs = plt.subplots(nrows=ds, ncols=1, sharex=True) for dd in range(ds): axs[dd].plot(state[:, dd], 'k') axs[dd].locator_params(axis='y', nbins=2) fig.savefig(figure_path + 'toy2-state.pdf', bbox_inches='tight') # Rank plots