Rpart có sử dụng chia tách đa biến theo mặc định không?


8

Tôi biết rằng rpartchức năng của R giữ dữ liệu cần thiết để thực hiện phân tách đa biến, nhưng tôi không biết liệu nó có thực sự thực hiện phân tách đa biến hay không. Tôi đã thử nghiên cứu trực tuyến về các rparttài liệu, nhưng tôi không thấy bất kỳ thông tin nào có thể làm được hoặc đang thực hiện. Có ai biết chắc không?


Bạn có ý nghĩa chính xác bởi sự phân chia đa biến? Kiểm tra nhiều biến số thuộc tính nào sẽ được sử dụng để phân tách hoặc phân tách dựa trên một số chức năng của một vài thuộc tính?

Đây là một phân chia sử dụng nhiều hơn một biến. Về mặt hình học, điều này có nghĩa là một phần tách dọc theo một siêu phẳng, chứ không phải là một mặt phẳng vuông góc với một trong các trục.
chubbsondub

Câu trả lời:


13

Rpart chỉ cung cấp chia tách đơn biến. Tôi tin rằng, dựa trên câu hỏi của bạn, rằng bạn không hoàn toàn quen thuộc với sự khác biệt giữa phương pháp phân vùng đơn biến và phương pháp phân vùng đa biến. Tôi đã làm hết sức mình để giải thích điều này dưới đây, cũng như cung cấp một số tài liệu tham khảo để nghiên cứu thêm và đề xuất một số gói R để thực hiện các phương pháp này.

Rpart là một trình phân loại dựa trên cây sử dụng phân vùng đệ quy. Với các phương pháp phân vùng, bạn phải xác định các điểm trong dữ liệu của mình để thực hiện phân tách. Thuật toán rpart trong R thực hiện điều này bằng cách tìm biến và điểm phân tách tốt nhất (và do đó làm giảm) RSS. Bởi vì các phân chia chỉ xảy ra dọc theo một biến tại một thời điểm, đây là các phân chia đơn biến. Phân chia nhiều biến thường được định nghĩa là phân vùng đồng thời dọc theo nhiều trục (do đó đa biến), tức là nút rpart đầu tiên có thể phân chia theo Tuổi> 35, nút thứ hai có thể phân chia theo Thu nhập> 25.000 và nút thứ ba có thể phân chia dọc theo Thành phố phía tây Mississippi. Các nút thứ hai và thứ ba được phân chia trên các tập hợp con nhỏ hơn của dữ liệu tổng thể, vì vậy trong nút thứ hai, tiêu chí thu nhập tốt nhất chỉ phân chia RSS cho những người có độ tuổi trên 35, nó không áp dụng cho các quan sát không tìm thấy trong nút này, áp dụng tương tự cho tiêu chí Thành phố. Người ta có thể tiếp tục làm điều này cho đến khi có một nút cho mỗi quan sát trong tập dữ liệu của bạn (rpart sử dụng hàm kích thước nhóm tối thiểu bên cạnh tiêu chí kích thước nút tối thiểu và tham số cp là giá trị r bình phương tối thiểu phải tăng để tiếp tục lắp).

Một phương pháp đa biến, chẳng hạn như Phương pháp quy nạp bệnh nhân (gói gốc trong R) sẽ đồng thời phân tách bằng cách chọn, ví dụ: Tất cả các Quan sát trong đó Thu nhập lớn hơn 22.000, Tuổi> 32 và Thành phố phía tây Atlanta. Lý do tại sao sự phù hợp có thể khác nhau là vì tính toán cho sự phù hợp là đa biến thay vì đơn biến, sự phù hợp của ba tiêu chí này được tính dựa trên sự phù hợp đồng thời của ba biến số trên tất cả các quan sát đáp ứng các tiêu chí này thay vì phân vùng lặp chia tách đơn biến (như với rpart).

Có nhiều niềm tin khác nhau liên quan đến hiệu quả của các phương pháp phân vùng đơn biến so với đa biến. Nói chung những gì tôi đã thấy trong thực tế, là hầu hết mọi người thích phân vùng đơn biến (chẳng hạn như rpart) cho mục đích giải thích (nó chỉ được sử dụng trong dự đoán khi xử lý một vấn đề trong đó cấu trúc được xác định rất rõ và sự thay đổi giữa các biến là khá không đổi, đây là lý do tại sao chúng thường được sử dụng trong y học). Các mô hình cây đơn biến thường được kết hợp với người học tập hợp khi được sử dụng để dự đoán (tức là Rừng ngẫu nhiên). Những người sử dụng phân vùng đa biến hoặc phân cụm (liên quan rất chặt chẽ đến phân vùng đa biến) thường làm như vậy đối với các vấn đề phức tạp mà các phương pháp đơn biến rất phù hợp và chủ yếu để dự đoán hoặc phân tích các quan sát thành các loại.

Tôi đánh giá cao cuốn sách của Julian Faraway, Mở rộng mô hình tuyến tính với R. Chương 13 dành riêng cho việc sử dụng Cây xanh (tất cả đều không biến đổi). Nếu bạn quan tâm hơn nữa đến các phương pháp đa biến, Các yếu tố của học thống kê của Hastie et. al, cung cấp một cái nhìn tổng quan tuyệt vời về nhiều phương pháp đa biến, bao gồm PRIM (mặc dù Friedman tại Stanford có bài viết gốc về phương pháp được đăng trên trang web của mình), cũng như các phương pháp phân cụm.

Liên quan đến Gói R để sử dụng các phương thức này, tôi tin rằng bạn đã sử dụng gói rpart và tôi đã đề cập đến gói gốc ở trên. Có nhiều cách xây dựng theo thói quen phân cụm và tôi khá thích gói tiệc được đề cập bởi một người khác trong chủ đề này, vì nó thực hiện suy luận có điều kiện trong quá trình xây dựng cây quyết định. Gói optpart cho phép bạn thực hiện phân vùng nhiều biến số và gói mvpart (cũng được người khác đề cập) cho phép bạn thực hiện các cây rpart đa biến, tuy nhiên cá nhân tôi thích sử dụng partDSA, cho phép bạn kết hợp các nút sâu hơn trong cây của mình để giúp ngăn phân vùng tương tự các quan sát, nếu tôi cảm thấy rpart và bữa tiệc không phù hợp với mục đích làm người mẫu của tôi.

Lưu ý: Trong ví dụ của tôi về cây rpart trong đoạn 2, tôi mô tả cách phân vùng hoạt động với số nút, nếu ai đó rút ra cây này, thì việc phân vùng sẽ tiến sang bên trái nếu quy tắc chia tách là đúng, tuy nhiên trong RI tin rằng sự phân chia thực sự tiến tới bên phải nếu quy tắc là đúng.


Adam trả lời tuyệt vời. Đó chính xác là những gì tôi đã hỏi. Tuy nhiên, bạn đã thêm một chút thông tin mà tôi đã có một thời gian khó khăn để tìm thêm thông tin. Tiêu chí CP của Mallow dừng lại. Tôi đã xem qua mã nguồn R, nhưng quá khó để tìm ra cách họ chọn dừng lại. Tôi đại khái có một ý tưởng, nhưng tôi cần một bài báo hoặc một số thảo luận về cách nó hoạt động để tôi có thể hoàn thành việc thực hiện nó. Bạn có bất kỳ thông tin về nó?
chubbsondub

Vì vậy, tôi đã kiểm tra hướng dẫn tham khảo rpart, và rõ ràng là tôi không chính xác. Mặc dù một trong những tiêu chí để dừng trong rpart được gọi là "cp", đây là viết tắt của "tham số phức tạp" và chỉ đơn thuần là số tiền tối thiểu r ^ 2 phải tăng để theo đuổi một sự phân chia cụ thể. Tôi đã sửa bài viết của tôi ở trên để phản ánh điều này. Việc thiếu các kiểm tra thống kê trong quy tắc chia tách là một trong những lý do tại sao tôi sử dụng gói bên trên gói rpart. Với gói bên, phương thức mặc định thực hiện giá trị p được sửa Bonferroni làm tiêu chí dừng (mặc định p = 0,05). Để biết chi tiết xem họa tiết.
Adam

Tôi cảm thấy thực tế rằng rpart không sử dụng tiêu chí dừng là một tài sản, chứ không phải là một trách nhiệm pháp lý. Một sự phân chia có vẻ là vô giá trị, và mở đường cho những lần phân tách tiếp theo xuống cây, điều này có thể khá quan trọng. Chính sách "phát triển, sau đó cắt tỉa" như được thực hiện trong rpart sẽ tránh được việc dừng sớm và dường như đối với tôi là một cách tiếp cận hợp lý.
F. Tusell

@Tusell đó là toàn bộ ý tưởng đằng sau nghiên cứu của Cart là việc chọn một tiêu chí dừng là không tối ưu. Trồng một cây đầy đủ sau đó sử dụng cắt tỉa để tìm một cây tối ưu. Tuy nhiên, như @Adam đã chỉ ra rpart không hoạt động chính xác như thế. Một phần của nó tôi nghĩ là tối ưu hóa cho các bộ dữ liệu lớn. Nếu nó có thể cắt bỏ một cây con sớm mà không cần khám phá, nó có thể tiết kiệm thời gian CPU hơn là trải qua một phiên mở rộng và cắt tỉa hoàn toàn. Như bạn chỉ ra mặc dù điều đó có nghĩa là một số cây chưa được khám phá đầy đủ và bạn phải điều chỉnh cp param để làm cho nó hoạt động.
chubbsondub

@Adam là R ^ 2 được tính từ tập dữ liệu thử nghiệm hay là sử dụng bộ cắt tỉa để tính MSE?
chubbsondub

1

Như tôi biết, nó không; nhưng đã không sử dụng nó trong một thời gian. Nếu tôi hiểu bạn rõ, bạn có thể muốn xem xét gói mvpart thay thế.


1

Thuật ngữ của bạn là khó hiểu. Do bạn có nghĩa là chia tách bằng cách sử dụng nhiều hơn một biến hoặc một cây cho phép phản hồi đa biến (trái ngược với phản ứng đơn biến)? Tôi đoán sau này.

F. Tusell đã chỉ cho bạn gói mvpart, bổ sung một tiêu chí đa biến cho tạp chất nút được đánh giá cho tất cả các phân chia có thể có trong mỗi giai đoạn xây dựng cây.

Một thay thế là gói bên , có chức năng ctree()có thể xử lý các phản ứng đa biến.


Trên thực tế, tôi đang đề cập đến việc phân tách bằng nhiều hơn một biến. Nếu bạn đọc cuốn sách GIỎI của Leo Breiman, thì nó đề cập đến điều này như là các phân chia đa biến đối lập với đa phương trong đó chỉ có một biến được xem xét. Cảm ơn bạn đã trả lời.
chubbsondub

1
Tất cả các biến được xem xét rpart, phân chia nhị phân được hình thành bằng cách tìm kiếm trên tất cả các biến và tất cả các vị trí phân chia có thể có trong mỗi biến. rpartcũng lưu trữ thông tin về các phân chia thay thế có thể được sử dụng khi thiếu dữ liệu trong các biến của bạn. Không giúp đỡ à?
Gavin Simpson

Nếu bạn có nghĩa là các phần tách là sự kết hợp của hai hoặc nhiều biến, thì không, rpartkhông xử lý trường hợp đó.
Gavin Simpson

1

Chia tách đa biến như được định nghĩa trong sách GIỎ HÀNG không được triển khai trong rpart. Gói phần mềm GIỎI từ Salford Systems có tính năng này, nhưng AFAIK sử dụng thuật toán độc quyền được cấp phép từ Breiman, Friedman et al.

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.