Example #1
0
def test_compute_rmse(test_data, param_names,
                      fun, link_fun, var_link_fun, loss_fun):
    model = CurveModel(test_data, 't', 'obs',
                       [['intercept']]*3,
                       'group',
                       param_names,
                       link_fun,
                       var_link_fun,
                       fun,
                       loss_fun=loss_fun)

    x = np.hstack((np.ones(3), np.zeros(3)))
    params = model.compute_params(x)
    residual = model.obs - model.fun(model.t, params)

    result = model.compute_rmse(x=x, use_obs_se=False)

    assert np.abs(result - np.sqrt(np.mean(residual**2))) < 1e-10
Example #2
0
def test_loss_fun(test_data, param_names,
                  fun, link_fun, var_link_fun, loss_fun):
    model = CurveModel(test_data, 't', 'obs',
                       [['intercept']]*3,
                       'group',
                       param_names,
                       link_fun,
                       var_link_fun,
                       fun,
                       loss_fun=loss_fun)

    x = np.hstack((np.ones(3), np.zeros(3)))
    params = model.compute_params(x, expand=False)[:, 0]
    residual = (model.obs - fun(model.t, params))/model.obs_se

    val = model.objective(x)
    my_val = loss_fun(residual)
    assert np.abs(val - my_val) < 1e-10