..., Hai (trong số 20 biến được chọn) có mối tương quan cao và hai biến khác hoàn toàn tương quan. Điều này có bình thường không? Không phải phương pháp Boruta đã phân loại một trong hai là không quan trọng sao?
Có nó là bình thường. Boruta có xu hướng tìm tất cả các tính năng liên quan đến biến trả lời . Nói một cách chính xác, một biến dự đoán x i được cho là có liên quan đến y nếu x i và y không độc lập có điều kiện với một số biến dự đoán khác (hoặc không có gì, điều đó có nghĩa đơn giản là x i và y không độc lập).yxTôiyxTôiyxTôiy
Hãy xem xét ví dụ đơn giản này:
set.seed(666)
n <- 100
x1 <- rnorm(n)
x2 <- x1 + rnorm(n,sd=0.5)
x3 <- rnorm(n)
y <- x2 + rnorm(n)
Bạn thấy rằng , thì x 2 có liên quan đến y , vì y và x 2 không độc lập. Bạn cũng thấy x 2 = x 1 + nhiễu và sau đó y không độc lập với x 2 . Biến duy nhất không liên quan đến y là x 3 , bởi vì:y= x2+ tiếng ồnx2yyx2x2= x1+ tiếng ồnyx2yx3
- và x 3 là độc lậpyx3
- và x 3 độc lập có điều kiện với x 1yx3x1
- và x 3 là độc lập có điều kiện ( x 1 , x 2 )yx3( x1, x2)
Sau đó Boruta tìm thấy kết quả mong đợi:
> library(Boruta)
> Boruta(data.frame(x1,x2,x3), y)
Boruta performed 30 iterations in 2.395286 secs.
2 attributes confirmed important: x1, x2.
1 attributes confirmed unimportant: x3.
Có một mối tương quan cao giữa và x 2 , nhưng Boruta không bận tâm về điều đó:x1x2
> cor(x1,x2)
[1] 0.896883