Regresja liniowa – definicja
Regresja liniowa jest jedną z podstawowych metod uczenia maszynowego. Jest to metoda dość prosta i intuicyjna w stosowaniu i interpretacji. Z tego też powodu jest popularna w prostych modelach predykcyjnych, dostarczając często wystarczających jakościowo wyników. W skrócie regresja liniowa jest to zależność jednej zmiennej (zmienna objaśniana) od innych zmiennych (objaśniających). W najprostszym przypadku ma postać funkcji liniowej:
y = ax + b
gdzie:
y – zmienna objaśniana (target)
x – zmienna objaśniająca (predictor)
a – współczynnik kierunkowy (slope)
b – wyraz wolny (intercept)
Zmiennych objaśniających może być więcej niż jedna, zmienna objaśniana jest zawsze jedna.
To tyle powtórki ze szkoły. Podsumowując, regresja liniowa polega na dopasowaniu do punktów danych linii prostej, która najlepiej oddaje zależność pomiędzy zmiennymi przy założeniu, że związek ten jest mniej więcej liniowy.
Regresja liniowa w Tableau
Jeżeli chcemy zbadać zależność dwóch zmiennych w Tableau, najprościej zacząć od linii trendu. Linie trendu możemy dodać w zakładce Analytics, polu Model i opcji Trendline. Do dyspozycji mamy kilka rodzajów linii trendu – liniowy, logarytmiczny, wykładniczy, wielomianowy i potęgowy:
Następnie, po przeciągnięciu wybranej opcji na obszar wykresu, zostaje wyrysowana linia trendu:
Przykładowo, badamy zależność dostępu do Internetu od użycia telefonów komórkowych dla krajów na świecie w 2010r (z wbudowanej w Tableau bazy World Indicators). Na pierwszy rzut oka zależność wygląda na mniej więcej liniową. Po wykreśleniu linii trendu i wyświetlenia jej tooltipa, Tableau wyświetla równanie prostej. Dodatkowo, znajduje się tam również informacja o współczynniku R-Squared, który mówi o stopniu dopasowania krzywej do danych:
Równanie to wygląda dokładnie jak równanie funkcji liniowej, gdzie Mobile Phone Usage jest zmienną objaśnianą, a Internet Usage zmienną objaśniającą. Wartość R-Square informuje nas o jakości dopasowania modelu. Przyjmuje wartości od 0 do 1, przy czym im bliżej wartości 1 tym lepiej model jest dopasowany. Wartość 0.36 w tym przypadku informuje nas o niezbyt dobrym dopasowaniu modelu.
Szukając lepszego dopasowania wśród dostępnych modeli najlepiej dopasowany okazuje się trend potęgowy z wartością R-Squared 0.51:
Linie trendu, a nowy model predykcyjny w Tableau
Linie trendu dostarczają istotnych informacji o zależności zmiennych, ale posiadają również wady. Najważniejsza z nich jest taka, że parametrów linii trendu nie możemy wykorzystać w kalkulacjach. Pomimo, że linie trendu są wyznaczane przez Tableau nie są jednak dostępne dla użytkownika poza wyświetlaniem w tooltipie oraz w oknie Describe Trend Line:
W sytuacji, gdy zaistnieje potrzeba predykcji wartości jest to istotne ograniczenie, również gdy chcemy zbadać odchylenie wartości od wartości wyznaczonej przez model.
Dlatego też Tableau wprowadziło modelowanie predykcyjne w postaci dwóch funkcji tablicowych:
MODEL_QUANTILE – funkcja tablicowa, która wskazuje wartość objaśnianą (target) na podstawie zmiennych objaśniających (predictors) przy zadanym kwantylu
MODEL_PERCENTILE – funkcja tablicowa, która zwraca prawdopodobieństwo otrzymania zmiennej objaśnianej (target) będącej mniejszej lub równej faktycznej obserwacji
To co odróżnia powyższe funkcje od funkcjonalności linii trendu, to przede wszystkim możliwość zastosowania wyników w kalkulacjach. Przy zastosowaniu funkcji MODEL_QUANTILE możemy uzyskać model regresji liniowej:
Następnie łączymy scatter plot z obserwacjami wraz z linią wyznaczoną przez model za pomocą dual axis, dzięki czemu uzyskujemy wizualizację modelu analogiczną do linii trendu:
Korzyści z nowego modelu predykcyjnego
Powstaje pytanie – dlaczego tyle zachodu, skoro efekt jest taki sam jak przy linii trendu? Odpowiedź jest prosta – możemy teraz wykorzystać model w kalkulacji oraz zmieniać parametry modelu. W analizowanym przypadku dla każdego punktu możemy oszacować wartość i zbadać odchylenie wartości faktycznej z tą oszacowaną przez model:
Dodatkowo, kalkulacje możemy wykorzystać również do kolorowania punktów danych w zależności od odchylenia od modelu. Wskazują tym samym największe odchylenia:
Model możemy również wykorzystać do określenia przedziałów ufności. W poniższym przypadku są to kwantyle rzędu 0.1, 0.5 i 0.9:
Punkty leżące poza zadanym przedziałem ufności klasyfikowane są jako odchylenia (outliers). Jest to przydatne w analizach sprzedaży według produktów czy klientów. Wskazujemy tym samym najmniej rentownych klientów (do porzucenia) i tych najbardziej rentownych (ryzyko odejścia).
Kalkulacja modelu przy użyciu funkcji MODEL_QUANTILE nie oznacza, że ograniczamy sięt wyłącznie do zależności liniowej. Przebudowując zależność na logarytm naturalny z predyktora, otrzymujemy zależność logarytmiczną, która bardziej odpowiada rzeczywistości:
Nie tylko regresja liniowa – proces Gaussa
Oprócz modelu regresji liniowej, do wyboru w funkcji MODEL_QUANTILE mamy również model Regularized linear regression (‘model=rl’) oraz Gaussian proces regression (‘model=gp’). Poniżej zalecenia Tableau kiedy należy używać którego modelu:
W praktyce szczególnie interesujący wydaje się Gaussian proces regression, zwłaszcza w sytuacji gdy chcemy zaprezentować dane w ujęciu czasowym (np. sprzedaż), w których występuje również sezonowość:
Model linear regression oraz regularized linear regression są bardzo do siebie zbliżone, co przy jednym predyktorze jest normalnym zachowaniem. Gaussian process regression za to jest bardzo zbliżony do oryginalnego przebiegu sprzedaży w czasie, co wskazuje na dobre dostosowanie modelu.
Wykorzystanie modelu do predykcji
Następnie, mając wybrany i dostosowany model możemy go wykorzystać do predykcji przyszłych wartości. W przypadku modelu procesu Gaussa wystarczy rozszerzyć zakres dat na kolejne okresy, aby uzyskać predykcję z modelu:
Modele w Tableau – to dopiero początek
Mając świadomość rozwoju machine learning w analizie danych, Tableau stale rozwija zakres narzędzi wspomagających ten obszar. Do tej pory jako użytkownicy mogliśmy wykorzystywać skrypty R albo Python. Obecnie podstawowe modele predykcyjne są już dostępne z poziomu Tableau. Na 2021 rok Tableau zapowiedziało integrację z Einstein Discovery, czyli oprogramowaniem Salesforce’u wspomagającym analizę danych poprzez dostarczanie rekomendacji, wniosków, predykcji i spostrzeżeń przy wykorzystaniu artificial intelligence. Dzięki temu analiza w Tableau wykracza poza descriptive analytics (opisywanie historii) i wkracza coraz śmielej w predictive analytics (opisujemy przyszłość).
Mateusz Karmalski,
Tableau Author