def test_parameter_estimation(self):
X = np.random.uniform(0, 4, 1000)
y = X + np.random.normal(0, 1, 1000)
m = BayesianBootstrapBagging(LinearRegression(), 10000, 1000, low_mem=False)
m.fit(X.reshape(-1, 1), y)
coef_samples = [b.coef_ for b in m.base_models_]
intercept_samples = [b.intercept_ for b in m.base_models_]
self.assertAlmostEqual(np.mean(coef_samples), 1, delta=0.3)
l, r = central_credible_interval(coef_samples, alpha=0.05)
self.assertLess(l, 1)
self.assertGreater(r, 1)
l, r = highest_density_interval(coef_samples, alpha=0.05)
self.assertLess(l, 1)
self.assertGreater(r, 1)
self.assertAlmostEqual(np.mean(intercept_samples), 0, delta=0.3)
l, r = central_credible_interval(intercept_samples, alpha=0.05)
self.assertLess(l, 0)
self.assertGreater(r, 0)
self.assertAlmostEqual(np.mean(intercept_samples), 0, delta=0.3)
l, r = highest_density_interval(intercept_samples, alpha=0.05)
self.assertLess(l, 0)
self.assertGreater(r, 0)
评论列表
文章目录