Nhìn và bạn sẽ tìm thấy (một mối tương quan)


66

Tôi có vài trăm phép đo. Bây giờ, tôi đang xem xét sử dụng một số loại phần mềm để tương quan mọi biện pháp với mọi biện pháp. Điều này có nghĩa là có hàng ngàn mối tương quan. Trong số này phải có (về mặt thống kê) có mối tương quan cao, ngay cả khi dữ liệu hoàn toàn ngẫu nhiên (mỗi biện pháp chỉ có khoảng 100 điểm dữ liệu).

Khi tôi tìm thấy một mối tương quan, làm thế nào để tôi bao gồm thông tin về mức độ tôi đã tìm kiếm một mối tương quan, vào đó?

Tôi không ở mức cao trong thống kê, vì vậy xin vui lòng chịu đựng với tôi.


5
Đây là một ví dụ tuyệt vời về lý do tại sao một người cần thử nghiệm nhiều giả thuyết.

Có lẽ người ta có thể sử dụng thủ tục hoán vị để tạo phân phối null cho các ngưỡng có ý nghĩa cho tương quan lớn nhất, một ngưỡng khác nhau cho tương quan lớn thứ hai, v.v. Hy vọng rằng điều này sẽ chỉ mất vài giờ trong Python hoặc R. (Ha! Những từ cuối cùng nổi tiếng.) Nhưng chắc chắn ai đó đã thực hiện điều này và lưu mã ở đâu đó?

4
@tmo Rtrên máy này mất 18 giây để có được 1000 lần thực hiện phân phối hoán vị null của hệ số tương quan tối đa cho ma trận 300 x 100 x:correl <- function(x, k=1) { n <- dim(x)[2] * (dim(x)[2]-1) / 2; v <- cor(x); sort(v[lower.tri(v)])[(n-k+1):n] }; sim <- replicate(1000, correl(apply(x,2,sample)))
whuber

Câu trả lời:


74

Đây là một câu hỏi xuất sắc, xứng đáng với một người có tư duy thống kê rõ ràng, bởi vì nó nhận ra một khía cạnh tinh tế nhưng quan trọng của nhiều thử nghiệm.

các phương pháp tiêu chuẩn để điều chỉnh giá trị p của nhiều hệ số tương quan (hoặc, tương đương, để mở rộng khoảng tin cậy của chúng), chẳng hạn như phương pháp Bonferroni và Sidak ( qv ). Tuy nhiên, đây là quá bảo thủ với ma trận tương quan lớn do các mối quan hệ toán học vốn có phải giữ giữa các hệ số tương quan nói chung. (Đối với một số ví dụ về các mối quan hệ như vậy, hãy xem câu hỏi gần đây và chuỗi tiếp theo .) Một trong những cách tiếp cận tốt nhất để xử lý tình huống này là tiến hành kiểm tra hoán vị (hoặc lấy mẫu lại). Thật dễ dàng để làm điều này với các mối tương quan: trong mỗi lần lặp lại của bài kiểm tra, chỉ cần ngẫu nhiên xáo trộn thứ tự các giá trị của từng trường (từ đó phá hủy mọi tương quan vốn có) và tính toán lại ma trận tương quan đầy đủ. Làm điều này trong vài nghìn lần lặp (hoặc nhiều hơn), sau đó tóm tắt các phân phối của các mục nhập của ma trận tương quan, ví dụ, đưa ra 97,5 và 2,5 phần trăm của chúng: chúng sẽ đóng vai trò là khoảng tin cậy hai mặt đối xứng 95% theo null giả thuyết không có mối tương quan. (Lần đầu tiên bạn làm điều này với một số lượng lớn các biến, bạn sẽ ngạc nhiên về mức độ cao của một số hệ số tương quan có thể ngay cả khi không có tương quan vốn có.)

Khi báo cáo kết quả, bất kể bạn tính toán gì, bạn nên bao gồm các phần sau:

  • Kích thước của ma trận tương quan ( nghĩa là bạn đã xem bao nhiêu biến).

  • Cách bạn xác định giá trị p hoặc "tầm quan trọng" của bất kỳ hệ số tương quan nào ( ví dụ: để nguyên như vậy, áp dụng hiệu chỉnh Bonferroni, thực hiện kiểm tra hoán vị hoặc bất cứ điều gì).

  • Cho dù bạn đã xem xét các biện pháp tương quan thay thế, chẳng hạn như tương quan xếp hạng Spearman . Nếu bạn đã làm, cũng chỉ ra lý do tại sao bạn chọn phương pháp bạn thực sự báo cáo và sử dụng.


1
Đây là một mô tả khá kỹ lưỡng về các phương pháp điều chỉnh giá trị p nhưng cái còn lại chưa được trả lời là các tiêu chí để điều chỉnh. Theo truyền thống, nó đã được tỷ lệ lỗi gia đình. Nhưng đó là một tiêu chí nghiêm ngặt và không hữu ích khi bạn nhìn vào hàng ngàn so sánh. Trong trường hợp đó, tỷ lệ phát hiện sai được đề xuất đầu tiên bởi Stewamini hiện được sử dụng phổ biến.
Michael Chernick

corr(x1,y1)corr(xn,yn)xiyicorr(xi,yj) ij)? Chúng ta vẫn cần một sự điều chỉnh?
Jase

@Jase Vâng, bạn làm. Số lượng hiệu chỉnh phụ thuộc vào mối tương quan giữa các biến. Các phương pháp dựa trên mô phỏng là về cách duy nhất có thể thực hiện được để xác định các hiệu chỉnh này.
whuber

Wow tốt đẹp. Phương pháp này mà bạn đã thảo luận cũng sẽ sửa các lỗi tiêu chuẩn cho các vấn đề tương quan nối tiếp và không đồng nhất?
Jase

@Jase Sẽ rất khó để giải thích các hệ số tương quan trong một mô hình không đồng nhất. Nhận xét của bạn dường như đề cập đến một mô hình tuyến tính trong cài đặt chuỗi thời gian, thay vì ước tính các hệ số tương quan đa biến.
whuber

10

Từ câu trả lời tiếp theo của bạn cho câu hỏi của Peter Flom, có vẻ như bạn có thể được phục vụ tốt hơn bằng các kỹ thuật nhìn vào cấu trúc cấp cao hơn trong ma trận tương quan của bạn.

Các kỹ thuật như phân tích nhân tố, PCA, chia tỷ lệ đa chiều và phân tích cụm biến có thể được sử dụng để nhóm các biến của bạn thành các tập hợp các biến tương đối nhiều hơn.

Ngoài ra, bạn có thể muốn suy nghĩ về mặt lý thuyết về loại cấu trúc nên có mặt. Khi số lượng biến của bạn lớn và số lượng quan sát nhỏ, bạn thường dựa nhiều hơn vào các kỳ vọng trước đó.


1
(+1) Lời khuyên tốt trong nhận xét của OP về phản hồi của @Peter Flom.
whuber

7

Đây là một ví dụ về nhiều so sánh. Có một tài liệu lớn về điều này.

Nếu bạn có 100 biến, thì bạn sẽ có 100 * 99/2 = 4950 tương quan.

Nếu dữ liệu chỉ là nhiễu, thì bạn sẽ mong đợi 1 trong số 20 trong số này có ý nghĩa với p = 0,05. Đó là 247,5

Tuy nhiên, trước khi đi xa hơn, sẽ tốt hơn nếu bạn có thể nói TẠI SAO bạn đang làm điều này. Những biến này là gì, tại sao bạn tương quan với chúng, ý tưởng thực sự của bạn là gì?

Hoặc, bạn chỉ đang câu cá cho tương quan cao?


3
Lý do tại sao tôi muốn làm điều đó như thế này là để có một suy nghĩ cởi mở trong việc tìm hiểu dữ liệu của tôi, vì vậy có thể theo cách tôi đang tìm kiếm sự tương quan, điều mà trước đây tôi không nghĩ đến, vì mục đích được giác ngộ. Tôi chắc chắn không làm điều này để làm hài lòng ông chủ của tôi hoặc một cái gì đó đáng ghét. Tôi thà không đi vào chi tiết cụ thể của dữ liệu, vì tôi muốn có câu trả lời chung cho câu hỏi này, vì vậy tôi có thể sử dụng nó trong mọi tình huống trong tương lai.
David

7

Có lẽ bạn có thể thực hiện phân tích sơ bộ về một tập hợp con ngẫu nhiên của dữ liệu để hình thành các giả thuyết và sau đó kiểm tra một vài giả thuyết quan tâm bằng cách sử dụng phần còn lại của dữ liệu. Bằng cách đó, bạn sẽ không phải sửa cho gần như nhiều bài kiểm tra. (Tôi nghĩ...)

Tất nhiên, nếu bạn sử dụng một quy trình như vậy, bạn sẽ giảm kích thước của tập dữ liệu được sử dụng cho phân tích cuối cùng và do đó giảm sức mạnh của bạn để tìm hiệu ứng thực sự. Tuy nhiên, sửa chữa cho nhiều so sánh cũng làm giảm sức mạnh và vì vậy tôi không chắc chắn rằng bạn nhất thiết sẽ mất bất cứ điều gì.


5
(+1) Đây là một ý tưởng tuyệt vời nói chung. Tuy nhiên, đối với các ma trận tương quan lớn, có rất nhiều số liệu thống kê và rất nhiều trong số chúng có thể đồng thời lớn đến mức nó thường phải trả để điều chỉnh. Nếu không, bạn sẽ theo đuổi một số lượng lớn các mối tương quan "đáng kể" gây hiểu lầm vừa biến mất trong dữ liệu tạm giữ. (Chạy một mô phỏng với, giả sử, vài trăm rút ra từ 50 biến thể tiêu chuẩn thông thường không tương thích. Đó là một cái mở mắt.)
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.