ML Atlas

03 · Nadzorowane · 4 min czytania · Interaktywne · aktualizacja

Na czym polega regresja liniowa i jak interpretować jej współczynniki?

W skrócie

Regresja liniowa przewiduje liczbę jako ważoną sumę cech plus stałą. Wagi dobiera metodą najmniejszych kwadratów, a każda mówi o wpływie cechy.

Co to jest

Regresja liniowa to model, który przewiduje wartość liczbową jako ważoną sumę cech plus stałą: ŷ = b₀ + b₁·x₁ + b₂·x₂ + … + bₚ·xₚ. Wagi (współczynniki) dobiera się tak, żeby suma kwadratów różnic między przewidywaniami a prawdziwymi wartościami była jak najmniejsza. To najstarszy i wciąż jeden z najczęściej używanych modeli uczenia nadzorowanego.

Z jedną cechą model to prosta na wykresie punktowym: b₀ to punkt przecięcia z osią, b₁ to nachylenie, czyli o ile średnio rośnie y, gdy x rośnie o jednostkę. Z wieloma cechami prosta staje się płaszczyzną (albo hiperpłaszczyzną), ale interpretacja zostaje podobna: bⱼ mówi, o ile zmienia się przewidywanie, gdy xⱼ rośnie o jeden, przy pozostałych cechach ustalonych.

Ta ostatnia fraza jest kluczowa i często pomijana. Współczynnik w regresji wielorakiej to nie to samo co korelacja cechy z wynikiem — to wkład „netto”, po odjęciu tego, co wyjaśniają inne cechy.

Mechanizm — dlaczego tak działa

Dopasowanie polega na minimalizacji sumy kwadratów reszt (RSS). Dla regresji liniowej ten problem ma rozwiązanie w zamkniętej postaci, tzw. równania normalne: b = (XᵀX)⁻¹Xᵀy. Nie trzeba niczego iterować — wystarczy algebra liniowa. Szczegóły i uzasadnienie kwadratów opisuje hasło o metodzie najmniejszych kwadratów.

Model jest „liniowy w parametrach”, nie koniecznie w cechach. Jeśli dodasz x² albo log(x) jako nowe kolumny, wciąż masz regresję liniową, tylko z przekształconymi cechami. Dzięki temu ten sam mechanizm obsługuje krzywe (regresja wielomianowa) i interakcje.

Klasyczne założenia, przy których współczynniki mają dobre własności statystyczne, to: liniowa zależność, niezależne obserwacje, stała wariancja reszt i — dla przedziałów ufności — reszty o rozkładzie normalnym. Do samego przewidywania normalność nie jest potrzebna; potrzebne jest natomiast to, żeby zależność rzeczywiście była w przybliżeniu liniowa w użytych cechach.

Największa pułapka interpretacyjna to współliniowość. Gdy dwie cechy są silnie skorelowane, model może przypisać jednej dużą dodatnią wagę, a drugiej dużą ujemną — ich efekty niemal się znoszą, a przewidywania są w porządku. Pojedyncze współczynniki stają się wtedy niestabilne i nie wolno ich czytać jako „wpływu”. Pomaga regularyzacja (ridge) albo usunięcie zbędnych cech.

Druga pułapka: współczynnik zależy od jednostki cechy. Waga 68 dla cechy w zakresie 3–6 i waga 0,04 dla wieku w latach nie mówią, która cecha jest ważniejsza. Do porównań standaryzuje się cechy (średnia 0, odchylenie 1).

Na przykładzie

Zbiór Diabetes (Efron i in., 2004): 442 pacjentów z cukrzycą, 10 cech zmierzonych na początku badania (wiek, płeć, BMI, ciśnienie krwi i sześć wskaźników z badań krwi, s1–s6), a celem jest liczbowa miara postępu choroby po roku (od 25 do 346, średnio 152). Sam BMI wyjaśnia sporo: na całym zbiorze nachylenie prostej wynosi 10,2 — każdy punkt BMI więcej to średnio o 10,2 jednostki gorszy wynik — a R² = 0,34.

Regresja na wszystkich 10 cechach, trenowana na 331 pacjentach i testowana na 111 (losowy podział 75/25, random_state=0), osiąga na teście R² = 0,36 (na treningu 0,56), a błąd RMSE spada z 70,5 (przewidywanie średniej) do 56,4. Ten konkretny podział jest dość pechowy: 5-krotna walidacja krzyżowa daje średnie R² = 0,49. Po standaryzacji cech widać pułapkę współliniowości: s1 (cholesterol całkowity) dostaje wagę −37,7, a s2 (frakcja LDL) +22,7, choć obie mierzą prawie to samo (korelacja 0,90). Te dwie wagi razem mają sens, osobno — żadnego.

Ta ilustracja działa w przeglądarce z włączonym JavaScriptem: na danych o cukrzycy dopasowujesz prostą suwakami nachylenia i wyrazu wolnego; widać reszty i porównanie Twojego błędu z minimum metody najmniejszych kwadratów.

Dane: Diabetes (progresja cukrzycy)

W praktyce

  • sklearn.linear_model.LinearRegression().fit(X, y); współczynniki w coef_, stała w intercept_, R² przez score(X, y).
  • Do wnioskowania (błędy standardowe, p-wartości, przedziały ufności) użyj statsmodels.OLS — scikit-learn ich nie podaje.
  • Przed porównywaniem wag standaryzuj cechy (StandardScaler); zmienne kategoryczne zakoduj jako zero-jedynkowe (OneHotEncoder(drop="first")).
  • Zawsze obejrzyj wykres reszt względem przewidywań: krzywizna oznacza brakującą nieliniowość, „lejek” — niestałą wariancję.
  • Wiele skorelowanych cech albo więcej cech niż obserwacji? Sięgnij po Ridge lub Lasso.

Najczęstsze pytania

Co oznacza R² i jaka wartość jest „dobra”?
R² to odsetek wariancji y wyjaśniony przez model: 0 znaczy „nie lepiej niż średnia”, 1 — dopasowanie idealne. Na danych testowych R² może być nawet ujemne. Dobra wartość zależy od dziedziny: w fizyce oczekuje się 0,99, w medycynie i naukach społecznych 0,3–0,5 bywa wynikiem bardzo przyzwoitym.
Czy współczynnik regresji oznacza związek przyczynowy?
Nie. Mówi, jak zmienia się przewidywanie przy zmianie cechy i ustalonych pozostałych cechach w tych danych. Jeśli pominięto ważną zmienną, która wpływa i na cechę, i na wynik, współczynnik będzie obciążony. Wnioski przyczynowe wymagają eksperymentu albo starannego planu badania.
Czy regresja liniowa nadaje się do przewidywania kategorii?
Technicznie można zakodować klasy jako 0 i 1, ale przewidywania wyjdą poza przedział [0, 1] i trudno je interpretować jako prawdopodobieństwa. Do klasyfikacji służy regresja logistyczna, która przepuszcza tę samą ważoną sumę przez funkcję sigmoidalną.

Źródła

  • James G., Witten D., Hastie T., Tibshirani R. „An Introduction to Statistical Learning”, 2nd ed., 2021, rozdz. 3.
  • Hastie T., Tibshirani R., Friedman J. „The Elements of Statistical Learning”, 2nd ed., 2009, rozdz. 3.
  • Efron B., Hastie T., Johnstone I., Tibshirani R. „Least Angle Regression”, Annals of Statistics 32(2), 2004 — źródło zbioru Diabetes.
  • Dokumentacja scikit-learn, „Linear Models”: https://scikit-learn.org/stable/modules/linear_model.html

Zobacz też