Skip to content

Commit 947b5b8

Browse files
committed
TST: unit tests for MNLogit t_test, wald_test
1 parent f525818 commit 947b5b8

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

statsmodels/discrete/tests/test_discrete.py

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2586,16 +2586,15 @@ def test_cov_confint_pandas():
25862586
assert isinstance(ci.index, pd.MultiIndex)
25872587

25882588

2589-
def test_t_test():
2589+
def test_mlogit_t_test():
25902590
# GH669, check t_test works in multivariate model
2591-
data = load_anes96()
2591+
data = sm.datasets.anes96.load()
25922592
exog = sm.add_constant(data.exog, prepend=False)
25932593
res1 = sm.MNLogit(data.endog, exog).fit(disp=0)
25942594
r = np.ones(res1.cov_params().shape[0])
25952595
t1 = res1.t_test(r)
25962596
f1 = res1.f_test(r)
25972597

2598-
data = sm.datasets.anes96.load()
25992598
exog = sm.add_constant(data.exog, prepend=False)
26002599
endog, exog = np.asarray(data.endog), np.asarray(exog)
26012600
res2 = sm.MNLogit(endog, exog).fit(disp=0)
@@ -2604,3 +2603,20 @@ def test_t_test():
26042603

26052604
assert_allclose(t1.effect, t2.effect)
26062605
assert_allclose(f1.statistic, f2.statistic)
2606+
2607+
tt = res1.t_test(np.eye(np.size(res2.params)))
2608+
assert_allclose(tt.tvalue.reshape(6,6, order="F"), res1.tvalues.to_numpy())
2609+
tt = res2.t_test(np.eye(np.size(res2.params)))
2610+
assert_allclose(tt.tvalue.reshape(6,6, order="F"), res2.tvalues)
2611+
2612+
wt = res1.wald_test(np.eye(np.size(res2.params))[0], scalar=True)
2613+
assert_allclose(wt.pvalue, res1.pvalues.to_numpy()[0, 0])
2614+
2615+
2616+
tt = res1.t_test("y1_logpopul")
2617+
wt = res1.wald_test("y1_logpopul", scalar=True)
2618+
assert_allclose(tt.pvalue, wt.pvalue)
2619+
2620+
wt = res1.wald_test("y1_logpopul, y2_logpopul", scalar=True)
2621+
# regression test
2622+
assert_allclose(wt.statistic, 5.68660562, rtol=1e-8)

0 commit comments

Comments
 (0)