R: tính giá trị p cho Chi bình phương và bậc tự do


11

Làm cách nào tôi có thể tính giá trị p đã cho Chi Squared và Độ tự do? Ví dụ: giá trị p chính xác của Chi Squared = 15 với df = 2 là bao nhiêu?


Để xác định giá trị p, bạn cần xác định xem đó là một mặt hay hai mặt. Đối với hai mặt, nó là P (| X |> 15) và đối với đuôi thấp hơn một phía, nó là P (X <-15) và P (X.> 15) cho đuôi trên một phía. X là biến ngẫu nhiên chi bình phương có 2 bậc tự do.
Michael R. Chernick

Nó là hai mặt. Mã trong R sẽ là gì để thực hiện bài kiểm tra này?
chiếu

Tôi không biết R rất rõ. Tôi nghĩ rằng có một chức năng chi bình phương mà bạn có thể gọi. Ngoài R, bạn có thể nhận được giá trị từ một bảng phân phối chi bình phương có sẵn trong nhiều sách thống kê cơ bản. Vấn đề duy nhất với bảng là 15 có thể không xuất hiện trong trường hợp bạn có thể đến gần bằng intrtpolation.
Michael R. Chernick

Hãy để tôi tự sửa. Các chi-vuông không đi tiêu cực. Đối với thử nghiệm một phía bạn muốn P (X> 15). Trong cuốn sách của tôi P (X> 13.815) là 0,001. Vậy giá trị p là <0,001.
Michael R. Chernick

2
(1) Rất hiếm khi các bài kiểm tra Chi bình phương có hai mặt: ứng dụng của bạn là gì? (2) (cc @michael) Người ta sẽ không nội suy vào đuôi; người ta sẽ ước tính tích phân. BTW, đây là một tích phân cơ bản, bởi vì phân phối Chi bình phương với 2 DF là phân phối mũ: bạn nên lấy cho xác suất đuôi trên. Xem en.wikipedia.org/wiki/Chi-squared_distribution . e15/2
whuber

Câu trả lời:


18

Trong các số liệu thống kê được áp dụng, các số liệu thống kê kiểm tra được phát sinh là các tổng của phần dư bình phương, hoặc từ các hiệu ứng bình phương hoặc từ các khác biệt về khả năng đăng nhập. Trong tất cả các ứng dụng này, mục đích là để kiểm tra xem một số tham số vectơ có bằng 0 so với thay thế không phải là không và thống kê số liệu có liên quan đến kích thước bình phương của hiệu ứng quan sát được hay không. Giá trị p được yêu cầu là xác suất đuôi bên phải cho giá trị hình chữ nhật, trong R cho ví dụ của bạn là:

> pchisq(15, df=2, lower.tail=FALSE)
[1] 0.0005530844

Đối với các giá trị df hoặc thống kê khác, rõ ràng bạn chỉ cần thay thế chúng vào mã trên.

Tất cả các hàm xác suất tích lũy trong R tính toán xác suất đuôi trái theo mặc định. Tuy nhiên, họ cũng có một lower.tailđối số và bạn luôn có thể đặt điều này FALSEđể có xác suất đuôi đúng. Đó là một thực hành tốt để làm điều này hơn là tính toán như bạn có thể thấy trong một số sách giáo khoa tiểu học.1p


1
Có thể đi ngược? Lấy giá trị Chi-Square bằng giá trị P và bậc tự do sử dụng mã R?
Eric

2
@Eric Chỉ cần nhập nội dung sau vào R: help (qchisq)
Gordon Smyth

3

R có một bộ các hàm xác suất cho mật độ hoặc khối lượng ở dạng d*(ví dụ dbeta, dchisq) và phân phối ở dạng p*(ví dụ pf, pgamma). Bạn có thể muốn bắt đầu từ đó.


Có thể đi ngược? Lấy giá trị Chi-Square bằng giá trị P và bậc tự do sử dụng mã R?
Eric

0

Có, có thể tính giá trị chi bình phương cho một giá trị p (p) nhất định và bậc tự do (df). Dưới đây là cách đi về nó:

Để xác minh, trước tiên tôi tính p cho một giá trị chi bình phương = 1.1 và df = 1:

Giải pháp:

pchisq (1.1, df = 1, low.tail = FALSE) # câu trả lời là p = 0.2942661

Bây giờ, để đi lùi bằng cách sử dụng p và df để tính giá trị chi bình phương, tôi đã sử dụng p = 0,2942661 tôi thu được từ phía trên và df = 1 ở trên:

Giải pháp:

qchisq (0.2942661, 1, low.tail = FALSE) # câu trả lời là 1.1 như trong giải pháp đầu tiên.

Vì vậy, bằng cách sử dụng ví dụ của bạn về Chi Squared = 15 với df = 2, các giải pháp dưới đây:

Giải pháp: tính giá trị p

pchisq (15, df = 2, thấp hơn.tail = FALSE) # câu trả lời: p = 0,0005530844

sử dụng p = 0,0005530844 và df = 2 để lấy lại giá trị chi bình phương

qchisq (0,0005530844, 2, low.tail = FALSE) # answer: chi-vuông = 15

Hi vọng điêu nay co ich!!!


-3

Thử,

pchisq(chi,df)

trong ví dụ của bạn,

pchisq(15,2)

[1] 0.9994469

1
Tôi không nghĩ đây là giá trị p. Nó có thể là xác suất tích lũy? Như whuber cho biết giá trị p sẽ là exp (-15/2) nhỏ hơn nhiều so với 0,999469.
Michael R. Chernick

7
Điều này là không chính xác. Nó thậm chí không vượt qua bài kiểm tra mùi. Hãy xem xét rằng giá trị mong đợi của phân phối chi bình phương là df của nó và phương sai là 2 * df ( wikipedia ), vì vậy 15 là ~ 9 SD từ giá trị trung bình. Điều đó sẽ cho bạn biết một cái gì đó là sai ở đây. Về bản chất, bạn đang sử dụng điều này để thực hiện bài kiểm tra 1 đuôi rằng mức độ phù hợp là 'quá tốt' (cf ở đây ). Theo cách sử dụng điển hình của chi bình phương, bạn muốn pchisq(15, 2, lower.tail=FALSE), hoặc 1-pchisq(15, 2), đó là 0.0005530844.
gung - Phục hồi Monica

(Điều đó nói rằng, đây là một câu trả lời, ngay cả khi không chính xác, vì vậy nó không nên bị xóa vì không phải là một câu trả lời. Tôi đang bỏ phiếu có vẻ ổn .)
gung - Tái lập Monica

@gung +1 Tôi đã thêm câu trả lời của riêng mình hôm nay nhưng chưa đọc bình luận của bạn trước, điều này cho cùng một giải pháp rõ ràng.
Gordon Smyth

Có thể đi ngược? Lấy giá trị Chi-Square bằng giá trị P và bậc tự do sử dụng mã R?
Eric
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.