Tôi muốn đề xuất rằng hiện tượng này (của một thử nghiệm tổng thể không có ý nghĩa mặc dù có một biến riêng biệt đáng kể) có thể được hiểu là một loại "hiệu ứng che giấu" tổng hợp và mặc dù nó có thể hình dung có thể phát sinh từ các biến giải thích đa hướng, nhưng nó không cần phải làm Mà ở tất cả. Nó cũng hóa ra không phải do nhiều điều chỉnh so sánh. Do đó, câu trả lời này đang bổ sung một số bằng cấp cho các câu trả lời đã xuất hiện, điều ngược lại cho thấy rằng đa cộng đồng hoặc nhiều so sánh nên được xem là thủ phạm.
Để thiết lập tính hợp lý của các xác nhận này, chúng ta hãy tạo ra một tập hợp các biến trực giao hoàn hảo - càng không phải là cộng tuyến càng tốt - và một biến phụ thuộc được xác định rõ ràng chỉ bằng một trong các giải thích đầu tiên (cộng với một lượng lỗi ngẫu nhiên tốt độc lập với mọi thứ khác). Trong R
này có thể được thực hiện (reproducibly, nếu bạn muốn thí nghiệm) như
set.seed(17)
p <- 5 # Number of explanatory variables
x <- as.matrix(do.call(expand.grid, lapply(as.list(1:p), function(i) c(-1,1))))
y <- x[,1] + rnorm(2^p, mean=0, sd=2)
Điều không quan trọng là các biến giải thích là nhị phân; Vấn đề là tính trực giao của chúng, mà chúng ta có thể kiểm tra để đảm bảo mã hoạt động như mong đợi, có thể được thực hiện bằng cách kiểm tra mối tương quan của chúng. Thật vậy, ma trận tương quan rất thú vị : các hệ số nhỏ gợi ý y
rất ít liên quan đến bất kỳ biến nào ngoại trừ biến đầu tiên (theo thiết kế) và các số không có đường chéo xác nhận tính trực giao của các biến giải thích:
> cor(cbind(x,y))
Var1 Var2 Var3 Var4 Var5 y
Var1 1.00 0.000 0.000 0.000 0.00 0.486
Var2 0.00 1.000 0.000 0.000 0.00 0.088
Var3 0.00 0.000 1.000 0.000 0.00 0.044
Var4 0.00 0.000 0.000 1.000 0.00 -0.014
Var5 0.00 0.000 0.000 0.000 1.00 -0.167
y 0.49 0.088 0.044 -0.014 -0.17 1.000
Chúng ta hãy chạy một loạt các hồi quy , chỉ sử dụng biến đầu tiên, sau đó là hai biến đầu tiên, v.v. Để dễ so sánh và dễ so sánh, trong mỗi phần tôi chỉ hiển thị dòng cho biến đầu tiên và tổng kiểm tra F:
>temp <- sapply(1:p, function(i) print(summary(lm(y ~ x[, 1:i]))))
# Estimate Std. Error t value Pr(>|t|)
1 x[, 1:i] 0.898 0.294 3.05 0.0048 **
F-statistic: 9.29 on 1 and 30 DF, p-value: 0.00478
2 x[, 1:i]Var1 0.898 0.298 3.01 0.0053 **
F-statistic: 4.68 on 2 and 29 DF, p-value: 0.0173
3 x[, 1:i]Var1 0.8975 0.3029 2.96 0.0062 **
F-statistic: 3.05 on 3 and 28 DF, p-value: 0.0451
4 x[, 1:i]Var1 0.8975 0.3084 2.91 0.0072 **
F-statistic: 2.21 on 4 and 27 DF, p-value: 0.095
5 x[, 1:i]Var1 0.8975 0.3084 2.91 0.0073 **
F-statistic: 1.96 on 5 and 26 DF, p-value: 0.118
Nhìn vào cách (a) tầm quan trọng của biến đầu tiên hầu như không thay đổi, (a ') biến đầu tiên vẫn có ý nghĩa (p <0,05) ngay cả khi điều chỉnh cho nhiều so sánh ( ví dụ: áp dụng Bonferroni bằng cách nhân giá trị p danh nghĩa với số lượng các biến giải thích), (b) hệ số của biến đầu tiên hầu như không thay đổi, nhưng (c) ý nghĩa tổng thể tăng theo cấp số nhân, nhanh chóng tăng lên đến mức không đáng kể.
Tôi giải thích điều này như chứng minh rằng bao gồm các biến giải thích phần lớn độc lập với biến phụ thuộc có thể "che dấu" giá trị p tổng thể của hồi quy. Khi các biến mới trực giao với các biến hiện có và biến phụ thuộc, chúng sẽ không thay đổi các giá trị p riêng lẻ. (Những thay đổi nhỏ được thấy ở đây là do lỗi ngẫu nhiên được thêm vào y
là, do tình cờ, hơi tương quan với tất cả các biến khác.) Một bài học rút ra từ đây là sự cẩn thận là có giá trị : sử dụng càng ít biến khi cần thiết có thể tăng cường tầm quan trọng của kết quả.
Tôi không nói rằng điều này nhất thiết phải xảy ra đối với tập dữ liệu trong câu hỏi, về điều mà ít được tiết lộ. Nhưng kiến thức rằng hiệu ứng che giấu này có thể xảy ra sẽ thông báo cho việc giải thích kết quả cũng như các chiến lược của chúng tôi để lựa chọn biến và xây dựng mô hình.