创建人口数据
Create Population Data
创建一个包含 5000 个人的群体以及他们每天 phone 的接客次数,以用于以后的抽样。这是我想出的代码:
def get_population(pickups, pop_size, std):
pop = np.random.randint(0, pickups, 5000)
mean = np.mean(pop)
std = np.std(pop)
return pop, mean, std
我使用给定的断言错误来想出这个函数,所以我什至不确定我应该返回什么:
pop_pickups, pop_mean, pop_std = get_population(45, 5000, 42)
assert np.abs(pop_mean - 45) < 0.5, "Get population problem, testing pop_mean, population mean returned does not match expected population mean"
assert np.abs(pop_std - np.sqrt(45)) < 0.5, "Get population problem, testing pop_std, population standard deviation returned does not match expected standard deviation"
我假设我需要生成人口,然后取所说人口的均值和标准差。但是我的代码触发了均值不正确的断言错误。最终目标是可视化单个均值的 bootstrap。
查看 numpy.random.randint 的文档:
https://numpy.org/doc/stable/reference/random/generated/numpy.random.randint.html
您正在生成 0 到 45 之间的 5000 个点。平均值可能在 (45 - 0)/2 左右而不是 45 左右。您的代码没问题,但断言测试没有检查正确的平均值和 STD .
编辑:
如果你想生成一个遵循泊松分布的样本,你可以使用这个:
import numpy as np
param = 45 # Poisson parameter
nb_samples = 50000
sample = np.random.poisson(param, nb_samples)
assert np.abs(param - np.mean(sample)) < 0.5, "Get population problem, testing pop_mean, population mean returned does not match expected population mean"
请注意,此代码 运行 不会返回任何内容。
创建一个包含 5000 个人的群体以及他们每天 phone 的接客次数,以用于以后的抽样。这是我想出的代码:
def get_population(pickups, pop_size, std):
pop = np.random.randint(0, pickups, 5000)
mean = np.mean(pop)
std = np.std(pop)
return pop, mean, std
我使用给定的断言错误来想出这个函数,所以我什至不确定我应该返回什么:
pop_pickups, pop_mean, pop_std = get_population(45, 5000, 42)
assert np.abs(pop_mean - 45) < 0.5, "Get population problem, testing pop_mean, population mean returned does not match expected population mean"
assert np.abs(pop_std - np.sqrt(45)) < 0.5, "Get population problem, testing pop_std, population standard deviation returned does not match expected standard deviation"
我假设我需要生成人口,然后取所说人口的均值和标准差。但是我的代码触发了均值不正确的断言错误。最终目标是可视化单个均值的 bootstrap。
查看 numpy.random.randint 的文档: https://numpy.org/doc/stable/reference/random/generated/numpy.random.randint.html
您正在生成 0 到 45 之间的 5000 个点。平均值可能在 (45 - 0)/2 左右而不是 45 左右。您的代码没问题,但断言测试没有检查正确的平均值和 STD .
编辑: 如果你想生成一个遵循泊松分布的样本,你可以使用这个:
import numpy as np
param = 45 # Poisson parameter
nb_samples = 50000
sample = np.random.poisson(param, nb_samples)
assert np.abs(param - np.mean(sample)) < 0.5, "Get population problem, testing pop_mean, population mean returned does not match expected population mean"
请注意,此代码 运行 不会返回任何内容。