Rừng ngẫu nhiên và hồi quy


21

Tôi đã chạy một mô hình hồi quy OLS trên tập dữ liệu với 5 biến độc lập. Các biến độc lập và biến phụ thuộc đều liên tục và liên quan tuyến tính. Quảng trường R là khoảng 99,3%. Nhưng khi tôi chạy tương tự bằng cách sử dụng rừng ngẫu nhiên trong R, kết quả của tôi là '% Var đã giải thích: 88,42'. Tại sao kết quả rừng ngẫu nhiên sẽ kém hơn hồi quy? Giả định của tôi là rừng ngẫu nhiên ít nhất sẽ tốt như hồi quy OLS.


4
Nếu mục tiêu của bạn là dự đoán, bình phương R cao hơn có thể là do quá mức. Hãy thử so sánh các dự đoán RN với các dự đoán Hồi quy bằng cách sử dụng xác thực chéo.
Manoel Galdino

Câu trả lời:


27

Tôi không biết chính xác những gì bạn đã làm, vì vậy mã nguồn của bạn sẽ giúp tôi đoán ít hơn.

Nhiều khu rừng ngẫu nhiên về cơ bản là các cửa sổ trong đó mức trung bình được giả sử là đại diện cho hệ thống. Nó là một cây CAR được tôn vinh quá mức.

Hãy nói rằng bạn có một cây CAR hai lá. Dữ liệu của bạn sẽ được chia thành hai đống. Sản lượng (không đổi) của mỗi cọc sẽ là trung bình của nó.

Bây giờ cho phép thực hiện 1000 lần với các tập hợp con ngẫu nhiên của dữ liệu. Bạn vẫn sẽ có các vùng không liên tục với đầu ra là trung bình. Người chiến thắng trong một RF là kết quả thường xuyên nhất. Điều đó chỉ "Fuzzies" biên giới giữa các loại.

Ví dụ về đầu ra tuyến tính piecewise của cây GIỎI:

Ví dụ, giả sử rằng hàm của chúng ta là y = 0,5 * x + 2. Một cốt truyện trông giống như sau: Hình 1

Nếu chúng ta mô hình hóa điều này bằng cách sử dụng một cây phân loại duy nhất chỉ có hai lá thì trước tiên chúng ta sẽ tìm thấy điểm phân tách tốt nhất, phân tách tại điểm đó và sau đó xấp xỉ đầu ra hàm ở mỗi lá là đầu ra trung bình trên lá.

cốt truyện với GIỎI tầm thường

Nếu chúng ta làm điều này một lần nữa với nhiều lá hơn trên cây GIỎI thì chúng ta có thể nhận được những điều sau: nhập mô tả hình ảnh ở đây

Tại sao CAR-rừng?

Bạn có thể thấy rằng, trong giới hạn của lá vô hạn, cây GIỎI sẽ là một xấp xỉ chấp nhận được.

Vấn đề là thế giới thực ồn ào. Chúng tôi thích nghĩ theo nghĩa, nhưng thế giới thích cả xu hướng trung tâm (trung bình) và xu hướng biến đổi (std dev). Có tiếng ồn.

Điều tương tự mang lại cho cây CAR sức mạnh tuyệt vời của nó, khả năng xử lý gián đoạn, khiến nó dễ bị mô hình hóa tiếng ồn như thể đó là tín hiệu.

Vì vậy, Leo Breimann đã đưa ra một đề xuất đơn giản nhưng mạnh mẽ: sử dụng các phương pháp của Bộ đồng phục để làm cho các cây Phân loại và Hồi quy trở nên mạnh mẽ. Anh ta lấy các tập con ngẫu nhiên (một người anh em của việc tái định hình bootstrap) và sử dụng chúng để huấn luyện một rừng cây CAR. Khi bạn hỏi một câu hỏi về khu rừng, toàn bộ khu rừng lên tiếng và câu trả lời phổ biến nhất được lấy làm đầu ra. Nếu bạn đang xử lý dữ liệu số, có thể hữu ích khi xem kỳ vọng là đầu ra.

Vì vậy, đối với cốt truyện thứ hai, hãy nghĩ về việc mô hình hóa bằng cách sử dụng một khu rừng ngẫu nhiên. Mỗi cây sẽ có một tập hợp con ngẫu nhiên của dữ liệu. Điều đó có nghĩa là vị trí của điểm phân chia "tốt nhất" sẽ thay đổi từ cây này sang cây khác. Nếu bạn thực hiện một âm mưu đầu ra của khu rừng ngẫu nhiên, khi bạn tiếp cận sự gián đoạn, một vài nhánh đầu tiên sẽ chỉ ra một bước nhảy, sau đó nhiều. Giá trị trung bình trong vùng đó sẽ đi qua một đường sigmoid trơn tru. Bootstrapping đang kết hợp với một Gaussian và mờ Gaussian trên chức năng bước đó trở thành một sigmoid.

Dòng dưới cùng:

Bạn cần rất nhiều nhánh trên mỗi cây để có được một xấp xỉ tốt cho một hàm rất tuyến tính.

Có nhiều "quay số" mà bạn có thể thay đổi để tác động đến câu trả lời và không chắc là bạn đã đặt tất cả chúng thành các giá trị phù hợp.

Tài liệu tham khảo:


Không phải là hồi quy rừng RANDOM được thực hiện với các hàm hằng số, rõ ràng là không phù hợp với dữ liệu liên quan tuyến tính?
seanv507

Tôi nghĩ rằng chúng ta đang nói điều tương tự. Hằng số nào được sử dụng? đúng.
EngrStudent - Phục hồi Monica

Nếu tôi nghĩ rằng chúng tôi đã nói điều tương tự tôi sẽ đặt nó như là một nhận xét. Tôi không hiểu câu trả lời của bạn. Câu trả lời của tôi giải thích rằng dữ liệu của OP là tuyến tính và rất phù hợp bởi hàm hằng số piecewise.
seanv507

@ seanv507 Lợi ích của RF là nhiều cây, phù hợp với (các tập hợp con ngẫu nhiên của) các phiên bản nhiễu của dữ liệu, tính trung bình các điểm không liên tục. Kết quả là một xấp xỉ tốt hơn với đường trơn bên dưới so với những gì một cây sẽ tạo ra.
Hồng Ooi

Nó chủ yếu là bootstrap thay đổi kích thước trên cây hồi quy. Một trong những điều mà tôi không thích về bootstrap là phân phối thống nhất được tính là thông tin trước. Không phải là trường hợp lý tưởng trước đây không có thông tin?
EngrStudent - Phục hồi Monica

7

Tôi nhận thấy rằng đây là một câu hỏi cũ, nhưng tôi nghĩ nên thêm nhiều hơn nữa. Như @Manoel Galdino đã nói trong các bình luận, thông thường bạn quan tâm đến các dự đoán về dữ liệu không nhìn thấy. Nhưng câu hỏi này là về hiệu suất trên dữ liệu đào tạo và câu hỏi là tại sao rừng ngẫu nhiên thực hiện kém trên dữ liệu đào tạo ? Câu trả lời nêu bật một vấn đề thú vị với các bộ phân loại đóng gói thường gây rắc rối cho tôi: hồi quy trung bình.

Vấn đề là các trình phân loại được đóng gói như rừng ngẫu nhiên, được tạo bằng cách lấy các mẫu bootstrap từ tập dữ liệu của bạn, có xu hướng hoạt động kém ở các thái cực. Bởi vì không có nhiều dữ liệu trong các thái cực, chúng có xu hướng được làm mịn.

Chi tiết hơn, nhớ lại rằng một khu rừng ngẫu nhiên để hồi quy trung bình dự đoán của một số lượng lớn các phân loại. Nếu bạn có một điểm khác xa so với các điểm khác, nhiều phân loại sẽ không nhìn thấy điểm đó và về cơ bản chúng sẽ đưa ra dự đoán ngoài mẫu, có thể không tốt lắm. Trên thực tế, những dự đoán ngoài mẫu này sẽ có xu hướng kéo dự đoán cho điểm dữ liệu về phía trung bình tổng thể.

Nếu bạn sử dụng một cây quyết định duy nhất, bạn sẽ không gặp vấn đề tương tự với các giá trị cực trị, nhưng hồi quy được trang bị cũng sẽ không tuyến tính.

Dưới đây là một minh họa trong R. Một số dữ liệu được tạo ra trong đó ylà sự kết hợp hoàn hảo của năm xbiến. Sau đó, dự đoán được thực hiện với một mô hình tuyến tính và một khu rừng ngẫu nhiên. Sau đó, các giá trị ytrên dữ liệu đào tạo được vẽ dựa trên dự đoán. Bạn có thể thấy rõ rằng rừng ngẫu nhiên đang hoạt động kém ở các thái cực vì các điểm dữ liệu có giá trị rất lớn hoặc rất nhỏ ylà rất hiếm.

Bạn sẽ thấy mô hình tương tự cho các dự đoán về dữ liệu chưa thấy khi các khu rừng ngẫu nhiên được sử dụng để hồi quy. Tôi không chắc chắn làm thế nào để tránh nó. Các randomForestchức năng trong R có một lựa chọn hiệu chỉnh sai lệch thô corr.biastrong đó sử dụng hồi quy tuyến tính trên thiên vị, nhưng nó không thực sự làm việc.

Đề nghị được chào đón!

beta <- runif(5)
x <- matrix(rnorm(500), nc=5)
y <- drop(x %*% beta)
dat <- data.frame(y=y, x1=x[,1], x2=x[,2], x3=x[,3], x4=x[,4], x5=x[,5])
model1 <- lm(y~., data=dat)
model2 <- randomForest(y ~., data=dat)
pred1 <- predict(model1 ,dat)
pred2 <- predict(model2 ,dat)
plot(y, pred1)
points(y, pred2, col="blue")

nhập mô tả hình ảnh ở đây


Tôi đồng ý với quan sát của bạn, nhưng tôi đã trở thành một người hâm mộ hồi quy RF đối với giá trị trung bình ở các khu vực có ít điểm dữ liệu. Chà, nếu người ta rất chắc chắn tìm thấy một cấu trúc tuyến tính tổng thể đẹp cho đến đường biên của tập huấn luyện chỉ được hỗ trợ bởi một vài điểm dữ liệu, thì chỉ cần thực hiện chỉnh sửa tuyến tính và yêu cầu RF xử lý các phần dư.
Soren Havelund Welling

2
Cảm ơn các bình luận! Tôi đã có một trải nghiệm khó chịu trong đó nó đã đưa ra những dự đoán rất tồi tệ và khiến tôi trông thật tệ. Nhưng có lẽ không có cách nào để có được dự đoán chính xác hơn cho các điểm biên giới mà không làm tăng phương sai.
Flounderer

Một nhận xét bổ sung nhiều năm sau đó, tôi nhận thấy rằng RF có xu hướng hoạt động kém ở bất kỳ nơi nào có một khoảng cách nhỏ trong dữ liệu. Tất nhiên, thường có ít dữ liệu hơn ở các cực trị của tập dữ liệu, nhưng thỉnh thoảng bạn có thể kết thúc với một khoảng trống ngay chính giữa. RF có thể tạo ra một mớ hỗn độn của một tập dữ liệu với bất kỳ khoảng trống nào trong đó.
SeldomSeenSlim

2

Rừng ngẫu nhiên cố gắng tìm các địa phương trong số rất nhiều tính năng và rất nhiều điểm dữ liệu. Nó phân tách các tính năng và cung cấp chúng cho các cây khác nhau, vì bạn có số lượng tính năng thấp, kết quả tổng thể không tốt bằng hồi quy logistic. Rừng ngẫu nhiên có thể xử lý các biến số và phân loại nhưng không tốt trong việc xử lý các giá trị bị thiếu.


0

Tôi nghĩ rằng Rừng ngẫu nhiên (RF) là một công cụ tốt khi hình thức chức năng của mối quan hệ giữa Xs và y rất phức tạp (vì mối quan hệ phi tuyến tính và hiệu ứng tương tác). RF phân loại X dựa trên điểm cắt tốt nhất (tính theo SSE tối thiểu) và không áp dụng thông tin của nhà nghiên cứu về hình thức quan hệ chức năng. Mặt khác, hồi quy OLS sử dụng thông tin này. Trong ví dụ của bạn, bạn biết chính xác loại mối quan hệ giữa X và y và sử dụng tất cả thông tin này trong mô hình hồi quy của bạn nhưng RF không sử dụng thông tin này.


-2

Đối với những điều cơ bản, Regression thực hiện tốt các biến liên tục và Rừng ngẫu nhiên trên các biến rời rạc.

Bạn cần cung cấp thêm chi tiết về vấn đề và về bản chất của các biến để cụ thể hơn ...


Tất cả các biến số lợi nhuận hàng ngày của cổ phiếu (chuỗi thời gian tài chính) ...
user28906

3
"Hồi quy thực hiện tốt trên các biến liên tục và Rừng ngẫu nhiên trên các biến rời rạc.": Nói chung điều này không đúng. Có sự khác biệt trong suy luận và dự đoán, và thậm chí với dự đoán, có những trường hợp khi hồi quy sẽ được ưu tiên hơn RF.
AdamO
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.