def main(): """ TestingHypothesisMath.py """ results = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.5) print 'Testing a single mean:', example_test_a_mean( results, target=500, significance_level=0.95) results_1 = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.5) results_2 = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.5) print 'Comparing two equal means:', example_compare_two_means( results_1, results_2) results_2 = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.3) print 'Comparing two unequal means:', example_compare_two_means( results_1, results_2) print 'Testing a single proportion:', example_test_a_proportion(p=0.1, n=100, target=0.1) print 'Comparing two equal proportions:', example_compare_two_proportions( p1=0.1, n1=1000, p2=0.1, n2=1000) print 'Comparing two unequal proportions:', example_compare_two_proportions( p1=0.1, n1=1000, p2=0.15, n2=1000)
def main(): """ NonParametricMethods.py """ print '---------- Normal data ---------------' normal_data = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5, plot=True) normal_lower_bound, normal_upper_bound = get_confidence_intervals_using_the_normal_distribution( normal_data) print 'normal: len', len(normal_data), 'mean', mean(normal_data) print 'Normality test for normal data:', test_for_normality(normal_data) print 'Confidence intervals for normal data:', normal_lower_bound, normal_upper_bound normal_lower_bound, normal_upper_bound = bootstrap_confidence_intervals(normal_data) print 'Bootstrapping confidence intervals for normal data:', normal_lower_bound, normal_upper_bound print print '---------- Powerlaw data -------------' powerlaw_data = create_random_non_normal_data(sample_size=10000, plot=True) print 'powerlaw: len', len(powerlaw_data), 'mean', mean(powerlaw_data) powerlaw_lower_bound, powerlaw_upper_bound = get_confidence_intervals_using_the_normal_distribution( powerlaw_data) print 'Normality test for powerlaw data:', test_for_normality(powerlaw_data) print 'Confidence intervals for powerlaw data:', powerlaw_lower_bound, powerlaw_upper_bound powerlaw_lower_bound, powerlaw_upper_bound = bootstrap_confidence_intervals(powerlaw_data) print 'Bootstrapping confidence intervals for powerlaw data:', powerlaw_lower_bound, powerlaw_upper_bound print print '---------- Two equal normal means -----------------' data_1 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5) data_2 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means(data_2, data_1) print print '---------- Two unequal normal means ---------------' data_1 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5) data_2 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.45) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means(data_2, data_1) print print '---------- Two equal non-normal means -------------' data_1 = create_random_non_normal_data(sample_size=100000) data_2 = create_random_non_normal_data(sample_size=100000) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means(data_2, data_1) print print '---------- Two unequal non-normal means -------------' data_1 = create_random_non_normal_data(sample_size=100000, a=11.3) data_2 = create_random_non_normal_data(sample_size=100000, a=12) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means(data_2, data_1)
def main(): """ ConfidenceIntervals.py """ results = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.5) print 'Three-sigma:', get_confidence_intervals_using_the_three_sigma_rule(results) print 'Normal dist.:', get_confidence_intervals_using_the_normal_distribution(results) print 'Quantiles:', get_confidence_intervals_using_the_quantiles(results)
def main(): """ TestingHypothesisMath.py """ results = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.5) print 'Testing a single mean:', example_test_a_mean( results, target=500, significance_level=0.95) results_1 = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.5) results_2 = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.5) print 'Comparing two equal means:', example_compare_two_means( results_1, results_2) results_2 = flip_some_coins_lots_of_times(number_of_times=100000, number_of_flips=1000, fairness=0.3) print 'Comparing two unequal means:', example_compare_two_means( results_1, results_2) print 'Testing a single proportion:', example_test_a_proportion(p=0.1, n=100, target=0.1) print 'Comparing two equal proportions:', example_compare_two_proportions(p1=0.1, n1=1000, p2=0.1, n2=1000) print 'Comparing two unequal proportions:', example_compare_two_proportions(p1=0.1, n1=1000, p2=0.15, n2=1000)
def main(): """ NonParametricMethods.py """ print '---------- Normal data ---------------' normal_data = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5, plot=True) normal_lower_bound, normal_upper_bound = get_confidence_intervals_using_the_normal_distribution( normal_data) print 'normal: len', len(normal_data), 'mean', mean(normal_data) print 'Normality test for normal data:', test_for_normality(normal_data) print 'Confidence intervals for normal data:', normal_lower_bound, normal_upper_bound normal_lower_bound, normal_upper_bound = bootstrap_confidence_intervals( normal_data) print 'Bootstrapping confidence intervals for normal data:', normal_lower_bound, normal_upper_bound print print '---------- Powerlaw data -------------' powerlaw_data = create_random_non_normal_data(sample_size=10000, plot=True) print 'powerlaw: len', len(powerlaw_data), 'mean', mean(powerlaw_data) powerlaw_lower_bound, powerlaw_upper_bound = get_confidence_intervals_using_the_normal_distribution( powerlaw_data) print 'Normality test for powerlaw data:', test_for_normality( powerlaw_data) print 'Confidence intervals for powerlaw data:', powerlaw_lower_bound, powerlaw_upper_bound powerlaw_lower_bound, powerlaw_upper_bound = bootstrap_confidence_intervals( powerlaw_data) print 'Bootstrapping confidence intervals for powerlaw data:', powerlaw_lower_bound, powerlaw_upper_bound print print '---------- Two equal normal means -----------------' data_1 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5) data_2 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means( data_2, data_1) print print '---------- Two unequal normal means ---------------' data_1 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.5) data_2 = flip_some_coins_lots_of_times(10000, number_of_flips=1000, fairness=0.45) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means( data_2, data_1) print print '---------- Two equal non-normal means -------------' data_1 = create_random_non_normal_data(sample_size=100000) data_2 = create_random_non_normal_data(sample_size=100000) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means( data_2, data_1) print print '---------- Two unequal non-normal means -------------' data_1 = create_random_non_normal_data(sample_size=100000, a=11.3) data_2 = create_random_non_normal_data(sample_size=100000, a=12) print 'Normality based test:', compare_two_means(data_2, data_1) print 'Ranksum test :', non_parametric_test_for_difference_of_means( data_2, data_1)