differential_privacy_budget.../t_tests.py

57 lines
1.8 KiB
Python

from get_statistics import get_regions, regions_names
import math
regions = get_regions()
def t(n1, mean1, std1, n2, mean2, std2):
return (mean1 - mean2) / math.sqrt(
(math.pow(std1, 2) / n1) + (math.pow(std2, 2) / n2)
)
def run_all_t_tests():
tests = {}
for name1 in regions_names:
for name2 in regions_names:
region1 = regions[name1]
region2 = regions[name2]
if name1 != name2:
tests[f"{name1}_informal_{name2}_informal"] = t(
region1["informal_count"],
region1["informal_mean"],
region1["informal_std"],
region2["informal_count"],
region2["informal_mean"],
region2["informal_std"],
)
tests[f"{name1}_formal_{name2}_formal"] = t(
region1["formal_count"],
region1["formal_mean"],
region1["formal_std"],
region2["formal_count"],
region2["formal_mean"],
region2["formal_std"],
)
tests[f"{name1}_formal_{name2}_informal"] = t(
region1["formal_count"],
region1["formal_mean"],
region1["formal_std"],
region2["informal_count"],
region2["informal_mean"],
region2["informal_std"],
)
tests[f"{name1}_informal_{name2}_formal"] = t(
region1["informal_count"],
region1["informal_mean"],
region1["informal_std"],
region2["formal_count"],
region2["formal_mean"],
region2["formal_std"],
)
return tests
if __name__ == "__main__":
print(run_all_t_tests())