def test_linear_fit(): from statsmodels.regression.linear_model import GLS, OLS earth = Earth(**default_params) earth.fit(X, y) earth.linear_fit(X, y) soln = OLS(y, earth.transform(X)).fit().params assert_almost_equal(numpy.mean((earth.coef_ - soln)**2), 0.0) sample_weight = 1.0 / (numpy.random.normal(size=y.shape)**2) earth.fit(X, y) earth.linear_fit(X, y, sample_weight) soln = GLS(y, earth.transform(X), 1.0 / sample_weight).fit().params assert_almost_equal(numpy.mean((earth.coef_ - soln)**2), 0.0)
def test_linear_fit(): from statsmodels.regression.linear_model import GLS, OLS earth = Earth(**default_params) earth.fit(X, y) earth.linear_fit(X, y) soln = OLS(y, earth.transform(X)).fit().params assert_almost_equal(numpy.mean((earth.coef_ - soln) ** 2), 0.0) sample_weight = 1.0 / (numpy.random.normal(size=y.shape) ** 2) earth.fit(X, y) earth.linear_fit(X, y, sample_weight) soln = GLS(y, earth.transform( X), 1.0 / sample_weight).fit().params assert_almost_equal(numpy.mean((earth.coef_ - soln) ** 2), 0.0)