model.linear_nps = False data_exp = Data(model).set_expected(pars) model.linear_nps = True data_lin = Data(model).set_expected(pars) npm = NPMinimizer(5, data_lin) print(npm.profile()) min_pars = npm.min_pars plt.ion() plt.show() fig1 = plt.figure(1) fig1.canvas.set_window_title('True pars, data from linear model') model.plot(pars, data_lin, residuals=True) plt.xlim(150,300) fig2 = plt.figure(2) fig2.canvas.set_window_title('True pars, data from exp model') model.plot(pars, data_exp, residuals=True) plt.xlim(150,300) fig3 = plt.figure(3) fig3.canvas.set_window_title('Nominal pars, data from linear model') model.plot(pars0, data_lin, residuals=True) plt.xlim(150,300) fig4 = plt.figure(4) fig4.canvas.set_window_title('Profiled pars, data from linear model') model.plot(min_pars, data_lin, residuals=True)
data2 = copy.copy(data) data2.model = model2 data2.aux_betas = np.zeros(model2.nb) opti2 = OptiMinimizer(data2, 0.1, (0, 20)) t2 = opti2.tmu(0.1) print(opti2.hypo_pars) print(model2.closure_approx(opti2.hypo_pars, data2)) print(model2.closure_exact(opti2.hypo_pars, data2)) # ========================================== plt.ion() plt.figure(1) model.plot(pars0, data, residuals=True) plt.xlim(150, 800) plt.ylim(-200, 200) plt.figure(2) model.plot(opti.hypo_pars, data, residuals=True) plt.xlim(150, 800) plt.ylim(-200, 200) plt.figure(3) model2.plot(opti2.hypo_pars, data2, residuals=True) plt.xlim(150, 800) plt.ylim(-200, 200) print(t) print(t2)