Stosowana, gdy mamy do czynienia ze zmiennymi typu dychotomicznego. Przyjmuje dwie wartości, np. 1-tak (zdarzenia pożądane) / 2-nie.

Model regresji logistycznej oparty jest o funkcję logistyczną postaci:

Funkcja logistyczna przyjmuje wartości od 0 (gdy x dąży do minus nieskończoności) do 1 (gdy x zmierza do plus nieskończoności):

Warunkiem zastosowania regresji logistycznej jest odpowiednio duża próba, co w tym przypadku oznacza, że liczność próby n:

n > 10 (k + 1), gdzie k jest liczbą parametrów.

Iloraz szans

W regresji logistycznej, oprócz współczynników regresji i ich statystycznej istotności, dochodzi jeszcze dodatkowy parametr: iloraz szans (odds ratio) dany wzorem:

W przypadku, gdy mamy dwie cechy jakościowe, stosujemy podwójną klasyfikację

Pierwsza klasyfikacja może być przykładowo postaci:

  • Narażeni i nienarażeni,
  • Palący i niepalący,
  • Leczeni metodą A i metodą B,
  • Szczepieni i nieszczepieni,
  • Itp.

Natomiast druga klasyfikacja jest najczęściej postaci:

  • Zachorowali, nie zachorowali
  • Przeżyli, zmarli
  • Parametr biochemiczny w normie, parametr biochemiczny poniżej/powyżej normy, itd.

Dla dwóch grup porównywanych A i B iloraz szans definiowany jest jako stosunek wystąpienia „szansy” A do „szansy” B:

Iloraz szans równy 1 oznacza równoważność ryzyka porównywanych grup. Większy od 1 wskazuje, że szansa wystąpienia danego zdarzenia zdrowotnego w grupie A jest większa niż w grupie B.

Założenia regresji logistycznej

  • Losowy dobór próby;
  • Odpowiednie kodowanie (model regresji logistycznej wylicza prawdopodobieństwo, że
  • zmienna zależna przyjmuje wartość 1);
  • Uwzględnienie wszystkich istotnych zmiennych;
  • Wyłączenie z modelu wszystkich nieistotnych zmiennych;
  • Zależność transformacji logitowej od zmiennych niezależnych jest liniowa;
  • Model regresji logistycznej nie wyjaśnia efektów interakcji zmiennych niezależnych;
  • Zmienne niezależne nie mogą być współliniowe;
  • Regresja logistyczna jest wrażliwa na występowanie punktów odstających. Przed rozpoczęciem analizy należy je usunąć (wykrycie przypadków odstających umożliwia analiza reszt);
  • Próba musi być dostatecznie liczna (co najmniej n=100);

Przykład implementacji w Python

from sklearn.linear_model import LogisticRegression

l_clf = LogisticRegression(solver = 'lbfgs')
l_clf.fit(X,Y)
l_prediction = l_clf.predict(test_data)

Przykład na stworzenie i wyświetlenie funkcji:

import matplotlib.pyplot as plt
import math

z = [i for i in range(-10, 11)]


def logistic_regression(lst):
    lst.sort()
    results = []
    for i in lst:
        result = 1 / (1 + math.e ** (- i))
        results.append(result)
    return results


plt.plot(z, logistic_regression(z))
plt.show()