Làm thế nào nên báo cáo giá trị nhỏ ? (và tại sao R đặt tối thiểu trên 2,22e-16?)


63

Đối với một số thử nghiệm trong R, có giới hạn thấp hơn đối với các phép tính là . Tôi không chắc tại sao lại là con số này, nếu có lý do chính đáng cho nó hoặc nếu nó chỉ là tùy ý. Rất nhiều gói thống kê khác chỉ cần đi , vì vậy đây là mức độ chính xác cao hơn nhiều. Nhưng tôi chưa thấy quá nhiều giấy tờ báo cáo hoặc .2,2210-160.0001p<2,2210-16p= =2,2210-16

Đây có phải là một cách thông thường / tốt nhất để báo cáo giá trị được tính toán này hay nó là điển hình hơn để báo cáo một cái gì đó khác (như p < 0.000000000000001)?


Nếu bạn nhận được giá trị p nhỏ như vậy và muốn tính giá trị p thực tế, bạn có thể sử dụng hàm này trong excel = TDIST (t, df, 2) Thêm các giá trị của 't' và df của bạn và bạn sẽ nhận được thực tế p-value ta

7
@Tahzeeb là có bất kỳ lý do tại sao Excel sẽ quay trở lại ước tính chính xác hơn sau đó R ..? Theo tôi biết, nó ít chính xác hơn nhiều .
Tim

...But I haven't seen too many papers reporting p<2.22⋅10−16....Xem một số bài báo của GWAS , có nhiều bài báo cho thấy kết quả về giá trị trong hàng trăm, ví dụ: Vùng ung thư tuyến tiền liệt KLK, p = 9x10 ^ -186.
zx8754

1
Xem thêm câu trả lời của whuber tại đây: stats.stackexchange.com/questions/11812 .
amip nói rằng phục hồi Monica

Câu trả lời:


87

Có một lý do tốt cho nó.

Giá trị có thể được tìm thấy thông qua noquote(unlist(format(.Machine)))

           double.eps        double.neg.eps           double.xmin 
         2.220446e-16          1.110223e-16         2.225074e-308 
          double.xmax           double.base         double.digits 
        1.797693e+308                     2                    53 
      double.rounding          double.guard     double.ulp.digits 
                    5                     0                   -52 
double.neg.ulp.digits       double.exponent        double.min.exp 
                  -53                    11                 -1022 
       double.max.exp           integer.max           sizeof.long 
                 1024            2147483647                     4 
      sizeof.longlong     sizeof.longdouble        sizeof.pointer 
                    8                    12                     4 

Nếu bạn nhìn vào sự giúp đỡ, ( ?".Machine"):

double.eps  

the smallest positive floating-point number x such that 1 + x != 1. It equals 
double.base ^ ulp.digits if either double.base is 2 or double.rounding is 0; 
otherwise, it is (double.base ^ double.ulp.digits) / 2. Normally 2.220446e-16.

Đó là bản chất là một giá trị dưới đây mà bạn có thể khá tự tin giá trị sẽ được khá về số vô nghĩa - trong đó giá trị bất kỳ nhỏ hơn là không có khả năng là một tính toán chính xác giá trị chúng tôi đã cố gắng để tính toán. (Đã nghiên cứu một ít phân tích số, tùy thuộc vào những tính toán được thực hiện bởi quy trình cụ thể, có một cơ hội tốt về sự vô nghĩa số đến một cách công bằng trên đó.)

Nhưng ý nghĩa thống kê sẽ bị mất sớm hơn. Lưu ý rằng giá trị p phụ thuộc vào các giả định và càng đi sâu vào đuôi cực đoan, bạn càng đi sâu hơn giá trị p thực sự (chứ không phải giá trị danh nghĩa mà chúng tôi tính toán) sẽ bị ảnh hưởng bởi các giả định sai lầm, trong một số trường hợp ngay cả khi chúng Chỉ sai một chút thôi. Do các giả định đơn giản là sẽ không hoàn toàn thỏa mãn, nên giá trị p trung bình có thể chính xác một cách hợp lý (về độ chính xác tương đối, có lẽ chỉ bằng một phần nhỏ), nhưng giá trị p cực kỳ nhỏ có thể bị loại ra bởi nhiều đơn đặt hàng cường độ, sự trọng đại.

Điều đó có nghĩa là việc thực hành thông thường (một cái gì đó như "<0,0001" mà bạn nói là phổ biến trong các gói, hoặc quy tắc APA mà Jaap đề cập trong câu trả lời của anh ấy) có lẽ không quá xa so với thực tiễn hợp lý, nhưng là điểm gần đúng mà mọi thứ mất ý nghĩa ngoài việc nói ' nó rất rất nhỏ ' tất nhiên sẽ thay đổi khá nhiều tùy theo hoàn cảnh.

Đây là một lý do tại sao tôi không thể đề xuất một quy tắc chung - không thể có một quy tắc duy nhất phù hợp với mọi người trong mọi hoàn cảnh - thay đổi hoàn cảnh một chút và đường màu xám rộng đánh dấu sự thay đổi từ tương đối có ý nghĩa vô nghĩa sẽ thay đổi, đôi khi bằng một chặng đường dài.

Nếu bạn đã xác định đầy đủ thông tin về tình hình chính xác (ví dụ đó là một hồi quy, với này phi tuyến nhiều, lượng biến thể trong biến độc lập này, này loại và số lượng phụ thuộc vào số hạng sai số, loại và số lượng heteroskedasticity, này hình dạng của phân phối lỗi), tôi có thể mô phỏng 'true' p-giá trị để bạn có thể so sánh với p-giá trị danh nghĩa, vì vậy bạn có thể nhìn thấy khi họ quá khác nhau cho giá trị danh nghĩa để thực hiện bất kỳ ý nghĩa.

Nhưng điều đó dẫn chúng ta đến lý do thứ hai tại sao - ngay cả khi bạn đã chỉ định đủ thông tin để mô phỏng các giá trị p thực sự - tôi vẫn không thể có trách nhiệm nêu rõ việc cắt giảm ngay cả trong những trường hợp đó.

Nội dung bạn báo cáo tùy thuộc vào sở thích của mọi người - của bạn và đối tượng của bạn. Hãy tưởng tượng bạn nói với tôi đủ về hoàn cảnh cho tôi quyết định rằng tôi muốn vẽ đường tại một danh nghĩa của 10 - 6 .p10-6

Tất cả đều tốt và tốt, chúng tôi có thể nghĩ - ngoại trừ chức năng tùy chọn của riêng bạn (có vẻ phù hợp với bạn, là bạn đã xem xét sự khác biệt giữa các giá trị p danh nghĩa được cung cấp bởi các gói thống kê và các kết quả từ mô phỏng khi bạn giả sử một bộ cụ thể về những thất bại của các giả định) có thể đặt nó ở mức và các biên tập viên của tạp chí mà bạn muốn gửi có thể đặt quy tắc mền của họ để cắt ở mức 10 - 4 , trong khi tạp chí tiếp theo có thể đặt nó ở mức 10 - 3 và tiếp theo có thể không có quy tắc chung và trình soạn thảo cụ thể mà bạn nhận được có thể chấp nhận các giá trị thậm chí thấp hơn tôi đã đưa ra ... nhưng một trong những trọng tài sau đó có thể bị cắt cụ thể!10-510-410-3

Trong trường hợp không có kiến ​​thức về các chức năng và quy tắc ưu tiên của họ và không có kiến ​​thức về các tiện ích của riêng bạn, làm thế nào để tôi có trách nhiệm đề xuất bất kỳ lựa chọn chung nào về những hành động cần thực hiện?

Ít nhất tôi có thể nói cho bạn biết những điều tôi làm (và tôi không đề nghị đây là một lựa chọn tốt cho bạn):

10-610-510-4

Điều đó chắc chắn hữu ích trong việc thông báo lựa chọn - nhưng tôi có khả năng thảo luận về kết quả mô phỏng cũng như sử dụng chúng để chọn giá trị giới hạn, cho người khác cơ hội lựa chọn.

Một cách khác để mô phỏng là xem xét một số quy trình mạnh mẽ hơn * đối với các thất bại tiềm năng khác nhau của giả định và xem mức độ khác biệt của giá trị p có thể tạo ra. Giá trị p của chúng cũng sẽ không có ý nghĩa đặc biệt, nhưng ít nhất chúng cũng mang lại cảm giác về mức độ ảnh hưởng của nó. Nếu một số là rất khác so với danh nghĩa một, nó cũng mang đến cho nhiều hơn một ý tưởng vi phạm các giả định để điều tra tác động của. Ngay cả khi bạn không báo cáo bất kỳ lựa chọn thay thế nào, nó sẽ cho bạn một bức tranh tốt hơn về ý nghĩa của giá trị p nhỏ của bạn.

* Lưu ý rằng ở đây chúng tôi không thực sự cần các thủ tục mạnh mẽ để vi phạm thô bạo một số giả định; những cái ít bị ảnh hưởng bởi độ lệch tương đối nhẹ của giả định có liên quan sẽ tốt cho bài tập này.

Tôi sẽ nói rằng khi / nếu bạn thực hiện các mô phỏng như vậy, ngay cả với các vi phạm khá nhẹ, trong một số trường hợp, có thể đáng ngạc nhiên về việc giá trị p không nhỏ đến mức nào có thể sai. Điều đó đã làm nhiều hơn để thay đổi cách cá nhân tôi diễn giải một giá trị p nhiều hơn nó đã thay đổi các giới hạn cụ thể mà tôi có thể sử dụng.

Khi gửi kết quả của một bài kiểm tra giả thuyết thực tế cho một tạp chí, tôi cố gắng tìm hiểu xem họ có bất kỳ quy tắc nào không. Nếu họ không, tôi có xu hướng làm hài lòng chính mình, và sau đó chờ các trọng tài khiếu nại.


11
Tôi đặc biệt thích bình luận về ý nghĩa thống kê bị mất sớm hơn.
usεr11852 nói Phục hồi Monic

Câu trả lời chính xác! Tôi đánh giá cao tất cả các chi tiết về điều này, nó làm rõ lý do tại sao R đưa ra con số này. Nhưng nó không thực sự trả lời câu hỏi về những gì cần báo cáo.
paul

1
Tôi đúng hơn cảm thấy tôi đã giải quyết vấn đề, theo nghĩa là tôi đã giải thích lý do tại sao nó không chịu trách nhiệm đưa ra một đề nghị cụ thể. Lưu ý rằng tôi thảo luận về lý do tại sao báo cáo một cái gì đó như "<0,0001" đó là thông lệ phổ biến trong một số gói. Có một vài lý do tại sao tôi không đề xuất một con số cụ thể - lý do đầu tiên tôi đưa ra. Tôi sẽ mở rộng về lý do đó và cái thứ hai trong một chỉnh sửa.
Glen_b

paul, tôi đã thêm một số thảo luận quan trọng hơn.
Glen_b

2
Vâng, bạn cần phải làm một cái gì đó; quan điểm của bài bình luận sâu rộng hơn của tôi là truyền đạt rằng tôi không thể nói cho bạn biết bạn nên chọn làm gì, tôi chỉ có thể thảo luận về các vấn đề mà bạn lựa chọn. Tôi hy vọng tôi đã làm như vậy, nhưng tôi rất vui khi cố gắng làm rõ bất kỳ vấn đề nào thêm nếu tôi có thể.
Glen_b

27

Những gì thực hành phổ biến có thể phụ thuộc vào lĩnh vực nghiên cứu của bạn. Hướng dẫn của Hiệp hội Tâm lý Hoa Kỳ (APA), một trong những phong cách trích dẫn thường được sử dụng nhất (trang 139, ấn bản thứ 6):

Không sử dụng bất kỳ giá trị nhỏ hơn p <0,001


8
Mặc dù đây là điều tôi cũng thường trích dẫn (+1), tôi không chắc liệu người ta có cần sửa đổi đề xuất này theo một vị trí thập phân hay không, đưa ra khuyến nghị gần đây của Valen Johnson trong PNAS : "Tạo 0,005 mức ý nghĩa mặc định [ ...]. Kết hợp các kết quả kiểm tra có ý nghĩa cao với các giá trị P nhỏ hơn 0,001. "
Henrik

3
Câu trả lời tốt. Không có hướng dẫn về phong cách và không có tiêu chuẩn thực sự trong các lĩnh vực của tôi, ít nhất là không dành cho giá trị p. Tôi làm công việc liên ngành nhưng tôi đoán khoa học máy tính và HCI sẽ là lĩnh vực cho việc này. Tôi nghĩ phong cách APA sẽ là nơi các tác giả sẽ chuyển hướng, vì các phương pháp thường được vay mượn từ tâm lý nhận thức hoặc các lĩnh vực khác mà APA sẽ đề cập.
paul

10
5σp<10-6

1
5σzpp0,0001zp

@amoeba Vâng, tôi nghĩ bạn đúng.
Glen_b

14

Giá trị p cực đoan như vậy xảy ra thường xuyên hơn trong các trường có lượng dữ liệu rất lớn, chẳng hạn như bộ gen và giám sát quá trình. Trong những trường hợp đó, đôi khi nó được báo cáo là -log 10 (giá trị p). Xem ví dụ, con số này từ Tự nhiên , trong đó các giá trị p giảm xuống 1e-26.

-log 10 (p-value) được gọi là "LogWorth" bởi các nhà thống kê tôi làm việc tại JMP.


22
ppp

8
@BenBolker Thật vậy, mặc dù ít có khả năng hơn "NSA giả mạo dữ liệu của bạn", ngay cả các sự kiện như "Một tia vũ trụ đã lật một số bit quan trọng trong dữ liệu của bạn" rất xa, nhiều khả năng hơn những xác suất đó.
Glen_b

6
p<10-100ρ0,9viết sai rồi~500

8
p= =2.2×10-226

9
@amoeba Trong phần bình luận Slate Star Codex, Daniel Wells lưu ý rằng Science.sciencemag.org/content/363/6425/eaau1043 báo cáo giá trị p là 3,6e-2382 ("không phải là lỗi chính tả, hai nghìn ", Daniel nói ), mà đánh bại bạn bằng một lề khá!
Đánh dấu Amery

-3

trong R, "<2e-16" không có nghĩa là <2e-16, nhưng thay vào đó, nó có nghĩa là giá trị quá nhỏ đến mức R không thể ghi hoặc hiển thị nó.

Trong thử nghiệm hồi quy, tôi thường nhận được p nhỏ như 4.940656e-324, khi nó xuất ra "<2e-16", đây là một con số thậm chí nhỏ hơn 4.940656e-324


Số nào " nhỏ hơn 4.940656e-324 "?
Sven Hohenstein

8
Tuyên bố của bạn " trong R," <2e-16 "không có nghĩa là <2e-16 " theo nghĩa đen là không chính xác. Khi R hiển thị <2e-16, giá trị nhỏ hơn 2e-16, theo nghĩa đen.
Sven Hohenstein

Bạn hiểu sai những gì tôi nói. Khi R nói "<2e-16", giá trị p nhỏ hơn 2e-16, nhưng điều đó không có nghĩa là giá trị p nhỏ hơn 2e-16 sẽ được hiển thị là "<2e-16". Như tôi đã chỉ ra, R không có vấn đề gì để hiển thị trong giá trị p tóm tắt của bất kỳ số nào trong khoảng [4.940656e-324, 2e-16], trong khi ranh giới bên trái là 2 ^ -1074. Vì vậy, tôi giả sử, chỉ khi giá trị p nhỏ hơn 2 ^ -1074, thì R mới nói giá trị p nhỏ hơn giá trị delta nhỏ. Nó chỉ xảy ra rằng R hiển thị giá trị delta này là 2e-16. Vì vậy, dự đoán của tôi là "<2e-16" thực sự có nghĩa là "<2 ^ -1074" trong giá trị p
user3590816

6
Tuy nhiên, dự đoán của bạn là không chính xác: đó là những gì @Sven đang cố nói với bạn. Xem trợ giúp format.pvalhoặc đơn giản là dùng thử, như trong format.pval(1e-16).
whuber
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.