Các xét nghiệm quy phạm không nhất quán: Kolmogorov-Smirnov vs Shapiro-Wilk


8

Tôi hiện đang xem xét một số dữ liệu được tạo ra bởi một mô phỏng MC mà tôi đã viết - tôi hy vọng các giá trị sẽ được phân phối bình thường. Tự nhiên tôi vẽ một biểu đồ và nó có vẻ hợp lý (tôi đoán vậy?):

[Trên cùng bên trái: biểu đồ với dist.pdf(), trên cùng bên phải: biểu đồ tích lũy với dist.cdf(), dưới cùng: QQ-cốt truyện, datavs dist]

Sau đó, tôi quyết định xem xét sâu hơn về vấn đề này với một số bài kiểm tra thống kê. (Lưu ý rằng dist = stats.norm(loc=np.mean(data), scale=np.std(data)).) Những gì tôi đã làm và đầu ra tôi nhận được là như sau:

  1. Xét nghiệm Kolmogorov-Smirnov:

    scipy.stats.kstest(data, 'norm', args=(data_avg, data_sig))
    KstestResult(statistic=0.050096921447209564, pvalue=0.20206939857573536)
    
  2. Thử nghiệm Shapiro-Wilk:

    scipy.stats.shapiro(dat)
    (0.9810476899147034, 1.3054057490080595e-05)
    # where the first value is the test statistic and the second one is the p-value.
    
  3. QQ-cốt truyện:

    stats.probplot(dat, dist=dist)

Kết luận của tôi từ đây sẽ là:

  • bằng cách nhìn vào biểu đồ và biểu đồ tích lũy, tôi chắc chắn sẽ giả sử một phân phối bình thường

  • giữ nguyên sau khi nhìn vào cốt truyện QQ (nó có bao giờ tốt hơn nhiều không?)

  • kiểm tra KS cho biết: 'có, đây là phân phối bình thường'

Sự nhầm lẫn của tôi là: thử nghiệm SW nói rằng nó không được phân phối bình thường (giá trị p nhỏ hơn nhiều so với ý nghĩa alpha=0.05và giả thuyết ban đầu là phân phối bình thường). Tôi không hiểu điều này, có ai có một giải thích tốt hơn? Tôi đã vặn vít ở một số điểm?


5
QQplots cho tính quy tắc có thể tốt hơn thế: thử vẽ một số quy tắc ngẫu nhiên có cùng cỡ mẫu để có điểm chuẩn. Bạn có một chút không bình thường, như được chỉ ra bởi độ cong có hệ thống trên QQplot. Biểu đồ và sơ đồ phân phối tích lũy ít hữu ích hơn cho công việc chính xác. Tôi sẽ không đặc quyền KS ở đây; nó có xu hướng nhạy cảm hơn ở giữa một bản phân phối hơn ở đuôi, đó là mặt trái của những gì bạn cần. SW là một thử nghiệm và không (không thể!) Đo lường mức độ phi quy tắc có vấn đề như thế nào.
Nick Cox

5
@Nick Ứng dụng này của KS không hợp lệ, vì nó so sánh dữ liệu với phân phối Bình thường với các tham số được xác định bởi dữ liệu : nó cần phiên bản Lilliefors. (Tôi biết bạn biết điều đó, nhưng dường như bạn đã bỏ qua lỗi này.) Do đó, giá trị p của nó quá cao.
whuber

4
@Nick Tôi cho rằng ứng dụng này có lỗi, dựa trên hai bằng chứng: (1) tên hàm đề cập đến KS và (2) không có cách nào trong argstranh luận để tiết lộ liệu các tham số có được lấy từ dữ liệu hay không. Tài liệu không rõ ràng , nhưng việc không có bất kỳ đề cập nào về những sự phân biệt này cho thấy mạnh mẽ rằng nó không thực hiện thử nghiệm Lilliefors. Thử nghiệm đó được mô tả, với một ví dụ mã, tại stackoverflow.com/a/22135929/844723 .
whuber

1
Ah! Đây là điều mà tôi thấy tanh nhưng tôi không biết phương pháp đó - tôi sẽ thay đổi ngay lập tức. Cảm ơn bạn đã chỉ ra rằng @whuber!
rammelmueller

2
@Nick Tôi thích thử nghiệm KS vì nhiều lý do: tính đơn giản, kết nối trực tiếp của nó với cốt truyện QQ, tính linh hoạt và sức mạnh của nó. Tôi duy trì rằng mọi kiểm tra thống kê đều có thể được trực quan hóa và (hầu như) mọi trực quan hóa đều gợi ý một thử nghiệm tương ứng - và đây là một trong những ví dụ tốt nhất của luận án đó (đặc biệt là nếu một âm mưu còn sót lại trong một âm mưu QQ, mạnh hơn về mặt trực quan) . Mặc dù tôi đã thực hiện nhiều thử nghiệm GoF khác như SW và SF và AD, nhưng KS luôn là thử nghiệm tiếp theo của tôi cho những dịp (tương đối hiếm) khi cần thử nghiệm phân phối chính thức.
whuber

Câu trả lời:


6

Có vô số cách phân phối có thể khác với phân phối bình thường. Không có thử nghiệm có thể nắm bắt tất cả chúng. Kết quả là, mỗi thử nghiệm khác nhau về cách kiểm tra xem phân phối của bạn có khớp với bình thường không. Ví dụ, kiểm tra KS xem xét lượng tử trong đó hàm phân phối tích lũy theo kinh nghiệm của bạn khác tối đa với hàm phân phối tích lũy lý thuyết thông thường. Đây thường là một nơi nào đó ở giữa bản phân phối, không phải là nơi chúng ta thường quan tâm đến sự không phù hợp. Kiểm tra SW tập trung vào các đuôi, đó là nơi chúng ta thường quan tâm nếu các bản phân phối tương tự nhau. Do đó, SW thường được ưa thích. Ngoài ra, kiểm tra KW không hợp lệ nếu bạn đang sử dụng các tham số phân phối được ước tính từ mẫu của bạn (xem:Sự khác biệt giữa thử nghiệm tính chuẩn của Shapiro-Wilk và thử nghiệm tính chuẩn của Kolmogorov-Smirnov là gì? ). Bạn nên sử dụng SW ở đây.

Nhưng các lô thường được khuyến nghị và các thử nghiệm thì không (xem: Kiểm tra tính quy phạm 'về cơ bản là vô dụng'? ). Bạn có thể thấy từ tất cả các lô của bạn rằng bạn có một cái đuôi bên phải nặng và một cái đuôi bên trái nhẹ so với một người bình thường thực sự. Đó là, bạn có một chút sai lệch.


2

Bạn không thể chọn các bài kiểm tra tính bình thường dựa trên kết quả. Trong trường hợp này, bạn có thể từ chối trong bất kỳ thử nghiệm nào được thực hiện hoặc hoàn toàn không sử dụng chúng. Kiểm tra KS không mạnh lắm, đây không phải là kiểm tra tính quy phạm "chuyên biệt". Nếu bất cứ điều gì SW có lẽ đáng tin cậy hơn trong trường hợp này.

Đối với tôi, cốt truyện QQ của bạn có dấu hiệu của đuôi phải béo hoặc lệch sang trái hoặc cả hai. Tôi sẽ đề nghị sử dụng công cụ của Tukey để nghiên cứu độ béo của đuôi. Nó sẽ cung cấp cho bạn một dấu hiệu phân phối giống như bình thường hoặc Cauchy.


Làm thế nào để bạn kết luận từ QQ-cốt truyện đến độ béo của đuôi? Và: bạn muốn đề xuất phân phối nào?
rammelmueller

1
@rammelmuller, đuôi béo hơn sẽ hiển thị đường cong giống như s nơi trái uốn cong xuống và uốn cong phải. Trong trường hợp của bạn, bên trái cũng uốn cong lên, đó có thể là một dấu hiệu của sai lệch bên trái.
Aksakal

Cảm ơn đã chỉ ra công cụ, tôi sẽ xem xét nó. Chỉ vì mục đích hoàn chỉnh: Tôi có một số bộ dữ liệu khác và kết quả đôi khi hơi khác nhau: phần đuôi trên của âm mưu QQ thay đổi, nhưng phần đuôi dưới luôn quá cao - một dấu hiệu cho sự sai lệch?
rammelmueller

1
Tôi nghĩ bạn cần phải tự hỏi mình tầm quan trọng của việc kiểm tra giả định đối với bạn như @NickCox đề xuất. Tại sao bạn thử nghiệm ở nơi đầu tiên? Đuôi ngắn lên và dài xuống có thể là dấu hiệu của đuôi ngắn. Quan trọng nhất là tất cả điều này có thể không quan trọng với bạn
Aksakal

1
Tôi nhận thức được rằng tôi có thể bị chém đầu sau câu nói này, nhưng ở đây tôi đi: Tôi cần dữ liệu của mình là "hợp lý gaussian" - nếu có thứ gì đó rất tanh, tức là đuôi cực kỳ mập hoặc cực kỳ lệch, thì tôi sẽ phải đi săn cho một số vấn đề cơ bản. Điều này dường như không phải là trường hợp và dự án là tốt. Lý do cho câu hỏi ở đây là nhiều hơn để kiểm tra xem tôi có hoàn toàn sai trong việc làm của mình không (ví dụ: diễn giải kết quả và như vậy)
rammelmueller
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.