def test_lmfitter(): "Test the _nd_anova class" ds = datasets.get_uts() # independent, residuals vs. Hopkins y = ds['uts'].x x = ds.eval("A * B") lm = glm._nd_anova(x) f_maps = lm.map(y) p_maps = lm.p_maps(f_maps) x_full = ds.eval("A * B + ind(A%B)") lm_full = glm._nd_anova(x_full) assert isinstance(lm_full, glm._BalancedMixedNDANOVA) f_maps_full = lm_full.map(y) p_maps_full = lm_full.p_maps(f_maps) for f, f_full in zip(f_maps, f_maps_full): assert_allclose(f, f_full) for p, p_full in zip(p_maps, p_maps_full): assert_allclose(p, p_full) # repeated measures x = ds.eval("A * B * rm") lm = glm._nd_anova(x) f_maps = lm.map(y) p_maps = lm.p_maps(f_maps) aov = test.ANOVA(y[:, 0], x) for f_test, f_map, p_map in zip(aov.f_tests, f_maps, p_maps): assert f_map[0] == pytest.approx(f_test.F) assert p_map[0] == pytest.approx(f_test.p)
def test_lmfitter(): "Test the _nd_anova class" ds = datasets.get_rand() # independent, residuals vs. Hopkins y = ds['uts'].x x = ds.eval("A * B") lm = _nd_anova(x) f_maps = lm.map(y) p_maps = lm.p_maps(f_maps) x_full = ds.eval("A * B + ind(A%B)") lm_full = _nd_anova(x_full) f_maps_full = lm_full.map(y) p_maps_full = lm_full.p_maps(f_maps) for f, f_full in izip(f_maps, f_maps_full): assert_allclose(f, f_full) for p, p_full in izip(p_maps, p_maps_full): assert_allclose(p, p_full) # repeated measures x = ds.eval("A * B * rm") lm = _nd_anova(x) f_maps = lm.map(y) p_maps = lm.p_maps(f_maps) aov = test.anova(y[:, 0], x) for f_test, f_map, p_map in izip(aov.f_tests, f_maps, p_maps): assert_almost_equal(f_map[0], f_test.F) assert_almost_equal(p_map[0], f_test.p)
def run_on_lm_fitter(y, x, ds): y = ds.eval(y) y = y.x[:, newaxis] y = np.hstack((y, y)) x = ds.eval(x) fitter = glm._nd_anova(x) fmaps = fitter.map(y) fs = fmaps[:, 0] return fs
def run_on_lm_fitter(y, x, ds): y = ds.eval(y) y = y.x[:, newaxis] y = np.hstack((y, y)) x = ds.eval(x) fitter = _nd_anova(x) fmaps = fitter.map(y) fs = fmaps[:, 0] return fs