Usuwanie odległości Cooka w Pythonie

Usuwanie odległości Cooka w Pythonie
Odległość Cooka jest użytecznym podejściem do identyfikacji wartości odstających i wpływu każdej obserwacji na określony model regresji. Może pomóc w usunięciu wartości odstających i dochodzenie, w których punkty przyczyniają się do przewidywania zmiennych docelowych. Przyjrzymy się regresji, wartości odstającym i tym, jak odległość Cooka odgrywa rolę w opracowywaniu dobrego modelu regresji. Później wdrożymy również odległość Cooka w Python.

Co to jest regresja?

Analiza regresji jest narzędziem statystycznym do analizy związku między zmiennymi niezależnymi i zależnymi (można to również rozszerzyć na wiele różnych sposobów). Najbardziej typowym zastosowaniem analizy regresji jest prognozowanie lub przewidywanie, w jaki sposób zbiór warunków wpłynie na wynik. Załóżmy, że miałeś zestaw danych na temat uczniów szkół średnich, w tym ich wyniki GPA, płeć, wiek i SAT.

W takim przypadku możesz utworzyć podstawowy model regresji liniowej, a czynniki zależne to GPA, płeć, pochodzenie etniczne i wiek, a zmienne niezależne są wyniki SAT. Następnie, gdy masz model, możesz oszacować, co zdobędą nowa studenci na SAT na podstawie pozostałych czterech czynników, zakładając, że jest to dobre dopasowanie. Innym dobrym przykładem analizy regresji jest przewidywanie cen domów oparte na liczbie pokoi, obszaru i innych czynników.

Co rozumiemy przez regresję liniową?

Regresja liniowa jest najczęstszą, prostą, ale skuteczną techniką uczenia się nadzorowanego do przewidywania zmiennych ciągłych. Celem regresji liniowej jest ustalenie, w jaki sposób zmienna wejściowa (zmienna niezależna) wpływa na zmienną wyjściową (zmienna zależna). Poniżej znajdują się elementy regresji liniowej:

  1. Zmienna wejściowa jest zwykle ciągła
  2. Zmienna wyjściowa jest ciągła
  3. Założenia regresji liniowej.

Założenia regresji liniowej obejmują liniową zależność między zmiennymi wejściowymi i wyjściowymi, że błędy są normalnie rozmieszczone i że termin błędu jest niezależny od wejścia.

Czym jest odległość euklidesowa?

Najmniejsza odległość między dwoma określonymi obiektami w płaszczyźnie to odległość euklidesowa. Jeśli z dwóch określonych punktów wyciągnięty jest prawy trójkąt, równa się sumę kwadratów podstawy trójkąta i jego wysokość. Jest powszechnie stosowany w geometrii do różnych celów. Jest to rodzaj przestrzeni, w której linie, które zaczynają się równolegle, pozostają równoległe i zawsze znajdują się w tej samej odległości od siebie.

To bardzo przypomina przestrzeń, w której mieszkają ludzie. Wskazuje to, że odległość euklidesowa między dwoma obiektami jest taka sama, jak mówi ci zdrowy rozsądek. Twierdzenie Pitagorasa służy do obliczania go matematycznego. Odległość Manhattanu jest alternatywną miarą do określania odległości między dwoma miejscami.

Czym jest odległość na Manhattanie?

Odległość Manhattanu jest obliczana, gdzie płaszczyzna jest podzielony na bloki i nie można podróżować po przekątnej. W rezultacie Manhattan nie zawsze zapewnia najbardziej bezpośrednią trasę między dwoma punktami. Jeśli dwa punkty w płaszczyźnie to (x1, y1) i (x2, y2), odległość Manhattanu między nimi jest obliczana jako | x1-x2 | + | Y1-Y2 |. Jest to powszechnie stosowane w miastach, w których ulice są układane w blokach, i nie można przejść po przekątnej z jednego miejsca do drugiego.

Czym są wartości odstające?

Wartości odstające w zestawie danych to liczby lub punkty danych nienormalnie wysokie lub niskie w porównaniu z innymi punktami lub wartościami danych. Wartość odstająca to obserwacja, która odbiega od ogólnego wzoru próbki. Wartości odstające powinny zostać usunięte, ponieważ zmniejszają one dokładność modelu. Wartości odstające są zwykle wizualizowane za pomocą działek pudełkowych. Na przykład w klasie uczniów możemy oczekiwać, że będą mieli od 5 do 20. 50-letni uczeń w klasie byłby uważany za odstanie, ponieważ nie „należy” do regularnego trendu danych.

Wykreślenie danych (zazwyczaj z wykresem pudełkowym) jest prawdopodobnie najprostszą techniką, aby zobaczyć wszelkie wartości odstające w zestawie danych. Procesy statystyczne związane z kontrolą jakości mogą powiedzieć, jak daleko jesteś statystycznie (zgodnie z prawdopodobieństwem odchyleń standardowych i poziomów ufności). Należy jednak pamiętać, że wartości odstające jest tylko odstającą, jeśli masz wystarczającą ilość informacji o danych, aby wyjaśnić, dlaczego różni się od innych punktów danych, uzasadniając termin „odstarzona.”W przeciwnym razie dane muszą być traktowane jako przypadkowe zdarzenie. Powinny być przechowywane w zestawie danych - i musisz zaakceptować mniej pożądane (i.mi., mniej pożądane) ustalenia ze względu na włączenie punktu danych.

Jaka jest odległość Cooka?

Odległość Cooka w nauce danych służy do obliczenia wpływu każdego punktu danych jako modelu regresji. Przeprowadzenie analizy regresji najmniejszych kwadratów jest metodą identyfikacji wpływowych wartości odstających w zestawie zmiennych predykcyjnych. R. Dennis Cook, amerykański statystyk, powstał w tej koncepcji, dlatego nosi nazwę niego. W odległości Cooka wartości są porównywane, aby sprawdzić, czy usunięcie bieżącej obserwacji wpływa na model regresji. Im większy wpływ pewnego obserwacji na model, tym większa odległość tego obserwacji Cooka.
Matematycznie, odległość Cooka jest reprezentowana jako

Di = (di2 / c * m) * (hii / (1-HII) 2)

Gdzie:
DI jest ith punkt danych
C reprezentuje liczbę współczynników w danym modelu regresji
M jest średnim błędem kwadratowym, który służy do obliczenia odchylenia standardowego punktów za pomocą średniej
Hii jest ith wartość dźwigni.

Wnioski o odległość Cooka

  1. Prawdopodobne wartości odstające to punkt danych o odległości kucharza więcej niż trzykrotnie niż średnia.
  2. Jeśli istnieją n obserwacje, każdy punkt z odległością Cooka większy niż 4/n jest uważany za wpływowy.

Wdrażanie odległości Cooka w Pythonie

Czytanie danych
Przeczytamy tablicę 2-D, w której „x” reprezentuje zmienną niezależną, podczas gdy „y” reprezentuje zmienną zależną.

importować pandy jako PD
#Create DataFrame
df = pd.DataFrame ('x': [10, 20, 30, 40, 50, 60],
„Y”: [20, 30, 40, 50, 100, 70])

Tworzenie modelu regresji

Import Statsmodels.API jako SM
# przechowywanie wartości zależnych
Y = df ['y']
# Przechowywanie niezależnych wartości
X = df ['x']
X = SM.add_constant (x)
# Dopasuj model
Model = SM.OLS (y, x)
Model.pasować()

Oblicz odległość Cooka

importować Numpy jako NP
NP.set_printoptions (supress = true)
# Stwórz instancję wpływu
Wpływ = model.get_influence ()
# Zdobądź odległość Cooka dla każdej obserwacji
Cooks_distances = wpływ.Cooks_distance
# Drukuj odległości kucharza
Drukuj (Cooks_Distance)

Inna technika wykrywania wartości odstających

Zakres międzywartylowy (IQR)
Zakres międzykwartylowy (IQR) jest miarą dyspersji danych. Jest to szczególnie skuteczne w przypadku znacząco wypaczonych lub w inny sposób gotowych danych. Na przykład dane dotyczące pieniędzy (dochody, nieruchomości i samochodów, oszczędności i aktywach itd.) Są często wypaczone w prawo, przy czym większość obserwacji jest na niskim poziomie, a kilka rozproszonych na najwyższym poziomie. Jak wskazali inni, zakres międzykwartylowy koncentruje się na środkowej połowie danych, a jednocześnie lekceważyć ogony.

Wniosek

Przeszliśmy przez opis odległości Cooka, powiązane pojęcia, takie jak regresja, wartości odstające i sposób, w jaki możemy go wykorzystać, aby znaleźć wpływ każdej obserwacji w naszym zestawie danych. Odległość Cooka jest ważna dla zbadania wartości odstających i wpływu każdej obserwacji na model regresji. Później zaimplementowaliśmy również odległość Cooka za pomocą Pythona w modelu regresji.