Kiedy usunąć skorelowane zmienne

Odpowiedzi:

8

Nie chcesz usuwać wszystkich skorelowanych zmiennych. Tylko wtedy, gdy korelacja jest tak silna, że ​​nie przekazują dodatkowych informacji. Jest to zarówno funkcja siły korelacji, ilości danych, jak i tego, czy w ogóle jakaś niewielka różnica między skorelowanymi zmiennymi mówi coś o wyniku.

Pierwsze dwa, które możesz powiedzieć, zanim zrobisz jakiś model, ostatni nie. Dlatego może być bardzo rozsądne usunięcie zmiennych w oparciu o kombinację dwóch pierwszych czynników (tj. Nawet jeśli dodatkowe zmienne mogą w zasadzie zawierać przydatne informacje, nie byłbyś w stanie stwierdzić, biorąc pod uwagę siłę korelacji i ilość danych masz) przed wykonaniem jakiegokolwiek modelowania / inżynierii funkcji. Ostatnią kwestię można naprawdę ocenić dopiero po wykonaniu pewnego modelowania.

Björn
źródło
2

Dziwne, że nikt inny nie wspomniał o interpretacji .

Jeśli chodzi tylko o wydajność , nie ma sensu usuwanie dwóch skorelowanych zmiennych, chyba że korelacja = 1 lub -1, w którym to przypadku jedna ze zmiennych jest zbędna.

Jeśli jednak obawia się interpretowalności, sensowne może być usunięcie jednej ze zmiennych, nawet jeśli korelacja jest łagodna. Jest to szczególnie prawdziwe w przypadku modeli liniowych. Jednym z założeń regresji liniowej jest brak doskonałej wielokoliniowości w predyktorach.

Jeśli A jest skorelowane z B, to nie możesz interpretować współczynników ani A, ani B. Aby zrozumieć dlaczego, wyobraź sobie skrajny przypadek, gdy A = B (idealna korelacja). Następnie model y = 100 * A + 50 * B jest taki sam jak model y = 5 * A + 10 * B lub y = -2000 * A + 4000 * B. W możliwych rozwiązaniach problemu najmniejszej kwadratowej minimalizacji istnieje wiele równowagi, dlatego też nie można „zaufać”.

Podobne rzeczy mogą się zdarzyć w przypadku innych modeli. Na przykład, jeśli A jest bardzo skorelowane z B, to jeśli drzewo decyzyjne wybiera A dwukrotnie razy B, to nie możesz powiedzieć, że A jest ważniejsze niż B. Jeśli przekwalifikujesz model, mogłoby się zdarzyć odwrotnie.

Ricardo Cruz
źródło
2

Należy rozważyć sprawdzenie VIF (Variance Inflation Factor). Spróbuj usunąć funkcje z wyższym VIF. Ogólnie korzystne jest, aby VIF był poniżej 10.

Siddhi Kiran Bajracharya
źródło
Jest to dość podobne do mojej odpowiedzi w datascience.stackexchange.com/questions/36634/...
Siddhi Kiran Bajracharya
1

To nie ma znaczenia Ale dla wydajności przed inżynierią funkcji.

Mohit Motwani
źródło
1

Określ kowariancję i wykonaj początkową pracę z najwyższym zestawem.

Richard Careaga
źródło