Skip to content

Commit

Permalink
ENH: Added test cases for McFadden and Cox-Snell Pseudo R-square to r…
Browse files Browse the repository at this point in the history
…esults_GLM.py. See statsmodels#5861
  • Loading branch information
I536956 committed Mar 9, 2021
1 parent 57cabc7 commit 4c7895c
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 0 deletions.
7 changes: 7 additions & 0 deletions statsmodels/genmod/tests/results/results_glm.py
Expand Up @@ -85,6 +85,9 @@ def __init__(self):
# TODO: taken from Stata; not available in sm yet
self.chi2 = 1981.711859508729

self.prsquared = 0.90
self.prsquared_cox_snell = 1.00

# self.pearson_chi2 = 836424.1293162981 # from Stata (?)
self.fittedvalues = np.array([
60055.659970240202, 61216.013942398131,
Expand Down Expand Up @@ -626,6 +629,8 @@ def __init__(self):
self.llf_Stata = -2998.612927807218
self.scale = 1.
self.pearson_chi2 = 4051.921614
self.prsquared = 0.8346
self.prsquared_cox_snell = 1.0000
self.resids = glm_test_resids.star98_resids
self.fittedvalues = np.array([
0.5833118, 0.75144661, 0.50058272, 0.68534524, 0.32251021,
Expand Down Expand Up @@ -795,6 +800,8 @@ def __init__(self):
# self.llf = -82.47352 # Very close to ours as is
self.scale = 0.003584283
self.pearson_chi2 = .0860228056
self.prsquared = 0.429
self.prsquared_cox_snell = 0.97971
self.resids = glm_test_resids.scotvote_resids
self.fittedvalues = np.array([
57.80431482, 53.2733447, 50.56347993, 58.33003783,
Expand Down
10 changes: 10 additions & 0 deletions statsmodels/genmod/tests/test_glm.py
Expand Up @@ -191,6 +191,16 @@ def test_pearson_chi2(self):
assert_allclose(self.res1.pearson_chi2, self.res2.pearson_chi2,
atol=1e-6, rtol=1e-6)

decimal_prsquared = DECIMAL_2
def test_prsquared(self):
if hasattr(self.res2, 'prsquared'):
assert_almost_equal(self.res1.prsquared, self.res2.prsquared, self.decimal_prsquared)

decimal_prsquared_cox_snell = DECIMAL_2
def test_prsquared_cox_snell(self):
if hasattr(self.res2, 'prsquared_cox_snell'):
assert_almost_equal(float(self.res1.prsquared_cox_snell), self.res2.prsquared_cox_snell, self.decimal_prsquared_cox_snell)

@pytest.mark.smoke
def test_summary(self):
self.res1.summary()
Expand Down

0 comments on commit 4c7895c

Please sign in to comment.