Mengapa menambah ukuran sampel membalik koin tidak meningkatkan perkiraan kurva normal?


19

Saya membaca buku Statistik (Freeman, Pisani, Purves) dan saya mencoba mereproduksi contoh di mana koin dilemparkan katakan 50 kali, jumlah kepala dihitung dan ini diulang katakan 1.000 kali.

  1. Pertama, saya menjaga jumlah lemparan (ukuran sampel) pada 1000 dan meningkatkan pengulangan. Semakin banyak pengulangan, semakin baik data sesuai dengan kurva normal.

  2. Jadi selanjutnya, saya mencoba menjaga jumlah pengulangan tetap pada 1.000 dan meningkatkan ukuran sampel. Semakin besar ukuran sampel, semakin buruk kurva normal tampaknya sesuai dengan data. Ini tampaknya bertentangan dengan contoh buku yang mendekati perkiraan kurva normal seiring dengan meningkatnya ukuran sampel.

  3. Saya ingin melihat apa yang akan terjadi jika saya menambah ukuran sampel, tetapi dengan jumlah pengulangan yang lebih besar yaitu 10.000. Ini tampaknya juga bertentangan dengan buku itu.

Ada ide yang saya lakukan salah?

Kode dan grafik di bawah ini.

%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. Percobaan dengan meningkatkan jumlah pengulangan (ukuran sampel tetap 1000)

plot_hist(1000, 1000)

masukkan deskripsi gambar di sini

plot_hist(10000, 1000)

masukkan deskripsi gambar di sini

plot_hist(100000, 1000)

masukkan deskripsi gambar di sini

2. Eksperimen dengan meningkatkan ukuran sampel (ditetapkan pada 1000 pengulangan)

plot_hist(1000, 100)

masukkan deskripsi gambar di sini

plot_hist(1000, 1000)

masukkan deskripsi gambar di sini

plot_hist(1000, 10000)

masukkan deskripsi gambar di sini

3. Eksperimen dengan peningkatan ukuran sampel (ditetapkan pada 10.000 pengulangan)

plot_hist(10000, 100)

masukkan deskripsi gambar di sini

plot_hist(10000, 1000)

masukkan deskripsi gambar di sini

plot_hist(10000, 10000)

masukkan deskripsi gambar di sini

plot_hist(10000, 100000)

masukkan deskripsi gambar di sini


9
Anda memerlukan plotter histogram yang lebih baik - ini sangat buruk dan ini menciptakan artefak. Lebih baik lagi, bandingkan distribusi dengan plot probabilitas daripada histogram.
whuber

1
Ini berguna untuk mengetahui dan menambah pengetahuan saya hari ini. Terima kasih!
Chris Snow

3
"Pengulangan" adalah "ukuran sampel" Anda, bukan lemparan. Meningkatkan jumlah lemparan adalah sesuatu yang berbeda
Mars

1
Maaf, saya berpikir dan berpikir dan berpikir, tetapi tidak bisa dengan istilah untuk yang itu! Tetapi terlepas dari jumlah lemparan, pada akhirnya, itu memberi Anda 1 angka (jumlah kepala). Ini memberi Anda 1 sampel.
Mars

1
Saya telah memposting pertanyaan baru yang berfokus hanya pada terminologi: stats.stackexchange.com/questions/389892/…
Chris Snow

Jawaban:


27

Dalam kasus kedua, dengan meningkatkan jumlah lemparan, Anda menambah jumlah sampah yang bisa dicoba oleh satu percobaan. Sementara kasus pertama percobaan 2 hanya memiliki maksimal 100 nampan yang dapat diisi, contoh terakhir memiliki 10.000 nampan. Anda meningkatkan "resolusi" percobaan Anda dengan faktor 100 (yaitu, satu nampan di percobaan pertama Anda sekarang diwakili oleh sekitar 100 dalam percobaan kedua Anda). Tentu saja ini berarti Anda akan membutuhkan 100 faktor untuk mengisi lebih banyak tempat.


Ah, masuk akal. Dengan mengatur jumlah nampan ke 35 ( _ = ax.hist(sums, bins=35, edgecolor='black', linewidth=1.2, density=True)) percobaan ketiga sekarang mendekati kurva normal.
Chris Snow

5

Anda dapat menganggap flip koin individu sebagai uji coba Bernoulli independen. Satu percobaan akan memberi Anda masing-masing kepala / ekor atau keberhasilan / kegagalan, masing-masing. Jika Anda mengulangi ini mengatakan 100.000 kali, jumlah rata-rata kepala akan sangat dekat dengan 0,5, jika koin itu adil.

Sekarang jika Anda meningkatkan jumlah uji coba menjadi 1.000 dan mempertahankan pengulangan pada 1, Anda akan mendapatkan urutan 1.000 keberhasilan / kegagalan dan tidak bisa mengatakan banyak tentang kemungkinan mengamati, rata-rata, 500 kepala kecuali jika Anda menambah jumlah pengulangan untuk masing-masing uji coba independen. Dengan meningkatnya jumlah pengulangan, Anda akan mendapatkan perkiraan yang lebih baik dan lebih baik untuk distribusi normal.

Bagi saya lebih mudah untuk memikirkan percobaan bukan sebagai "lemparan" atau "ukuran sampel" tetapi bukannya koin yang terpisah dan pengulangan sebagai jumlah flips dari masing-masing koin. Maka secara intuitif juga masuk akal bahwa dengan meningkatkan jumlah koin (atau percobaan), sambil menjaga jumlah total pengulangan (atau membalik) konstan, perkiraan data ke distribusi normal menjadi lebih buruk.


2

Saya pikir jawaban lain di sini bagus, tetapi ingin menambahkan jawaban yang meluas ke alat statistik lain.

Anda mulai dengan garis dasar yang menurut Anda harus mendekati kurva normal, dan kemudian pergi dari sana untuk melihat apakah Anda bisa lebih baik memperkirakan kurva normal. Cobalah pergi ke arah lain, dan lihat apa yang dapat Anda lakukan untuk melakukan pekerjaan yang lebih buruk di aproksimasi. Cobalah simulasi di mana Anda memiliki 10 flips dan 1000 repetisi. Bandingkan ini dengan simulasi di mana Anda memiliki 1000 flips dan 10 repetisi. Harus jelas bahwa kasus sebelumnya memiliki perkiraan yang lebih baik.

Ekstensi yang ingin saya buat adalah ke ANOVA (analisis varian). Anda melihat banyak ilmuwan data baru yang kurang memahami masalah ini, dan merancang studi mereka sehingga mereka memiliki banyak kesalahan, tetapi hanya sedikit pengulangan. Mereka memiliki banyak data, tetapi dikatakan kurang dari yang mereka inginkan. Seperti mengukur setiap daun di pohon, tetapi hanya memiliki dua pohon. Kita dapat mengatakan sedikit tentang daun pada kedua pohon itu, tetapi tidak pada daun pada pohon secara umum. Sebaiknya Anda mengambil sampel daun yang jauh lebih kecil, dan mendapatkan banyak pohon.


Terima kasih atas jawabannya. Apakah Anda dapat menguraikan bagaimana ANOVA dapat digunakan dalam konteks ini?
Chris Snow

1
@ChrisSnow ANOVA adalah perspektif dalam regresi linier yang berfokus pada apakah atau tidak kelompok yang berbeda, pada kenyataannya, berbeda dengan melihat varians (maka namanya). Hubungannya adalah bahwa dengan pengulangan yang terlalu sedikit, Anda tidak dapat benar-benar membedakan antara kelompok, meskipun Anda memiliki banyak kesalahan. Perkiraan kurva normal menjadi buruk, dan varians dari masing-masing kelompok tidak cukup berbeda untuk menyimpulkan bahwa segala sesuatu pada kenyataannya berbeda.
Jeremy

1

Untuk mendapatkan intuisi tambahan pertimbangkan hal berikut:

Bayangkan Anda hanya melakukan satu pengulangan.

Dalam hal ini Anda dapat meningkatkan jumlah lemparan semua yang Anda inginkan tetapi tidak akan menyerupai distribusi normal. Dan ini masuk akal karena histogram Anda hanya akan memiliki satu puncak tunggal.


Distribusi normal adalah perkiraan untuk distribusi probabilitas (dari distribusi binomial).

Apa yang Anda lakukan adalah tidak membuat distribusi ini. Tetapi sebaliknya, Anda memperkirakan distribusi ini dengan menggunakan jumlah simulasi yang terbatas (dan kecil). (dan yang Anda temukan adalah perkiraan ini menjadi lebih buruk ketika Anda menambah jumlah tempat sampah di histogram)


Jadi, Anda berdua membutuhkan banyak pengulangan dan pengulangan.

  • ketika jumlah lemparan tinggi maka distribusi binomial (lemparan beberapa koin) dapat didekati dengan distribusi normal.
  • ketika jumlah pengulangan / simulasi tinggi dari histogram percobaan ini mendekati kepadatan distribusi binomial.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.