Kiểm tra chunk là gì?


13

Để trả lời cho một câu hỏi về lựa chọn mô hình với sự hiện diện của đa cộng đồng , Frank Harrell đề xuất :

Đặt tất cả các biến trong mô hình nhưng không kiểm tra tác động của một biến được điều chỉnh về tác động của các biến cạnh tranh ... Các thử nghiệm chunk của các biến cạnh tranh rất mạnh vì các biến collinear tham gia lực lượng trong thử nghiệm liên kết tự do tổng thể, thay vì cạnh tranh với nhau như khi bạn kiểm tra các biến riêng lẻ.

Kiểm tra chunk là gì? Bạn có thể cho một ví dụ về ứng dụng của họ trong r?


3
Tôi tưởng tượng điều này đề cập đến việc kiểm tra các khối biến tại một thời điểm, trong đó tất cả các cộng tuyến tiềm năng xảy ra trong một khối, không ảnh hưởng đến các thử nghiệm omnibus như -test hoặc kiểm tra tỷ lệ khả năng, nhưng tôi chưa bao giờ nghe thấy thuật ngữ " kiểm tra khối ". F
Macro

2
Một tình huống mà tôi đã thấy họ đề xuất (và đã tự thực hiện chúng) là khi bạn có một loạt nhiều biến giả loại trừ lẫn nhau (ví dụ: một biến độc lập danh nghĩa với nhiều danh mục tiềm năng). Một thử nghiệm về bất kỳ hệ số riêng lẻ nào liên quan đến bất kỳ biến giả nào cũng không thú vị lắm, vì nó kiểm tra độ tương phản cụ thể với bất cứ thứ gì bạn chọn làm đường cơ sở. Do đó, một thử nghiệm nhiều thông tin hơn là thử nghiệm tỷ lệ khả năng của mô hình bị hạn chế bỏ qua tất cả các biến giả.
Andy W

2
Phân trang @FrankHarrell ...
đánh dấu

Điều đó không hiệu quả, đánh dấu. :)
hồng y

1
Thật xấu hổ, nó nên như vậy :)
đánh dấu

Câu trả lời:


13

@ mark999 cung cấp một câu trả lời tuyệt vời. Ngoài việc cùng kiểm tra các thuật ngữ đa thức, bạn có thể cùng kiểm tra ("kiểm tra khối") bất kỳ bộ biến nào. Giả sử bạn đã có một mô hình với các biến số cạnh tranh với chu vi tam giác, vòng eo, vòng hông, tất cả các phép đo kích thước cơ thể. Để có được một bài kiểm tra kích thước cơ thể tổng thể, bạn có thể làm

require(rms)
f <- ols(y ~ age + tricep + waist + pol(hip,2))
anova(f, tricep, waist, hip)  # 4 d.f. test

NAtricep, waist, hipR2


1
Cảm ơn đã chỉ ra rằng Frank. Tôi không biết bạn có thể làm điều đó.
đánh dấu

12

Nhận xét của Macro là chính xác, cũng như Andy. Đây là một ví dụ.

> library(rms)
> 
> set.seed(1)
> d <- data.frame(x1 = rnorm(50), x2 = rnorm(50))
> d <- within(d, y <- 1 + 2*x1 + 0.3*x2 + 0.2*x2^2 + rnorm(50))
> 
> ols1 <- ols(y ~ x1 + pol(x2, 2), data=d) # pol(x2, 2) means include x2 and x2^2 terms
> ols1

Linear Regression Model

ols(formula = y ~ x1 + pol(x2, 2), data = d)

                Model Likelihood     Discrimination    
                   Ratio Test           Indexes        
Obs       50    LR chi2     79.86    R2       0.798    
sigma 0.9278    d.f.            3    R2 adj   0.784    
d.f.      46    Pr(> chi2) 0.0000    g        1.962    

Residuals

    Min      1Q  Median      3Q     Max 
-1.7463 -0.4789 -0.1221  0.4465  2.2054 

          Coef   S.E.   t     Pr(>|t|)
Intercept 0.8238 0.1654  4.98 <0.0001 
x1        2.0214 0.1633 12.38 <0.0001 
x2        0.2915 0.1500  1.94 0.0581  
x2^2      0.2242 0.1163  1.93 0.0602  


> anova(ols1)
                Analysis of Variance          Response: y 

 Factor     d.f. Partial SS MS          F      P     
 x1          1   131.894215 131.8942148 153.20 <.0001
 x2          2    10.900163   5.4500816   6.33 0.0037
  Nonlinear  1     3.196552   3.1965524   3.71 0.0602
 REGRESSION  3   156.011447  52.0038157  60.41 <.0001
 ERROR      46    39.601647   0.8609054              

Thay vì xem xét các thuật ngữ x2x2^2thuật ngữ một cách riêng biệt, "kiểm tra chunk" là thử nghiệm 2-df kiểm tra giả thuyết khống cho rằng các hệ số của các thuật ngữ này đều bằng không (tôi tin rằng nó thường được gọi là "kiểm tra F tuyến tính chung" ). Giá trị p cho thử nghiệm đó là 0,0037 được đưa ra bởi anova(ols1).

Lưu ý rằng trong rmsgói, bạn phải xác định x2các điều khoản như pol(x2, 2)cho anova.rms()biết rằng họ đang được thử nghiệm với nhau.

anova.rms()sẽ thực hiện các thử nghiệm tương tự cho các biến dự đoán được biểu diễn dưới dạng các khối vuông bị hạn chế bằng cách sử dụng, ví dụ rcs(x2, 3), và cho các biến dự báo phân loại. Nó cũng sẽ bao gồm các điều khoản tương tác trong "khối".

Nếu bạn muốn thực hiện một bài kiểm tra khối cho các biến dự đoán "cạnh tranh" chung, như đã đề cập trong đoạn trích dẫn, tôi tin rằng bạn sẽ phải thực hiện thủ công bằng cách khớp riêng hai mô hình và sau đó sử dụng anova(model1, model2). [Chỉnh sửa: điều này không chính xác - xem câu trả lời của Frank Harrell.]


2
Xcor(X,X2)= =0

Để rõ ràng, tôi nghĩ rằng tôi đã được dạy điều này như là một "Thử nghiệm F một phần" trong đó bạn kiểm tra 2 hoặc nhiều biến cho tầm quan trọng chung. Hoặc liệu một tập hợp con các biến trong mô hình của bạn có cải thiện so với mô hình bị hạn chế hơn không (giống như thử nghiệm tỷ lệ khả năng). Tôi có đúng không?
C. Pieters

@ C.Pieters Tôi không biết bạn có đúng không, nhưng nghe có vẻ hợp lý.
mark999
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.