Jak należy sobie radzić z wartościami odstającymi w analizie regresji liniowej?

73

Często analityk statystyczny otrzymuje zestaw danych i jest proszony o dopasowanie modelu przy użyciu techniki takiej jak regresja liniowa. Bardzo często do zestawu danych dołączone jest oświadczenie podobne do „Och tak, pomieszaliśmy zbieranie niektórych z tych punktów danych - rób co możesz”.

Ta sytuacja prowadzi do dopasowań regresyjnych, na które duży wpływ ma obecność wartości odstających, które mogą być błędnymi danymi. Biorąc pod uwagę następujące kwestie:

  • Zarówno z naukowego, jak i moralnego punktu widzenia, niebezpieczne jest wyrzucanie danych bez żadnego innego powodu niż to, że „sprawia, że ​​dopasowanie wygląda źle”.

  • W rzeczywistości ludzie, którzy zbierali dane, często nie są dostępni, aby odpowiedzieć na pytania typu „podczas generowania tego zestawu danych, który z punktów popełniłeś błąd?”.

Jakie testy statystyczne lub praktyczne zasady można zastosować jako podstawę do wykluczenia wartości odstających w analizie regresji liniowej?

Czy są jakieś specjalne względy dotyczące regresji wieloliniowej?

Sharpie
źródło
Powiązane: możliwy duplikat tego: stats.stackexchange.com/questions/37865/… | R howto: stats.stackexchange.com/questions/53227/...
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

33

Zamiast wykluczać wartości odstające, możesz zastosować solidną metodę regresji. Na przykład w R zamiast funkcji można użyć rlm()funkcji z pakietu MASSlm() . Metodę szacowania można dostosować tak, aby była mniej lub bardziej odporna na wartości odstające.

Rob Hyndman
źródło
Jeśli używasz funkcji rlm (), widzę współczynniki i ich testy t są generowane. Ale jak mogę stąd pobrać test F, wartości R-kwadrat? Podejrzewam, że nie mogę po prostu pobrać tych testów f i wartości R kwadrat z prostych wyników podsumowania „lm”, jeśli mam rację.
Eric
1
W przypadku silnej regresji założenia dla testu F nie są już spełnione, a R ^ 2 można zdefiniować na kilka sposobów, które nie są już równoważne. Zobacz stats.idre.ucla.edu/stata/faq/…, aby uzyskać dyskusję na ten temat dla Staty.
Rob Hyndman,
Zobacz także stats.stackexchange.com/a/68367/159
Rob Hyndman
Ale znajduję polecenie o nazwie f.robftest z pakietu sfsmisc, które podaje wynik testu F. Czy mogę użyć tego wyniku do zdefiniowania statystyki testu f dla rlm? Wydaje się również, że otrzymuję kwadrat R po prostu wprowadzając wartości do wzoru matematycznego R kwadrat, np. 1 - suma (reszty (rlm (y ~ x)) ^ 2) / suma ((y-średnia (y)) ^ 2) . Aby wartości testu t sprawdzały istotność współczynników, otrzymuję wartości testu t z podsumowania (rlm (y ~ x)), które porównuję z wartościami t z 95% poziomów ufności. Czy mogę skorzystać z tych metod?
Eric
22

Czasami wartości odstające są złymi danymi i należy je wykluczyć, np. Literówki. Czasami są Wayne Gretzky lub Michael Jordan i należy je zachować.

Metody wykrywania wartości odstających obejmują:

Univariate -> boxplot. poza 1,5-krotnym zakresem międzykwartylowym jest wartością odstającą.

Dwuwymiarowa -> wykres rozproszenia z elipsą pewności. poza, powiedzmy, 95% elipsa pewności jest wartością odstającą.

Wielowymiarowy -> Odległość Mahalanobis D2

Oznacz te obserwacje jako wartości odstające.

Uruchom regresję logistyczną (na Y = IsOutlier), aby sprawdzić, czy istnieją jakieś systematyczne wzorce.

Usuń te, które możesz wykazać, że nie są reprezentatywne dla żadnej subpopulacji.

Neil McGuigan
źródło
A jeśli nadal masz wartości odstające, rozważ użycie innego modelu niż liniowy. Na przykład, jeśli użyjesz modelu o zachowaniu podobnym do prawa władzy, Michael Jordan nie będzie już wartością odstającą (jeśli chodzi o zdolność modeli do przystosowania go).
drevicko,
1
Zgadzam się z większością tego, co tu powiedziano, ale chciałbym dodać dodatkową ostrożność, że „ poza 1,5-krotnym przedziałem międzykwartylowym jest wartością odstającą ” jest konwencją , a nie regułą mającą jakiekolwiek podstawy teoretyczne. Nie należy go traktować jako uzasadnienia wyłączenia punktów danych.
mkt
20

Myślę, że jest coś, co można powiedzieć o wykluczeniu wartości odstających. Linia regresji ma podsumowywać dane. Z powodu dźwigni możesz mieć sytuację, w której 1% twoich punktów danych wpływa na nachylenie o 50%.

Jest to niebezpieczne tylko z moralnego i naukowego punktu widzenia, jeśli nie powiesz nikomu, że wykluczyłeś wartości odstające. Dopóki je wskażesz, możesz powiedzieć:

„Ta linia regresji pasuje całkiem dobrze do większości danych. 1% czasu pojawia się wartość, która nie pasuje do tego trendu, ale hej, to szalony świat, żaden system nie jest idealny”

Chris Beeley
źródło
1
„hej, to szalony świat, żaden system nie jest idealny” +1 do tego, mój przyjacielu! :)
bartektartanus
1
Zastanów się jednak nad innymi modelami. Świat pełen usuniętych „wartości odstających”, które były prawdziwymi danymi, powodując, że nie udało się przewidzieć czegoś naprawdę ważnego. Wiele naturalnych procesów zachowuje się jak prawo władzy z rzadkimi ekstremalnymi zdarzeniami. Modele liniowe mogą wydawać się pasować do takich danych (choć niezbyt dobrze), ale użycie jednego z nich i usunięcie „wartości odstających” oznacza pominięcie tych ekstremalnych zdarzeń, o których zwykle należy wiedzieć!
drevicko,
10

Sharpie,

Biorąc twoje pytanie dosłownie, argumentowałbym, że nie ma żadnych testów statystycznych, a zasady kciuka mogą być wykorzystane jako podstawa do wykluczenia wartości odstających w analizie regresji liniowej (w przeciwieństwie do ustalenia, czy dana obserwacja jest wartością odstającą). Musi to pochodzić z wiedzy przedmiotowej.

Myślę, że najlepszym sposobem na rozpoczęcie jest pytanie, czy wartości odstające mają sens, zwłaszcza biorąc pod uwagę inne zebrane zmienne. Na przykład, czy naprawdę uzasadnione jest posiadanie kobiety ważącej 600 funtów, która rekrutowała się z różnych klinik kontuzji sportowych? Czy też nie jest dziwne, że osoba ma 55 lat lub doświadczenie zawodowe, gdy ma zaledwie 60 lat? I tak dalej. Mamy nadzieję, że masz uzasadnione podstawy do ich wyrzucenia lub zmuszenia kompilatorów danych do dwukrotnego sprawdzenia zapisów.

Sugerowałbym również solidne metody regresji i przejrzyste zgłaszanie porzuconych obserwacji, jak sugerowali odpowiednio Rob i Chris.

Mam nadzieję, że to pomaga, Brenden

Brenden
źródło
5

Istnieją dwie statystyczne miary odległości, które są specjalnie dostosowane do wykrywania wartości odstających, a następnie rozważenia, czy takie wartości odstające powinny zostać usunięte z regresji liniowej.

Pierwszy to odległość Cooka. Całkiem dobre wyjaśnienie można znaleźć na Wikipedii: http://en.wikipedia.org/wiki/Cook%27s_distance .

Im większa odległość Cooka, tym bardziej wpływowa (wpływ na współczynnik regresji) jest obserwacja. Typowym punktem odcięcia dla rozważenia usunięcia obserwacji jest odległość Cooka = 4 / n (n to wielkość próbki).

Drugi to DFFITS, który jest również dobrze opisany w Wikipedii: http://en.wikipedia.org/wiki/DFFITS . Typowym punktem odcięcia dla rozważenia usunięcia obserwacji jest wartość DFFITS 2 razy sqrt (k / n), gdzie k jest liczbą zmiennych, a n jest wielkością próby.

Oba pomiary zwykle dają podobne wyniki, co prowadzi do podobnego wyboru obserwacji.

Sympa
źródło
3

Syf na wejściu, syf na wyjściu....

Uzyskiwanie pełnej korzyści regresji liniowej polega na tym, że hałas ma rozkład normalny. Najlepiej, jeśli masz głównie dane i trochę szumu ... nie przeważnie szum i trochę danych. Możesz sprawdzić normalność reszt po dopasowaniu liniowym, patrząc na resztki. Możesz także filtrować dane wejściowe przed dopasowaniem liniowym, aby uzyskać oczywiste, rażące błędy.

Oto niektóre rodzaje szumów w wejściowych danych śmieci, które zwykle nie pasują do normalnej dystrybucji:

  • Brakujące cyfry lub dodane z danymi wprowadzonymi ręcznie (wyłączone 10 lub więcej razy)
  • Niepoprawne lub niepoprawnie przeliczone jednostki (gramy vs kilogramy vs funty; metry, stopy, mile, km), być może z połączenia wielu zestawów danych (Uwaga: Uważano, że w ten sposób utracono orbitę Marsa, więc nawet naukowcy rakietowi NASA mogą to zrobić błąd)
  • Użycie kodów takich jak 0, -1, -99999 lub 99999 oznacza coś nieliczbowego, np. „Nie dotyczy” lub „kolumna niedostępna” i po prostu zrzucając to do modelu liniowego wraz z prawidłowymi danymi

Napisanie specyfikacji dla „prawidłowych danych” dla każdej kolumny może pomóc w oznaczeniu nieprawidłowych danych. Na przykład wzrost osoby w cm powinien mieścić się w zakresie, powiedzmy, 100–300 cm. Jeśli znajdziesz 1.8 dla wysokości, która jest literówką, i chociaż możesz założyć, że wynosiła ona 1,8 m i zmieniła ją na 180 - powiedziałbym, że bezpieczniej jest ją wyrzucić i najlepiej udokumentować jak najwięcej filtrowania.

Paweł
źródło
1

W przypadku regresji liniowej można użyć powtarzanego dopasowania środkowej linii prostej.

czytnik babelproofreader
źródło
0

Testy statystyczne stosowane jako podstawa do wykluczenia: - znormalizowane wartości resztkowe - statystyki dźwigni - Odległość Cooka, która jest kombinacją dwóch powyższych.

Z doświadczenia wynika, że ​​wykluczenie powinno ograniczać się do przypadków nieprawidłowego wprowadzenia danych. Ponowne ważenie wartości odstających w modelu regresji liniowej jest bardzo dobrą metodą kompromisową. Zastosowanie tego w R jest oferowane przez Rob. Świetny przykład znajduje się tutaj: http://www.ats.ucla.edu/stat/r/dae/rreg.htm

Jeśli wykluczenie jest konieczne, „jedna zasada” odnosi się do statystyk Dfbeta (miary zmieniają szacunek po usunięciu wartości odstającej), tak że jeśli wartość bezwzględna statystyki DfBeta przekracza 2 / sqrt (n), to uzasadnia usunięcie wartość odstająca.

mkrasmus
źródło