Regresja logistyczna w R

Regresja logistyczna w R
W naukach danych i statystykach jest to model regresji, jeśli zmienna zależna wynika z wartości kategorycznych, takich jak True/False, tak/nie lub 0/1. Zwykle model regresji logistycznej jest dwumianowy. Można go jednak przedłużyć. Mierzy prawdopodobieństwo sukcesu lub porażki zdarzenia jako zmiennej zależnej, która opiera się na równaniu matematycznym. Równanie to wiąże zmienną zależną (zmienna odpowiedzi) z zmiennymi niezależnymi (predyktor).

Można powiedzieć, że regresja logistyczna jest uogólnioną formą regresji liniowej, ale główną różnicą jest przewidywany zakres wartości to (-∞, ∞), podczas gdy zakres przewidywanej wartości w regresji logistycznej wynosi (0,1). W tym poście dowiemy się o regresji logistycznej i jak wdrożyć ją w języku programowania R.

Po co używać regresji logistycznej

Po zrozumieniu związku między niezależnymi (zmiennymi predykcyjnymi) a zależnymi (zmienna odpowiedzi) często stosuje się regresję liniową. Gdy zmienna zależna jest kategoryczna, lepiej jest wybrać regresję logistyczną. Jest to jeden z najprostszych modeli, ale bardzo przydatny w różnych aplikacjach, ponieważ jest łatwy do interpretacji i szybkiego wdrażania.

W regresji logistycznej staramy się podzielić dane/obserwację w odrębnych klasach, co pokazuje, że regresja logistyczna jest algorytmem klasyfikacji. Regresja logistyczna może być przydatna w różnych aplikacjach, takich jak:

Możemy wykorzystać dokumentację kredytową i saldo bankowe klienta, aby przewidzieć, czy klient jest uprawniony do zaciągnięcia pożyczki z banku, czy nie (zmienna odpowiedzi będzie „kwalifikowalna” lub „nie kwalifikowalna. Możesz uzyskać dostęp z powyższego warunku, że zmienna odpowiedzi może mieć tylko dwie wartości. Podczas gdy w regresji liniowej zmienna zależna może przyjmować bardziej ciągłe wiele wartości.

Regresja logistyczna w R w Ubuntu 20.04

W r, gdy zmienna odpowiedzi jest binarna, najlepiej przewidzieć wartość zdarzenia, jest użycie modelu regresji logistycznej. Ten model wykorzystuje metodę, aby znaleźć następujące równanie:

Log [p (x) / (1-p (x))] = β0 + β1x1 + β2x2 +… + βpxp

XJ jest jth zmienną predykcyjną, a βJ jest oszacowaniem współczynnika dla XJ. Równanie jest używane przez model regresji logistycznej do obliczenia prawdopodobieństwa i generuje obserwację/wyjście wartości 1. Oznacza to wyjście z prawdopodobieństwem równym 0.5 lub więcej będzie uważane za wartość 1. Poza tym wszystkie wartości będą uważane za 0.

P (x) = Eβ0 + β1x1 + β2x2 +… + βpxp / (1 + Eβ0 + β1x1 + β2x2 +… + βpxp)

Poniższy przykład krok po kroku nauczy Cię, jak używać regresji logistycznej w R.

Krok 1: Załaduj dane dla modelu w R
Najpierw musimy załadować domyślny zestaw danych, aby zademonstrować użycie modelu. Ten zestaw danych składa się z 1000 obserwacji, jak pokazano poniżej.

W tych kolumnach zestawu danych domyślnie pokazuje, czy dana osoba jest domyślna. Uczeń pokazuje, czy dana osoba jest studentem. Równowaga pokazuje średni bilans jednostki. A dochód wskazuje na dochód jednostki. Aby zbudować model regresji Status, saldo bankowe i dochód zostaną wykorzystane do przewidywania prawdopodobieństwa osób, które są domyślne.

Krok 2: Trening i próbki testowe tworzenia
Podzielmy zestaw danych na zestaw testowy i zestaw szkoleniowy w celu przetestowania i wyszkolenia modelu.

70% danych służy do zestawu treningowego i 30% dla zestawu testowego.

Krok 3: Dopasowanie regresji logistycznej
W R, aby dopasować regresję logistyczną, musimy użyć funkcji GLM i ustawić rodzinę na dwumianowy.

W szanse logarytmi. Wartość p statusu ucznia wynosi 0.0843 Wartość b bilansu to <0.0000, P-value of income is 0.4304. These values are showing how effectively each independent variable is at predicting the likelihood of default.

W R, aby sprawdzić, jak dobrze nasz model logistyczny pasuje do danych McFaddena, używany jest R2 Metryka. Waha się od 0 do 1. Jeśli wartość jest blisko 0, wskazuje, że model nie jest dopasowany. Jednak wartości powyżej 0.40 jest uważane za model dopasowania. Funkcję PR2 można użyć do obliczenia R2 McFaddena.

Ponieważ powyższa wartość jest powyżej 0.472, wskazuje, że nasz model ma wysoką moc predykcyjną, a model jest dopasowany.

Znaczenie funkcji można również obliczyć za pomocą funkcji VARIMP. Wyższa wartość wskazuje, że znaczenie tej zmiennej będzie wyższe niż inne.

Krok 4: Użyj modelu regresji logistycznej, aby dokonać prognozowania
Po dopasowaniu modelu regresji nie możemy przewidzieć, czy dana osoba będzie niewykonana z różnych wartości bilansu, dochodu i statusu ucznia:

Jak widzimy, jeśli saldo wynosi 1400, dochód wynosi 2000 ze statusem studenta „tak” o 0.02732106 Prawdopodobieństwo niewykonania zobowiązania. Z drugiej strony osoba posiadająca te same parametry, ale status ucznia „nie” ma 0.0439 Prawdopodobieństwo niewykonania zobowiązania.

Aby obliczyć każdą osobę w naszym zbiorze danych, używany jest następujący kod.

przewidywane <- predict(model, test, type="response")

Krok 5: Diagnozowanie modelu regresji logistycznej:
W tym ostatnim kroku przeanalizujemy wydajność naszego modelu w testowej bazie danych. Domyślnie osoby posiadające prawdopodobieństwo większe niż 0.5 zostanie przewidziane „domyślne”. Jednak użycie OptimalCutoff () Funkcja zmaksymalizuje precyzję naszego modelu.

Jak widzimy powyżej, 0.5451712 to Optymalny odcięcie prawdopodobieństwa. Tak więc osoba posiadająca prawdopodobieństwo 0.5451712 bycia „domyślnym” lub większym będzie uważane za „domyślne”. Jednak osoba ma prawdopodobieństwo mniejsze niż 0.5451712 będzie uważane za „nie domyślne”

Wniosek

Po przejściu przez ten samouczek powinieneś zapoznać się z regresją logistyczną w języku programowania w Ubuntu 20.04. Będziesz także mógł zidentyfikować, kiedy powinieneś użyć tego modelu i dlaczego jest on ważny w przypadku wartości dwumianowych. Za pomocą kodów i równań zaimplementowaliśmy pięć etapów użycia regresji logistycznej w R z przykładami, aby szczegółowo ją wyjaśnić. Kroki te obejmują wszystko, od ładowania danych do R, szkolenie i testowanie zestawu danych, dopasowanie modelu i prognozowanie do diagnostyki modelu.