Customer Analytics
Regresja cen mieszkań: co naprawdę mówi R² równe 0,77
Regresja liniowa zbudowana z dyscypliną: transformacja logarytmiczna, współliniowość usunięta przez VIF, selekcja istotności, cztery testy założeń i 10-krotna walidacja krzyżowa. Model wyjaśnia około 77% wariancji - a uczciwe odczytanie pozostałych wskaźników znaczy więcej niż sama liczba.
Regresja uchodzi za nudne rzemiosło analizy danych - i właśnie dlatego tak dobrze pokazuje, na czym modele wykładają się w praktyce. Nie na algorytmie, lecz na tym, co dzieje się przed nim i po nim: na skośnych zmiennych celu, na cechach mierzących to samo i na wskaźnikach, które brzmią lepiej, niż są. Ten projekt buduje klasyczny model OLS na danych mieszkaniowych i traktuje każdy z tych punktów poważnie.
Zbiór danych
Podstawą jest znany zbiór Boston Housing, publiczny zbiór edukacyjny używany w programie MIT: cechy dzielnic, takie jak wskaźnik przestępczości (CRIM), stężenie tlenków azotu (NOX), średnia liczba pokoi (RM), stosunek uczniów do nauczycieli (PTRATIO) oraz udział gospodarstw o niższym statusie (LSTAT), a do tego mediana ceny domu (MEDV) jako zmienna celu.
Dwie uwagi należą się tutaj, nie na końcu. Po pierwsze, ten zbiór jest historycznie kontrowersyjny - wersja oryginalna zawiera cechę odnoszącą się do rasy, dlatego został usunięty ze scikit-learn. Użyta tutaj wersja nie zawiera tej cechy; pracujemy wyłącznie na wymienionych wyżej cechach strukturalnych i środowiskowych. Zbiór służy jako wehikuł metodyczny, nie jako wypowiedź o rynkach nieruchomości. Po drugie, zmienna celu jest ograniczona z góry do 50 (tys. $) - wszystkie droższe obiekty mają tę samą wartość. Widać to w rozkładzie i ogranicza to, czego model może się nauczyć na górnym końcu.
Przygotowanie: wyprostować zmienną celu
Rozkład cen jest wyraźnie prawoskośny. Dlatego modelowano nie MEDV, lecz log(MEDV) - standardową transformację, która czyni rozkład bardziej symetrycznym i dopiero uwiarygodnia założenia regresji liniowej.
Współliniowość: które cechy mówią to samo
Przed modelowaniem pojawia się pytanie, czy cechy się nie dublują. Macierz korelacji pokazuje to wyraźnie: RAD i TAX korelują na poziomie 0,91 - faktycznie ta sama informacja. Również NOX, INDUS i AGE są ze sobą ściśle powiązane.
Potwierdzone przez Variance Inflation Factor (VIF), usunięto TAX. W drugim kroku odpadły ZN, AGE i INDUS, ponieważ nie były istotne w modelu. Model finalny pracuje na ośmiu cechach: CRIM, CHAS, NOX, RM, DIS, RAD, PTRATIO, LSTAT.
Wyniki
| Zbiór | R² | Skoryg. R² | RMSE | MAE | MAPE |
|---|---|---|---|---|---|
| Trening | 0,7672 | 0,7618 | 0,1955 | 0,1437 | 4,98% |
| Test | 0,7725 | 0,7581 | 0,1980 | 0,1513 | 5,26% |
RMSE, MAE i MAPE odnoszą się do zmiennej celu po transformacji logarytmicznej, nie do kwot w dolarach.
Co analiza faktycznie pokazuje
- Brak przeuczenia. Testowe R² (0,7725) jest nawet minimalnie wyższe niż treningowe - osiem cech dobrze generalizuje.
- 5% MAPE to nie 5% błędu ceny. Liczone jest na skali logarytmicznej. Przerobienie tego na „model myli się o 5% przy cenach mieszkań" przenosi wskaźnik do jednostki, w której nigdy go nie mierzono. Broniącym się stwierdzeniem pozostaje: około 77% wyjaśnionej wariancji.
- Walidacja krzyżowa jest mniej spokojna, niż wygląda. Na 10 podziałach średnie R² wynosi 0,7291 przy rozrzucie ±0,2322. Średnia potwierdza model; rozrzut mówi, że pojedyncze podziały wypadają wyraźnie gorzej - przy 506 obserwacjach jest to spodziewane i należy do wyniku.
- Czynniki są wiarygodne, ale nie przyczynowe. Więcej pokoi (RM) idzie w parze z wyższymi cenami, wyższy udział LSTAT z niższymi. To zależności w danych dzielnicowych z lat 70. - nie dowody wpływu i z pewnością nie rekomendacja do działania.
Założenia zostały sprawdzone, nie przyjęte
Regresja liniowa jest warta tyle, ile jej założenia. Sprawdzono wszystkie cztery: średnią reszt (praktycznie zero), homoskedastyczność (stały rozrzut błędu), liniowość zależności poprzez reszty wobec wartości dopasowanych oraz normalność rozkładu błędów. Dopiero potem interpretacja modelu jest dopuszczalna - w praktyce to krok najczęściej pomijany.
Powtarzalność i weryfikacja
Pełny kod (EDA, przygotowanie danych, VIF, oba modele, testy założeń, walidacja krzyżowa) znajduje się w repozytorium towarzyszącym: github.com/myBytesResearch/boston-house-price-prediction. Projekt powstał jako coursework w MIT Professional Education Applied AI and Data Science Program (weryfikowalny certyfikat).