我正在阅读《统计》(弗里曼,皮萨尼,普尔韦斯)这本书,并尝试重现一个例子,其中一个硬币被扔了50次,计数的数目正好重复了1000次。
首先,我将投掷次数(样本大小)保持在1000,并增加了重复次数。重复次数越多,数据越符合正态曲线。
因此,接下来,我尝试将重复次数固定为1,000,并增加了样本量。样本数量越大,法线曲线似乎越不适合数据。这似乎与本书示例相矛盾,本书示例随着样本数量的增加更好地逼近正态曲线。
我想看看如果增加样本量会发生什么情况,但是重复次数固定为10,000。这似乎也与该书矛盾。
有什么想法我做错了吗?
下面的代码和图表。
%matplotlib inline
def plot_hist(num_repetitions, num_tosses):
tosses = np.random.randint(0, 2, size=[num_repetitions, num_tosses])
sums = np.apply_along_axis(lambda a: np.sum(a == 1), 1, tosses)
xmin, xmax = min(sums), max(sums)
lnspc = np.linspace(xmin, xmax, len(sums))
m, s = stats.norm.fit(sums) # get mean and standard deviation
pdf_g = stats.norm.pdf(lnspc, m, s) # now get theoretical values in our interval
bins = np.arange(xmin, xmax) - 0.5
step = int((xmax - xmin)/5)
fig, ax = plt.subplots()
_ = ax.hist(sums, bins, edgecolor='black', linewidth=1.2, density=True)
_ = ax.plot(lnspc, pdf_g, label="Norm", color='red')
_ = ax.set_xticks(bins[::step] + 0.5)
_ = ax.set_title('{:,} tosses - {:,} repetitions'.format(num_tosses, num_repetitions))
1.尝试增加重复次数(固定样本大小为1000)
plot_hist(1000, 1000)
plot_hist(10000, 1000)
plot_hist(100000, 1000)
2.尝试增加样本量(固定为1000次重复)
plot_hist(1000, 100)
plot_hist(1000, 1000)
plot_hist(1000, 10000)
3.尝试增加样本量(固定为10,000次重复)
plot_hist(10000, 100)
plot_hist(10000, 1000)
plot_hist(10000, 10000)
plot_hist(10000, 100000)