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")
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)