Cho những gì nó có giá trị:
cả hai rpart
và ctree
thự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ố. rpart
và 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, ctree
sử 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 Transformations
trong party
gói).
Vì vậy, nhìn chung, sự khác biệt chính dường như là ctree
sử 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.