def test_exp_sig_of_norm(): mean = 1 std = 0.8 n_points = 1000 seed = 1234 inputs = np.random.RandomState(seed).normal(mean, std, size = n_points) vals = sigm(inputs) sample_mean = np.mean(vals) for method in ('maclauren-2', 'maclauren-3', 'probit'): approx_true_mean = expected_sigm_of_norm(mean, std, method = method) approx_sample_mean = expected_sigm_of_norm(np.mean(inputs), np.std(inputs), method = method) true_error = np.abs(approx_true_mean-sample_mean)/sample_mean sample_error = np.abs(approx_sample_mean-sample_mean)/sample_mean print 'Error for %s: %.4f True, %.4f Sample.' % (method, true_error, sample_error) assert true_error < 0.02, 'Method %s did pretty bad' % (method, )
def test_exp_sig_of_norm(): mean = 1 std = 0.8 n_points = 1000 seed = 1234 inputs = np.random.RandomState(seed).normal(mean, std, size = n_points) vals = sigm(inputs) sample_mean = np.mean(vals) for method in ('maclauren-2', 'maclauren-3', 'probit'): approx_true_mean = expected_sigm_of_norm(mean, std, method = method) approx_sample_mean = expected_sigm_of_norm(np.mean(inputs), np.std(inputs), method = method) true_error = np.abs(approx_true_mean-sample_mean)/sample_mean sample_error = np.abs(approx_sample_mean-sample_mean)/sample_mean print('Error for %s: %.4f True, %.4f Sample.' % (method, true_error, sample_error)) assert true_error < 0.02, 'Method %s did pretty bad' % (method, )