Ben okuyorum İstatistik (Freeman, Pisani'yi Purves) kitap ve bir madeni para söylemek 50 kez, sayılan kafaları sayısını atmış bir örneğini yeniden oluşturmaya çalışıyorum ve bu demek 1,000 kez tekrarlanır.
İlk olarak, fırlatma sayısını (örnek büyüklüğü) 1000'de tuttum ve tekrarları arttırdım. Tekrarlama sayısı arttıkça, veriler normal eğriye daha iyi uyar.
Sonra, tekrar sayısını 1000'de sabit tutmaya çalıştım ve örneklem boyutunu artırdım. Örneklem büyüklüğü ne kadar büyük olursa, normal eğri en kötü verilere uyuyordu. Bu, örneklem büyüklüğü arttıkça normal eğriye daha iyi yaklaşan kitap örneğiyle çelişiyor gibi görünmektedir.
Örnek boyutunu büyütürsem ne olacağını görmek istedim, ancak 10.000'de sabitlenen çok sayıda tekrarla. Bu da kitapla çelişiyor gibi görünüyor.
Yanlış yaptığım hakkında bir fikrin var mı?
Aşağıdaki kod ve grafikler.
%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. artan tekrar sayısı ile deneme (1000 sabit örnek boyutu)
plot_hist(1000, 1000)
plot_hist(10000, 1000)
plot_hist(100000, 1000)
2. Artan numune boyutuyla deney (1000 tekrarda sabit)
plot_hist(1000, 100)
plot_hist(1000, 1000)
plot_hist(1000, 10000)
3. Artan numune boyutuyla deney (10.000 tekrarda sabit)
plot_hist(10000, 100)
plot_hist(10000, 1000)
plot_hist(10000, 10000)
plot_hist(10000, 100000)