Uruchomiłem model regresji OLS na zestawie danych z 5 niezależnymi zmiennymi. Zmienne niezależne i zmienne zależne są ciągłe i są liniowo powiązane. Kwadrat R wynosi około 99,3%. Ale kiedy uruchamiam to samo przy użyciu losowego lasu w R, mój wynik to „% Var wyjaśnił: 88.42”. Dlaczego losowy wynik lasu byłby tak gorszy od regresji? Zakładałem, że losowy las będzie co najmniej tak dobry jak regresja OLS.
r
regression
random-forest
użytkownik 28906
źródło
źródło
Odpowiedzi:
Nie wiem dokładnie, co zrobiłeś, więc twój kod źródłowy pomógłby mi zgadnąć mniej.
Wiele losowych lasów to zasadniczo okna, w których zakłada się, że średnia reprezentuje system. Jest to zbyt wysławione drzewo CAR.
Powiedzmy, że masz dwuskrzydłowe drzewo CAR. Twoje dane zostaną podzielone na dwa stosy. (Stała) wydajność każdego stosu będzie jego średnią.
Teraz zróbmy to 1000 razy z losowymi podzbiorami danych. Nadal będziesz mieć nieciągłe regiony z wyjściami, które są średnimi. Zwycięzca w RF jest najczęstszym wynikiem. To tylko „Fuzzies” granicę między kategoriami.
Przykład częściowej liniowej wydajności drzewa CART:
Powiedzmy na przykład, że naszą funkcją jest y = 0,5 * x + 2. Fabuła tego wygląda następująco:
Gdybyśmy modelowali to przy użyciu pojedynczego drzewa klasyfikacyjnego z tylko dwoma liśćmi, wówczas najpierw znajdowalibyśmy punkt najlepszego podziału, podzielony w tym punkcie, a następnie aproksymowaliśmy wynik funkcji na każdym liściu jako średnią wydajność na liściu.
Gdybyśmy zrobili to ponownie z większą liczbą liści na drzewie KOSZYKA, moglibyśmy uzyskać następujące informacje:
Dlaczego lasy CAR?
Widać, że w granicy nieskończonych liści drzewo CART byłoby akceptowalnym przybliżeniem.
Problem polega na tym, że prawdziwy świat jest hałaśliwy. Lubimy myśleć w środkach, ale świat lubi zarówno tendencję centralną (średnią), jak i tendencję wariacyjną (std dev). Jest hałas
To samo, co nadaje drzewku CAR jego wielką siłę, jego zdolność do radzenia sobie z nieciągłością, czyni go podatnym na szum modelowania, jakby był sygnałem.
Więc Leo Breimann przedstawił prostą, ale potężną propozycję: użyj metod Ensemble, aby drzewa drzew klasyfikacji i regresji były odporne. Bierze losowe podzbiory (kuzyn resamplingu bootstrapu) i wykorzystuje je do trenowania lasu drzew CAR. Kiedy zadajesz pytanie dotyczące lasu, cały las mówi, a za wynik przyjmuje się najczęstszą odpowiedź. Jeśli masz do czynienia z danymi liczbowymi, warto spojrzeć na oczekiwanie jako wynik.
W przypadku drugiego wątku pomyśl o modelowaniu przy użyciu losowego lasu. Każde drzewo będzie miało losowy podzbiór danych. Oznacza to, że położenie „najlepszego” punktu podziału będzie się różnić w zależności od drzewa. Jeśli miałbyś sporządzić wykres wyjściowy losowego lasu, gdy zbliżasz się do nieciągłości, kilka pierwszych gałęzi wskaże skok, a następnie wiele. Średnia wartość w tym regionie przemierzy gładką ścieżkę sigmoidalną. Bootstrapping jest konwekcyjny z gaussowskim, a rozmycie gaussowskie w tej funkcji kroku staje się sigmoidalne.
Dolne linie:
Potrzebujesz dużo gałęzi na drzewo, aby uzyskać dobre przybliżenie do bardzo liniowej funkcji.
Istnieje wiele „pokręteł”, które można zmienić, aby wpłynąć na odpowiedź, i jest mało prawdopodobne, aby ustawić je wszystkie na właściwe wartości.
Referencje:
źródło
Zauważam, że to stare pytanie, ale myślę, że należy dodać więcej. Jak powiedział @Manoel Galdino w komentarzach, zwykle interesują Cię prognozy dotyczące niewidocznych danych. Ale to pytanie dotyczy wydajności danych treningowych, a pytanie brzmi, dlaczego losowy las źle radzi sobie z danymi treningowymi ? Odpowiedź podkreśla interesujący problem z workami z klasyfikatorami, który często sprawiał mi kłopoty: regresja do średniej.
Problem polega na tym, że spakowane klasyfikatory, takie jak losowy las, które są tworzone przez pobieranie próbek bootstrap z twojego zestawu danych, mają tendencję do słabego działania w skrajności. Ponieważ ekstremalnie nie ma zbyt wielu danych, mają one tendencję do wygładzania.
Bardziej szczegółowo, przypomnij sobie, że losowy las regresji uśrednia prognozy dużej liczby klasyfikatorów. Jeśli masz jeden punkt, który jest daleki od innych, wielu klasyfikatorów go nie zobaczy, a oni zasadniczo dokonają prognozy na podstawie próby, co może nie być bardzo dobre. W rzeczywistości te prognozy poza próbą będą miały tendencję do przyciągania prognozy dla punktu danych w kierunku ogólnej średniej.
Jeśli użyjesz jednego drzewa decyzyjnego, nie będziesz miał tego samego problemu z wartościami ekstremalnymi, ale dopasowana regresja również nie będzie bardzo liniowa.
Oto ilustracja w R. Generowane są niektóre dane, w których
y
jest to idealna kombinacja liniowa pięciux
zmiennych. Następnie dokonywane są prognozy za pomocą modelu liniowego i losowego lasu. Następnie wartościy
danych treningowych są wykreślane względem prognoz. Widać wyraźnie, że losowy las radzi sobie wyjątkowo w skrajności, ponieważ punkty danych o bardzo dużych lub bardzo małych wartościachy
są rzadkie.Ten sam wzorzec dla prognoz na niewidzialnych danych zobaczysz, gdy do regresji zostaną użyte losowe lasy. Nie jestem pewien, jak tego uniknąć.
randomForest
Funkcja w R ma surowy Odchylenie opcję korekcjicorr.bias
który używa regresji liniowej na ukos, ale to naprawdę nie działa.Sugestie są mile widziane!
źródło
Losowy las próbuje znaleźć lokalizacje wśród wielu funkcji i wielu punktów danych. Dzieli funkcje i nadaje je różnym drzewom, ponieważ masz małą liczbę funkcji, ogólny wynik nie jest tak dobry jak regresja logistyczna. Losowy las może obsługiwać zmienne liczbowe i kategoryczne, ale nie radzi sobie z brakującymi wartościami.
źródło
Myślę, że Random Forest (RF) jest dobrym narzędziem, gdy funkcjonalna forma relacji między Xs i y jest skomplikowana (z powodu relacji nieliniowych i efektu interakcji). RF kategoryzuje X na podstawie najlepszego punktu odcięcia (pod względem minimalnego SSE) i nie stosuje informacji badacza o funkcjonalnej formie związku. Z drugiej strony regresja OLS korzysta z tych informacji. W swoim przykładzie wiesz, jaki jest dokładnie rodzaj relacji między Xs i y, i wykorzystujesz wszystkie te informacje w swoim modelu regresji, ale RF nie używają tych informacji.
źródło
Zasadniczo Regresja działa dobrze na zmiennych ciągłych, a Losowy Las na zmiennych dyskretnych.
Musisz podać więcej szczegółów na temat problemu i charakteru zmiennych, aby być bardziej szczegółowym ...
źródło