Cây suy luận có điều kiện so với cây quyết định truyền thống


97

Bất cứ ai cũng có thể giải thích sự khác biệt chính giữa các cây suy luận có điều kiện ( ctreetừ partygói trong R) so với các thuật toán cây quyết định truyền thống hơn (chẳng hạn như rparttrong R)?

  1. Điều gì làm cho cây CI khác nhau?
  2. Điểm mạnh và điểm yếu?

Cập nhật: Tôi đã xem bài báo của Horthorn et al mà Chi đề cập đến trong các bình luận. Tôi không thể theo dõi nó hoàn toàn - bất kỳ ai cũng có thể giải thích cách các biến được chọn bằng cách sử dụng hoán vị (ví dụ: hàm ảnh hưởng là gì)?

Cảm ơn!


1
Bạn có nghĩa là một lời giải thích vượt xa những gì được mô tả trong bài báo của Hothorn ? Tôi nhớ một số hình ảnh minh họa đẹp từ Carolin Strobl tại hội nghị IMPS2009 ; Tôi nghĩ rằng có một số tài liệu trên trang web của cô ấy.
chl

Liên kết này hiển thị so sánh giữa các hình thức gói cây quyết định khác nhau r-bloggers.com/a-brief-tour-of-the-trees-and-forests
Archpaul

Câu trả lời:


93

Cho những gì nó có giá trị:

cả hai rpartctreethực hiện đệ quy các phép chia đơn biến của biến phụ thuộc dựa trên các giá trị trên một tập hợp số. rpartvà các thuật toán liên quan thường sử dụng các biện pháp thông tin (như hệ số Gini ) để chọn hiệp phương thức hiện tại.

ctree, theo các tác giả của nó (xem bình luận của chl ) tránh sự sai lệch lựa chọn biến sau đây của rpart(và các phương thức liên quan): Họ có xu hướng chọn các biến có nhiều phân tách có thể hoặc nhiều giá trị bị thiếu. Không giống như những người khác, ctreesử dụng một quy trình kiểm tra quan trọng để chọn các biến thay vì chọn biến tối đa hóa một thước đo thông tin (ví dụ: hệ số Gini).

Kiểm tra mức độ quan trọng, hoặc tốt hơn: các thử nghiệm đa ý nghĩa được tính toán ở mỗi lần bắt đầu thuật toán (chọn hiệp phương trình - chọn tách - tái diễn) là các phép thử hoán vị , nghĩa là "phân phối thống kê kiểm tra theo giả thuyết null được lấy bằng cách tính toán tất cả các giá trị có thể có của thống kê kiểm tra dưới sự sắp xếp lại các nhãn trên các điểm dữ liệu được quan sát. " (từ bài viết trên wikipedia).

Bây giờ cho thống kê kiểm tra: nó được tính từ các phép biến đổi (bao gồm cả danh tính, nghĩa là không có biến đổi) của biến phụ thuộc và biến số. Bạn có thể chọn bất kỳ một số biến đổi nào cho cả hai biến. Đối với DV (Biến phụ thuộc), phép biến đổi được gọi là hàm ảnh hưởng mà bạn đã hỏi về.

Ví dụ (lấy từ bài báo ):

  • nếu cả DV và hiệp phương sai là số, bạn có thể chọn các biến đổi nhận dạng và tính toán tương quan giữa hiệp phương sai và tất cả các hoán vị có thể có của các giá trị của DV. Sau đó, bạn tính giá trị p từ phép thử hoán vị này và so sánh nó với giá trị p cho các hiệp phương sai khác.
  • nếu cả DV và hiệp phương sai là danh nghĩa (phân loại không có thứ tự), thì thống kê kiểm tra được tính từ bảng dự phòng.
  • bạn có thể dễ dàng tạo các loại thống kê kiểm tra khác từ bất kỳ loại biến đổi nào (bao gồm cả biến đổi nhận dạng) từ sơ đồ chung này.

ví dụ nhỏ cho một bài kiểm tra hoán vị trong R:

require(gtools)
dv <- c(1,3,4,5,5); covariate <- c(2,2,5,4,5)
# all possible permutations of dv, length(120):
perms <- permutations(5,5,dv,set=FALSE) 
# now calculate correlations for all perms with covariate:
cors <- apply(perms, 1, function(perms_row) cor(perms_row,covariate)) 
cors <- cors[order(cors)]
# now p-value: compare cor(dv,covariate) with the 
# sorted vector of all permutation correlations
length(cors[cors>=cor(dv,covariate)])/length(cors)
# result: [1] 0.1, i.e. a p-value of .1
# note that this is a one-sided test

Bây giờ giả sử bạn có một tập hợp số, không chỉ một như trên. Sau đó tính toán giá trị p cho từng hiệp phương trình như trong sơ đồ trên và chọn giá trị p có giá trị p nhỏ nhất . Bạn muốn tính giá trị p thay vì các mối tương quan trực tiếp, bởi vì bạn có thể có các biến số của các loại khác nhau (ví dụ: số và phân loại).

Khi bạn đã chọn hiệp phương sai, bây giờ hãy khám phá tất cả các phần tách có thể (hoặc thường là số lượng hạn chế của tất cả các phần tách có thể, ví dụ: bằng cách yêu cầu một số phần tử tối thiểu của DV trước khi phân tách) một lần nữa đánh giá thử nghiệm dựa trên hoán vị.

ctreeđi kèm với một số biến đổi có thể có cho cả DV và hiệp phương sai (xem phần trợ giúp Transformationstrong partygói).

Vì vậy, nhìn chung, sự khác biệt chính dường như là ctreesử dụng sơ đồ lựa chọn đồng biến dựa trên lý thuyết thống kê (nghĩa là lựa chọn bằng các phép thử quan trọng dựa trên hoán vị) và do đó tránh được sai lệch tiềm năng rpart, nếu không chúng có vẻ tương tự nhau; ví dụ, cây suy luận có điều kiện có thể được sử dụng làm người học cơ sở cho Rừng ngẫu nhiên.

Đây là khoảng xa như tôi có thể nhận được. Để biết thêm thông tin, bạn thực sự cần phải đọc các giấy tờ. Lưu ý rằng tôi thực sự khuyên bạn nên thực sự biết những gì bạn đang làm khi bạn muốn áp dụng bất kỳ loại phân tích thống kê nào.


Vì vậy, sẽ công bằng khi nói như sau: 1. Về nguyên tắc, nếu các bài kiểm tra quan trọng có sẵn và dễ dàng tính toán cho Gini, thì bất kỳ người xây dựng cây quyết định hiện tại nào cũng có thể được tăng cường bằng những điều này; 2. Nhưng trong thực tế, chúng không có sẵn (nghĩa là rất khó / không hiệu quả để tính toán) cho hầu hết các trường hợp; 3. Các tác giả của cây CI đã chọn một họ các tiêu chí chia tách. Đây không nhất thiết là gia đình tốt nhất cho độ chính xác phân loại, nhưng ít nhất với nó, nó dễ dàng tính toán ý nghĩa; 4. Và do đó, một điểm yếu của cây CI là bạn bắt buộc phải sử dụng tiêu chí cụ thể này?
SheldonCooper

1
@SheldonCooper: 1. và 2. có thể hơi quá đầu tôi. Tôi nghĩ bạn đúng về 3. và 4.
wolf.rauch

1
(...) và tất cả các hoán vị có thể có của các giá trị của DV "Tất cả các hoán vị có thể có của các giá trị DV? Phải mất hơn 130 giây để tìm thấy tất cả các hoán vị có thể có của 10 phần tử. 20 quan sát. - được thêm bởi người điều hành.
chl

1
Tôi xin lỗi nhưng DV là viết tắt của từ gì?
huyền thoại

1
Tôi nghĩ rằng biến phụ thuộc @mythicalprogrammer
Frikster
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.