Пример #1
0
def table_group_pairwise_similarity(g1, g2, vec11, vec12, vec22, outfile, testtype=None):
    mean_11, std_11 = statcommon.vec_mean_std(vec11)
    mean_12, std_12 = statcommon.vec_mean_std(vec12)
    mean_22, std_22 = statcommon.vec_mean_std(vec22)
    
    f = open(outfile, 'w')
    f.write("Categories\tpval\ttval\tmean1 +/- std1\tmean2 +/- std2\n")
    # Compare 11 and 12
    if testtype is None:
        testtype = statcommon.get_test_type2(islarge([vec11, vec12]), False)
    f.write("%s, %s_%s\t" % (g1, g1, g2))
    t_11_12, p_11_12 = statcommon.ttest_pair(vec11, vec12, testtype=testtype) 
    f.write("%.3f\t%.2e\t%.3f +/- %.3f\t%.3f +/- %.3f\n" % (t_11_12, p_11_12,
                                            mean_11, std_11, mean_12, std_12))
    # Compare 12 and 22
    if testtype is None:
        testtype = statcommon.get_test_type2(islarge([vec12, vec22]), False)
    f.write("%s_%s, %s\t" % (g1, g2, g2))
    t_12_22, p_12_22 = statcommon.ttest_pair(vec12, vec22, testtype=testtype) 
    f.write("%.3f\t%.2e\t%.3f +/- %.3f\t%.3f +/- %.3f\n" % (t_12_22, p_12_22,
                                            mean_12, std_12, mean_22, std_22))
    # Compare 11 and 22
    if testtype is None:
        testtype = statcommon.get_test_type2(islarge([vec11, vec22]), False)
    f.write("%s, %s\t" % (g1, g2))
    t_11_22, p_11_22 = statcommon.ttest_pair(vec11, vec22, testtype=testtype) 
    f.write("%.3f\t%.2e\t%.3f +/- %.3f\t%.3f +/- %.3f\n" % (t_11_22, p_11_22,
                                            mean_11, std_11, mean_22, std_22))
    f.close()
Пример #2
0
def model_diff_signi_test(objs1, objs2, outdir, maxeval=0.005):
    if len(objs1) == 0 or len(objs2) == 0:
        return
    obj0 = objs1[0]
    for attr in obj0.get_attrs_depth1():
        outfile = os.path.join(outdir, attr)
        f = open(outfile, "w")
        f.write("#Key\tstatistic\te_value\tGroup1 +/- Std1\tGroup2 +/- Std2\n")
        for k in obj0[attr]:
            v1 = [obj[attr][k] for obj in objs1]
            v2 = [obj[attr][k] for obj in objs2]
            sval, pval = statcommon.ttest_pair(v1, v2, False, "ranksums")
            eval = pval * len(obj0[attr])
            if eval <= maxeval:
                f.write(
                    "%s\t%s\t%s\t%s +/- %s\t%s +/- %s\n"
                    % (
                        k,
                        pfloat(sval),
                        pfloat(eval),
                        pfloat(np.mean(v1)),
                        pfloat(np.std(v1)),
                        pfloat(np.mean(v2)),
                        pfloat(np.std(v2)),
                    )
                )
        f.close()