#!/usr/bin/env python3 """ LPC stats HW2, Problem 1 Author: Caleb Fangmeier Created: Sep. 25, 2017 """ from numpy import sum, sqrt from numpy.random import exponential, poisson def find_relative_frequency(n_experiments, b): # First get the mean counts for each experiment a = exponential(scale=b, size=n_experiments) # Since this is a counting experiment, sample from a Poisson distribution with the # previously generated means. x = poisson(lam=a) # Finally, count for how many experiments the a lies in # the range [x-sqrt(x), x+sqrt(x)] n_pass = sum((x - sqrt(x) < a) & (a < x + sqrt(x))) relative_frequency = n_pass / n_experiments # and print the results print(f"For b={b}, {n_pass}/{n_experiments} passed, R={relative_frequency*100:4.2f}%") find_relative_frequency(10000, 5) find_relative_frequency(10000, 10) # Example output # > For b=5, 6012/10000 passed, R=60.12% # > For b=10, 6372/10000 passed, R=63.72%