def test_tukeyhsd(): #example multicomp in R p 83 res = '''\ pair diff lwr upr p adj P-M 8.150000 -10.037586 26.3375861 0.670063958 S-M -3.258333 -21.445919 14.9292527 0.982419709 T-M 23.808333 5.620747 41.9959194 0.006783701 V-M 4.791667 -13.395919 22.9792527 0.931020848 S-P -11.408333 -29.595919 6.7792527 0.360680099 T-P 15.658333 -2.529253 33.8459194 0.113221634 V-P -3.358333 -21.545919 14.8292527 0.980350080 T-S 27.066667 8.879081 45.2542527 0.002027122 V-S 8.050000 -10.137586 26.2375861 0.679824487 V-T -19.016667 -37.204253 -0.8290806 0.037710044 ''' res = np.array([[8.150000, -10.037586, 26.3375861, 0.670063958], [-3.258333, -21.445919, 14.9292527, 0.982419709], [23.808333, 5.620747, 41.9959194, 0.006783701], [4.791667, -13.395919, 22.9792527, 0.931020848], [-11.408333, -29.595919, 6.7792527, 0.360680099], [15.658333, -2.529253, 33.8459194, 0.113221634], [-3.358333, -21.545919, 14.8292527, 0.980350080], [27.066667, 8.879081, 45.2542527, 0.002027122], [8.050000, -10.137586, 26.2375861, 0.679824487], [-19.016667, -37.204253, -0.8290806, 0.037710044]]) m_r = [94.39167, 102.54167, 91.13333, 118.20000, 99.18333] myres = tukeyhsd(m_r, 6, 110.8, alpha=0.05, df=4) from numpy.testing import assert_almost_equal, assert_equal pairs, reject, meandiffs, std_pairs, confint, q_crit = myres[:6] assert_almost_equal(meandiffs, res[:, 0], decimal=5) assert_almost_equal(confint, res[:, 1:3], decimal=2) assert_equal(reject, res[:, 3] < 0.05)
def test_tukeyhsd(): #example multicomp in R p 83 res = '''\ pair diff lwr upr p adj P-M 8.150000 -10.037586 26.3375861 0.670063958 S-M -3.258333 -21.445919 14.9292527 0.982419709 T-M 23.808333 5.620747 41.9959194 0.006783701 V-M 4.791667 -13.395919 22.9792527 0.931020848 S-P -11.408333 -29.595919 6.7792527 0.360680099 T-P 15.658333 -2.529253 33.8459194 0.113221634 V-P -3.358333 -21.545919 14.8292527 0.980350080 T-S 27.066667 8.879081 45.2542527 0.002027122 V-S 8.050000 -10.137586 26.2375861 0.679824487 V-T -19.016667 -37.204253 -0.8290806 0.037710044 ''' res = np.array([[ 8.150000, -10.037586, 26.3375861, 0.670063958], [-3.258333, -21.445919, 14.9292527, 0.982419709], [23.808333, 5.620747, 41.9959194, 0.006783701], [ 4.791667, -13.395919, 22.9792527, 0.931020848], [-11.408333, -29.595919, 6.7792527, 0.360680099], [15.658333, -2.529253, 33.8459194, 0.113221634], [-3.358333, -21.545919, 14.8292527, 0.980350080], [27.066667, 8.879081, 45.2542527, 0.002027122], [ 8.050000, -10.137586, 26.2375861, 0.679824487], [-19.016667, -37.204253, -0.8290806, 0.037710044]]) m_r = [94.39167, 102.54167, 91.13333, 118.20000, 99.18333] myres = tukeyhsd(m_r, 6, 110.8, alpha=0.05, df=4) from numpy.testing import assert_almost_equal, assert_equal pairs, reject, meandiffs, std_pairs, confint, q_crit = myres[:6] assert_almost_equal(meandiffs, res[:, 0], decimal=5) assert_almost_equal(confint, res[:, 1:3], decimal=2) assert_equal(reject, res[:, 3]<0.05)
def get_thsd(mci, alpha=0.05): var_ = np.var(mci.groupstats.groupdemean(), ddof=len(mci.groupsunique)) means = mci.groupstats.groupmean nobs = mci.groupstats.groupnobs resi = tukeyhsd(means, nobs, var_, df=None, alpha=alpha, q_crit=qsturng(1-alpha, len(means), (nobs-1).sum())) #print resi[4] var2 = (mci.groupstats.groupvarwithin() * (nobs - 1)).sum() \ / (nobs - 1).sum() assert_almost_equal(var_, var2, decimal=14) return resi
def get_thsd(mci, alpha=0.05): var_ = np.var(mci.groupstats.groupdemean(), ddof=len(mci.groupsunique)) means = mci.groupstats.groupmean nobs = mci.groupstats.groupnobs resi = tukeyhsd(means, nobs, var_, df=None, alpha=alpha, q_crit=qsturng(1 - alpha, len(means), (nobs - 1).sum())) #print resi[4] var2 = (mci.groupstats.groupvarwithin() * (nobs - 1)).sum() \ / (nobs - 1).sum() assert_almost_equal(var_, var2, decimal=14) return resi