Tại sao việc tăng kích thước mẫu của lật đồng xu không cải thiện xấp xỉ đường cong thông thường?


19

Tôi đang đọc cuốn sách Thống kê (Freeman, Pisani, Purves) và tôi đang cố gắng tái tạo một ví dụ trong đó một đồng xu được tung ra nói 50 lần, số lượng đầu được đếm và điều này được lặp lại nói 1.000 lần.

  1. Đầu tiên, tôi giữ số lần tung (cỡ mẫu) ở mức 1000 và tăng số lần lặp lại. Càng lặp lại nhiều lần, dữ liệu càng phù hợp với đường cong thông thường.

  2. Vì vậy, tiếp theo, tôi đã cố gắng giữ số lần lặp lại cố định ở mức 1.000 và tăng kích thước mẫu. Kích thước mẫu càng lớn, đường cong bình thường tệ nhất có vẻ phù hợp với dữ liệu. Điều này dường như mâu thuẫn với ví dụ cuốn sách gần đúng hơn với đường cong thông thường khi kích thước mẫu tăng.

  3. Tôi muốn xem điều gì sẽ xảy ra nếu tôi tăng kích thước mẫu, nhưng với số lần lặp lại lớn hơn được cố định ở mức 10.000. Điều này dường như cũng mâu thuẫn với cuốn sách.

Có ai biết tôi đang làm gì sai không?

Mã và đồ thị dưới đây.

%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. Thử nghiệm với số lần lặp lại tăng dần (cỡ mẫu cố định là 1000)

plot_hist(1000, 1000)

nhập mô tả hình ảnh ở đây

plot_hist(10000, 1000)

nhập mô tả hình ảnh ở đây

plot_hist(100000, 1000)

nhập mô tả hình ảnh ở đây

2. Thử nghiệm tăng kích thước mẫu (cố định ở 1000 lần lặp lại)

plot_hist(1000, 100)

nhập mô tả hình ảnh ở đây

plot_hist(1000, 1000)

nhập mô tả hình ảnh ở đây

plot_hist(1000, 10000)

nhập mô tả hình ảnh ở đây

3. Thử nghiệm tăng kích thước mẫu (cố định ở 10.000 lần lặp lại)

plot_hist(10000, 100)

nhập mô tả hình ảnh ở đây

plot_hist(10000, 1000)

nhập mô tả hình ảnh ở đây

plot_hist(10000, 10000)

nhập mô tả hình ảnh ở đây

plot_hist(10000, 100000)

nhập mô tả hình ảnh ở đây


9
Bạn cần một máy vẽ biểu đồ tốt hơn - cái này đặc biệt nghèo nàn và nó tạo ra các tạo tác. Tốt hơn hết, hãy so sánh các bản phân phối với một biểu đồ xác suất hơn là một biểu đồ.
whuber

1
Điều này rất hữu ích để biết và đã tăng kiến ​​thức của tôi ngày hôm nay. Cảm ơn!
Chris Snow

3
"Lặp lại" là "cỡ mẫu" của bạn, không phải là tung. Tăng số lần tung là một điều khác biệt
Sao Hỏa

1
Xin lỗi, tôi đã nghĩ và nghĩ và nghĩ, nhưng không thể với thuật ngữ đó! Nhưng bất kể số lần tung, cuối cùng, nó cung cấp cho bạn 1 số (số lượng đầu). Nó cung cấp cho bạn 1 mẫu.
Sao Hỏa

1
Tôi đã đăng một câu hỏi mới chỉ tập trung vào thuật ngữ: stats.stackexchange.com/questions/389892/ Kẻ
Chris Snow

Câu trả lời:


27

Trong trường hợp thứ hai, bằng cách tăng số lần tung, bạn tăng số lượng thùng mà một thử nghiệm có thể rơi vào. Trong khi trường hợp đầu tiên của thí nghiệm 2 chỉ có tối đa 100 thùng có thể được lấp đầy, ví dụ cuối cùng có 10000 thùng. Bạn đã tăng "độ phân giải" cho thử nghiệm của mình theo hệ số 100 (nghĩa là, một thùng trong thử nghiệm đầu tiên của bạn hiện được đại diện bằng khoảng 100 trong giây của bạn). Tất nhiên, điều này có nghĩa là bạn sẽ cần thêm 100 yếu tố để điền vào thùng của mình.


Ah, có ý nghĩa. Bằng cách đặt số lượng thùng thành 35 ( _ = ax.hist(sums, bins=35, edgecolor='black', linewidth=1.2, density=True)), thí nghiệm thứ ba hiện xấp xỉ đường cong thông thường.
Chris Snow

5

Bạn có thể nghĩ về một đồng xu lật cá nhân như một thử nghiệm Bernoulli độc lập. Một thử nghiệm sẽ cung cấp cho bạn đầu / đuôi hoặc thành công / thất bại, tương ứng. Nếu bạn lặp lại điều này nói 100.000 lần, số lượng đầu trung bình sẽ rất gần 0,5, nếu đồng tiền là công bằng.

Bây giờ nếu bạn tăng số lượng thử nghiệm lên 1.000 và giữ mức lặp lại ở mức 1, bạn sẽ nhận được chuỗi 1.000 lần thành công / thất bại và không thể nói nhiều về xác suất quan sát, trung bình, 500 đầu trừ khi bạn tăng số lần lặp lại cho mỗi thử nghiệm độc lập Khi số lần lặp lại tăng lên, bạn sẽ có được xấp xỉ tốt hơn và tốt hơn so với phân phối bình thường.

Đối với tôi, dễ dàng hơn khi nghĩ về các thử nghiệm không phải là các kiểu ném hay các mẫu khác nhau mà thay vào đó là các đồng tiền riêng biệt và các lần lặp lại như số lần lật của mỗi đồng tiền đó. Sau đó, nó cũng có ý nghĩa bằng trực giác rằng bằng cách tăng số lượng xu (hoặc thử nghiệm), trong khi giữ cho tổng số lần lặp lại (hoặc lật) không đổi, việc xấp xỉ dữ liệu cho phân phối bình thường trở nên tồi tệ hơn.


2

Tôi nghĩ rằng các câu trả lời khác ở đây là tuyệt vời, nhưng muốn thêm một câu trả lời mở rộng cho một công cụ thống kê khác.

Bạn đang bắt đầu với một đường cơ sở mà bạn nghĩ nên xấp xỉ một đường cong bình thường, và sau đó đi từ đó để xem liệu bạn có thể ước chừng một đường cong bình thường tốt hơn không. Hãy thử đi theo hướng khác, và xem những gì bạn có thể làm để làm một công việc tồi tệ hơn khi xấp xỉ. Hãy thử mô phỏng trong đó bạn có 10 lần lật và 1000 lần lặp lại. So sánh điều này với các mô phỏng nơi bạn có 1000 lần lật và 10 lần lặp lại. Cần phải rõ ràng rằng trường hợp trước đây có xấp xỉ tốt hơn.

Phần mở rộng mà tôi muốn thực hiện là ANOVA (phân tích phương sai). Bạn thấy rất nhiều nhà khoa học dữ liệu mới nắm bắt được vấn đề này và thiết kế nghiên cứu của họ sao cho họ có nhiều cú lật, nhưng ít lặp lại. Họ có rất nhiều dữ liệu, nhưng nó nói ít hơn họ muốn. Giống như đo từng chiếc lá trên cây, nhưng chỉ có hai cây. Chúng ta có thể nói khá nhiều về lá trên hai cây đó, nhưng nói chung không phải lá trên cây. Bạn sẽ tốt hơn nếu lấy một mẫu lá nhỏ hơn nhiều và lấy được nhiều cây.


Cảm ơn bạn đã trả lời. Bạn có thể giải thích về cách ANOVA có thể được sử dụng trong bối cảnh này không?
Chris Snow

1
@ChrisSnow ANOVA là một viễn cảnh trong hồi quy tuyến tính tập trung vào việc các nhóm khác nhau trên thực tế có khác nhau hay không bằng cách nhìn vào phương sai (do đó là tên). Kết nối là với quá ít sự lặp lại, bạn thực sự không thể biết được sự khác biệt giữa các nhóm, mặc dù bạn có rất nhiều lần lật. Sự gần đúng với đường cong bình thường trở nên xấu và phương sai của mỗi nhóm không đủ khác nhau để kết luận rằng trên thực tế, mọi thứ đều khác nhau.
Jeremy

1

Để có được một số trực giác bổ sung, hãy xem xét những điều sau đây:

Hãy tưởng tượng bạn chỉ làm một lần lặp lại.

Trong trường hợp đó, bạn có thể tăng số lần tung tất cả những gì bạn muốn nhưng nó sẽ không giống với phân phối bình thường. Và điều này có ý nghĩa vì biểu đồ của bạn sẽ chỉ có một đỉnh duy nhất.


Phân phối chuẩn là một xấp xỉ cho phân phối xác suất (của phân phối nhị thức).

Những gì bạn đã làm là không tạo ra phân phối này. Nhưng thay vào đó, bạn đã xấp xỉ phân phối này bằng cách sử dụng số lượng mô phỏng giới hạn (và nhỏ). (và những gì bạn phát hiện ra là sự gần đúng này trở nên tồi tệ hơn khi bạn tăng số lượng thùng trong biểu đồ)


Vì vậy, cả hai bạn cần một số lần tung lặp lại cao.

  • khi số lần tung cao thì phân phối nhị thức (nhiều lần tung đồng xu) có thể được xấp xỉ bằng phân phối chuẩn.
  • khi số lần lặp lại / mô phỏng cao hơn biểu đồ của các thí nghiệm này gần bằng mật độ phân phối nhị thức.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.