def ci_umle_wald(X, v, alpha_level):
    arr = array_from_data(X, [v])
    arr.offset_extremes()
    alpha_zero(arr)

    fit_model = NonstationaryLogistic()
    fit_model.beta['x_0'] = None
    fit_model.confidence_wald(arr, strict = False, alpha_level = alpha_level)

    return safe_ci(fit_model, 'x_0', 'wald_inverse')
def ci_umle_wald(X, v, alpha_level):
    arr = array_from_data(X, [v])
    arr.offset_extremes()
    alpha_zero(arr)

    fit_model = NonstationaryLogistic()
    fit_model.beta["x_0"] = None
    fit_model.confidence_wald(arr, alpha_level=alpha_level)

    return safe_ci(fit_model, "x_0", "wald")
Example #3
0
net.offset_extremes()

print 'Fitting nonstationary model'
ns_model = NonstationaryLogistic()
for cov_name in cov_names:
    ns_model.beta[cov_name] = None
ns_model.fit(net)
print 'NLL: %.2f' % ns_model.nll(net)
print 'kappa: %.2f' % ns_model.kappa
for cov_name in cov_names:
    print '%s: %.2f' % (cov_name, ns_model.beta[cov_name])
print
for rep in range(params['n_samples']):
    ns_samples[rep,:,:] = ns_model.generate(net)
ns_model.confidence_boot(net, n_bootstrap = params['n_bootstrap'])
ns_model.confidence_wald(net)
display_cis(ns_model)

# Calculate sample means and variances
s_samples_mean = np.mean(s_samples, axis = 0)
s_samples_sd = np.sqrt(np.var(s_samples, axis = 0))
ns_samples_mean = np.mean(ns_samples, axis = 0)
ns_samples_sd = np.sqrt(np.var(ns_samples, axis = 0))
c_samples_mean = np.mean(c_samples, axis = 0)
c_samples_sd = np.sqrt(np.var(c_samples, axis = 0))

# Finish plotting
plt.figure()
ax = plt.subplot(231)
ax.set_title('Stationary')
heatmap(ax, s_samples_mean)
net.offset_extremes()

print 'Fitting nonstationary model'
ns_model = NonstationaryLogistic()
for cov_name in cov_names:
    ns_model.beta[cov_name] = None
ns_model.fit(net)
print 'NLL: %.2f' % ns_model.nll(net)
print 'kappa: %.2f' % ns_model.kappa
for cov_name in cov_names:
    print '%s: %.2f' % (cov_name, ns_model.beta[cov_name])
print
for rep in range(params['n_samples']):
    ns_samples[rep, :, :] = ns_model.generate(net)
ns_model.confidence_boot(net, n_bootstrap=params['n_bootstrap'])
ns_model.confidence_wald(net)
display_cis(ns_model)

# Calculate sample means and variances
s_samples_mean = np.mean(s_samples, axis=0)
s_samples_sd = np.sqrt(np.var(s_samples, axis=0))
ns_samples_mean = np.mean(ns_samples, axis=0)
ns_samples_sd = np.sqrt(np.var(ns_samples, axis=0))
c_samples_mean = np.mean(c_samples, axis=0)
c_samples_sd = np.sqrt(np.var(c_samples, axis=0))

# Finish plotting
plt.figure()
ax = plt.subplot(231)
ax.set_title('Stationary')
heatmap(ax, s_samples_mean)
    s_fit.confidence_boot(new, n_bootstrap = n_boot,
                          alpha_level = alpha_level)
    bs_ci_l, bs_ci_u = s_fit.conf['x_0']['pivotal']
    if bs_ci_l < theta < bs_ci_u:
        bs_covered += 1

    s_fit.reset_confidence()
    s_fit.confidence_wald(new)
    ws_ci_l, ws_ci_u = safe_ci(s_fit, 'x_0', 'wald')
    if ws_ci_l < theta < ws_ci_u:
        ws_covered += 1

    new.offset_extremes()

    ns_fit.reset_confidence()
    ns_fit.confidence_wald(new)
    wn_ci_l, wn_ci_u = safe_ci(ns_fit, 'x_0', 'wald')
    if wn_ci_l < theta < wn_ci_u:
        wn_covered += 1

    ns_fit.confidence_boot(new, n_bootstrap = n_boot,
                           alpha_level = alpha_level)
    bn_ci_l, bn_ci_u = ns_fit.conf['x_0']['pivotal']
    if bn_ci_l < theta < bn_ci_u:
        bn_covered += 1

    A = new.as_dense()
    r = A.sum(1)
    c = A.sum(0)

    c_fit = FixedMargins(s_fit)