Làm cách nào tôi có thể kiểm tra cùng một biến phân loại trên hai quần thể?


8

Tôi có dữ liệu trông giống như thế này:

ID         Status
01         A
02         G
03         E
...        ...
100        G

Bạn có ý tưởng, tôi nghĩ. Tôi có dữ liệu này từ hai quần thể riêng biệt (đoàn hệ) và tôi muốn so sánh sự phân bố của biến trạng thái trong một dân số với phân phối ở một quần thể khác. Câu hỏi tôi đang trả lời là đại loại như thế này: Nếu bạn không biết gì hơn, những thứ này có thể thuộc cùng một dân số không? Tôi nghĩ rằng điều này có nghĩa là tôi nên thực hiện bình phương của một người, mặc dù tôi không chắc chắn. Tôi cũng không chắc chắn về phương pháp luận để biến đổi biến theo cách cho phép bạn chạy thử nghiệm. (Tôi đặc biệt muốn biết làm thế nào để làm điều này trong R.)

Câu trả lời:


10

Trước tiên, hãy để tôi (a) giải thích ý tưởng cơ bản hơn là cơ học - chúng trở nên rõ ràng hơn khi nhìn lại. Sau đó (b) Tôi sẽ nói về hình vuông chi (và liệu nó có phù hợp không - có thể không!), Và sau đó (c) Tôi sẽ nói về cách thực hiện trong R.

(a) Dưới null, các quần thể là như nhau. Hãy tưởng tượng bạn đặt hai đoàn hệ của bạn vào một tập dữ liệu lớn nhưng thêm một cột chứa nhãn đoàn hệ. Sau đó, dưới giá trị null, nhãn đoàn hệ thực chất chỉ là một nhãn ngẫu nhiên cho bạn biết thêm về phân phối mà quan sát đến từ đó.

Tất nhiên, theo phương án thay thế, nhãn đoàn hệ có vấn đề - biết nhãn đoàn hệ cho bạn biết nhiều hơn là không biết vì phân phối dưới hai nhãn là khác nhau.

(Điều này ngay lập tức gợi ý một số loại thử nghiệm hoán vị / thử nghiệm ngẫu nhiên trong đó một thống kê - một độ nhạy với thay thế - được tính trên mẫu được so sánh với phân phối của cùng một thống kê với các nhãn đoàn hệ được gán lại cho các hàng một cách ngẫu nhiên. Nếu bạn đã làm tất cả có thể đánh giá lại nó là một thử nghiệm hoán vị, nếu bạn chỉ lấy mẫu chúng thì đó là một thử nghiệm ngẫu nhiên.)

(b) Vậy bây giờ, làm thế nào để làm một hình vuông chi?

Bạn tính toán các giá trị mong đợi dưới giá trị null. Vì các nhãn nhóm không quan trọng dưới giá trị null, nên bạn tính số lượng dự kiến ​​trong mỗi ô dựa trên phân phối tổng thể:

                       Status
                 A   B   ...  E   ...  G ...      Total
  Cohort 1:     10  15       18                    84
  Cohort 2:      9   7       25                    78

  Total:        19  22   ... 43 ...               162

(i,j)×

Vì vậy, bạn chỉ cần có được một bài kiểm tra chi bình thường của sự độc lập .

TUY NHIÊN!

Nếu các nhãn trạng thái tạo thành một danh mục có thứ tự , bài kiểm tra chi bình phương này sẽ ném đi rất nhiều thông tin - nó sẽ có sức mạnh thấp đối với các lựa chọn thay thế thú vị (chẳng hạn như thay đổi một chút về các danh mục cao hơn hoặc thấp hơn). Trong tình huống đó, bạn nên làm một cái gì đó phù hợp hơn - nghĩa là, có tính đến việc đặt hàng. Có nhiều lựa chọn.

-

(c) Bây giờ về cách thực hiện trong R - nó phụ thuộc vào cách dữ liệu của bạn hiện được thiết lập trong R - nó thực sự có ích để có một ví dụ có thể lặp lại như một tập hợp con dữ liệu của bạn!

Tôi sẽ giả sử bạn có nó trong một khung dữ liệu có hai cột, một cột có trạng thái (một yếu tố) và một cột có đoàn hệ (yếu tố thứ hai).

Thích như vậy:

  status  cohort
1      B Cohort1
2      B Cohort1
3      D Cohort1
4      B Cohort1
5      C Cohort1
6      D Cohort1
. 
.
. 
25      G Cohort2
26      E Cohort2
27      E Cohort2
28      D Cohort2
29      C Cohort2
30      G Cohort2

Sau đó, nếu đó là khung dữ liệu được gọi là statusresultsbạn sẽ có một bảng giống như bảng tôi đã làm trước đó:

> with(statusresults,table(cohort,status))
         status
cohort    A B C D E F G
  Cohort1 2 6 7 3 0 0 0
  Cohort2 0 0 2 2 4 1 3

Và đối với bài kiểm tra số liệu, bạn chỉ cần đi:

> with(statusresults, chisq.test(status, cohort))

    Pearson's Chi-squared test

data:  status and cohort 
X-squared = 18.5185, df = 6, p-value = 0.005059

Warning message:
In chisq.test(status, cohort) : Chi-squared approximation may be incorrect

(cảnh báo là do số lượng dự kiến ​​thấp trong một số ô, do tôi đã sử dụng một mẫu rất nhỏ)

Nếu bạn đã đặt hàng các danh mục cho trạng thái, bạn nên nói như vậy, để chúng tôi có thể thảo luận về các khả năng khác để phân tích hơn so với số liệu đơn giản.


Cảm ơn ví dụ chi-2! Bạn muốn giới thiệu gì nếu số lượng tế bào thực tế thấp như trong ví dụ của bạn? Tức là các điều kiện tiên quyết cho một bài kiểm tra chi bình phương có bị vi phạm?
Mark Heckmann

@MarkHeckmann Thực sự không có "điều kiện tiên quyết" như vậy. Phân phối chi bình phương luôn luôn là một xấp xỉ với phân phối null thực sự của bình phương chi và vấn đề là bạn có thể chịu đựng được một xấp xỉ thô như thế nào (ví dụ như bạn có thể chịu đựng được bao nhiêu trong các giá trị p phân phối). Quy tắc phổ biến nhất là quá nghiêm ngặt, như nhiều bài báo thảo luận. Nhưng nếu số lượng dự kiến ​​quá nhỏ, tôi sẽ sử dụng mô phỏng từ phân phối null của kiểm tra chi bình phương hoặc chọn bất kỳ thống kê thích hợp nào và sử dụng phương pháp hoán vị được mô tả trong (a).
Glen_b -Reinstate Monica

1

Bạn đúng về ý tưởng làm bài kiểm tra Chi bình phương. Vì vậy, đây là:

#Create two data sets (id, outcome and group label)
Dat1 <- as.data.frame(cbind(1:999,sample(c("A","G","E"),999,replace=T,prob=c(.2,.4,.4)),"group1"))
Dat2 <- as.data.frame(cbind(1:500,sample(c("A","G","E"),500,replace=T,prob=c(.4,.2,.4)),"group2"))

#Combine data sets
Dat  <- rbind(Dat1,Dat2)

#Receive descriptive statistics and compute Chi-Square
attach(Dat)
table(V3,V2)
chisq.test(table(V3,V2))
detach(Dat)

Nếu đúng, Chi-Square sẽ rất quan trọng, do đó có sự khác biệt đáng kể giữa các bản phân phối của hai nhóm. Để tham khảo để bắt đầu, hãy xem: http://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test http://www.statmethods.net/stats/frequencies.html


0

Bạn có thể quan tâm đến bài báo này [1]. Trích từ tóm tắt:
Mục tiêu của thử nghiệm hai mẫu (hay còn gọi là thử nghiệm đồng nhất) là, đưa ra hai bộ mẫu, để đánh giá xem phân phối xác suất đằng sau các mẫu có giống nhau hay không. Trong bài báo này, chúng tôi đề xuất một phương pháp thử nghiệm hai tham số mẫu mới dựa trên công cụ ước tính tỷ lệ mật độ bình phương nhỏ nhất. Thông qua các thử nghiệm khác nhau, chúng tôi cho thấy rằng tổng thể phương pháp được đề xuất tạo ra lỗi loại II nhỏ hơn (nghĩa là xác suất đánh giá hai phân phối là giống nhau khi chúng thực sự khác nhau) so với phương pháp hiện đại, với một chút lỗi loại I lớn hơn (nghĩa là xác suất đánh giá hai bản phân phối là khác nhau khi chúng thực sự giống nhau).

Các tác giả cũng cung cấp mã MATLAB cho cùng [2].

[1] http://www.ms.ku-tokyo.ac.jp/2011/LSTT.pdf
[2] http://www.ms.ku-tokyo.ac.jp/software.html#uLSIF

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.