+ - 0:00:00
Notes for current slide
Notes for next slide

Metody przetwarzania
i analizy danych

Regresja liniowa

© Łukasz Wawrowski

1 / 38

Regresja

Funkcyjne odwzorowanie zależności pomiędzy badanymi zmiennymi.

Cele analizy regresji:

  • poznawcze - badanie związków przyczynowo-skutkowych

  • predykcyjne - oszacowanie nieznanej wartości cechy

Model regresji jest tylko przybliżeniem rzeczywistości!

2 / 38

Regresja prosta

Analiza dwóch cech:

  • zmienna objaśniana (zależna) oznaczana jako y

  • zmienna objaśniająca (niezależna) oznaczana jako x

Przykłady:

  • zależność wielkości sprzedaży od wydatków na reklamę

  • zależność wynagrodzenia od lat doświadczenia

3 / 38

Przykład

Zbiór salary zawiera informacje o rocznym wynagrodzeniu (w $) oraz liczbie lat doświadczenia.

4 / 38

Wykres rozrzutu

5 / 38

Zadanie

Stwórz wykres rozrzutu dla zbioru salary z wykorzystaniem pakietu ggplot2.

05:00
6 / 38

Wykres rozrzutu

7 / 38

Wykres rozrzutu

8 / 38

Regresja prosta

Weźmy pod uwagę prosty przykład dochodów i wydatków:

wydatki dochody
2300 2600
1800 2400
2400 2900
2300 2800
2800 3000
2000 2500
2100 2700
9 / 38

Regresja prosta

Wykres rozrzutu

10 / 38

Regresja prosta

Spróbujmy teraz dopasować kilka prostych - mogą one przebiegać na wiele różnych sposobów.

11 / 38

Regresja prosta

W następnym kroku obliczamy różnice pomiędzy istniejącymi punktami, a odpowiadającym im wartościom na prostej:

12 / 38

Regresja prosta

Oznaczając yi jako rzeczywista wartość wydatków i yi^ jako wartość leżącą na prostej zależy nam na minimalizowaniu wyrażenia i=1n(yiy^i)2min. Różnica yiy^i jest nazywana resztą (ang. residual). Wyznaczając te wartości dla analizowanych przez nas prostych otrzymamy następujące wyniki:

name suma_kwadratow_reszt
czerwona 101430
zielona 264300
niebieska 22462143
13 / 38

Regresja prosta

Ogólna postać regresji prostej jest następująca:

y^i=b1xi+b0

gdzie y^ oznacza wartość teoretyczną, leżącą na wyznaczonej prostej.

Wobec tego wartości empiryczne (y) będą opisane formułą:

yi=b1xi+b0+ui

w której ui oznacza składnik resztowy wyliczany jako ui=yiy^i.

14 / 38

Regresja prosta w R

lm(formula = zmienna_zalezna ~ zmienna_niezalezna, data = zbior_danych)
  • formula - zdefiniowanie zależności funkcyjnej z wykorzystaniem tyldy

  • data - zbiór danych

Domyślnie funkcja lm zwraca tylko parametry b.

Aby uzyskać szczegółowe informacje na temat modelu należy dodatkowo zastosować funkcję summary():

model <- lm(formula = zmienna_zalezna ~ zmienna_niezalezna, data = zbior_danych)
summary(model)
15 / 38

Współczynniki b

Współczynnik kierunkowy b1 informuje o ile przeciętne zmieni się wartość zmiennej objaśnianej y, gdy wartość zmiennej objaśniającej x wzrośnie o jednostkę.

Wyraz wolny b0 to wartość zmiennej objaśnianej y, w sytuacji w której wartość zmiennej objaśniającej x będzie równa 0. Często interpretacja tego parametru nie ma sensu.

16 / 38

Dopasowanie modelu

Odchylenie standardowe składnika resztowego jest pierwiastkiem z sumy kwadratów reszt podzielonej przez liczbę obserwacji pomniejszoną o 2:

Su=i=1n(yiy^i)2n2

Miara ta określa, o ile, przeciętnie biorąc +/, wartości empiryczne zmiennej objaśnianej odchylają się od wartości teoretycznych tej zmiennej, obliczonej na podstawie funkcji regresji.

17 / 38

Dopasowanie modelu

Współczynnik determinacji określa, jaki procent wariancji zmiennej objaśnianej został wyjaśniony przez funkcję regresji. R2 przyjmuje wartości z przedziału <0;1> ( <0%;100%> ), przy czym model regresji tym lepiej opisuje zachowanie się badanej zmiennej objaśnianej, im R2 jest bliższy jedności (bliższy 100%)

R2=1i=1n(yiy^i)2i=1n(yiy¯i)2

Współczynnik determinacji przyjmuje wartości z przedziału <0;1> wyłącznie wtedy, kiedy został wykorzystany model oszacowany metodą najmniejszych kwadratów. W przeciwnym przypadku wartości tego współczynnika mogą być z przedziału (;1>.

18 / 38

Dopasowanie modelu

Dopasowany współczynnik determinacji ma na celu uwzględnienie i eliminację własności współczynnika determinacji polegającej na automatycznym zwiększaniu wartości R2 przy dodawaniu kolejnych cech do modelu. W tej formule uwzględnia się liczbę obserwacji oraz liczbę cech objaśniających:

R¯2=1(1R2)n1np1 Dopasowany współczynnik determinacji R¯2 będzie zawsze mniejszy bądź równy wartości R2. Może także przyjmować wartości ujemne.

19 / 38

Test Walda

  • sprawdzenie istotności parametrów b

  • sprawdzenie istotności całego wektora parametrów b

20 / 38

Inne miary jakości

Do analizy jakości modelu można także wykorzystać inne miary obliczane na podstawie wartości rzeczywistych oraz predykcji. Te najpopularniejsze zaimplementowane są w pakiecie mlr3measures.

  • MAE - Mean Absolute Error

  • MAPE - Mean Absolute Percentage Error

  • MSE - Mean Squared Error

  • RMSE - Root Mean Squared Error

W pliku pomocy, dla każdej miary jest określony jej wzór, informacja o możliwych wartościach oraz kierunku pożądnych wartości (minimalizacja czy maksymalizacja).

21 / 38

Predykcja

W celu wykorzystania modelu regresji do prognozowania należy stworzyć lub wczytać zbiór danych z danymi, dla których chcemy uzyskać wartości.

nowe_dane <- data.frame(x=c(10,20,30))
predict(object = model, newdata = nowe_dane)
22 / 38

Trend liniowy

W przypadku istnienia zależności liniowej w czasie, przedstawioną metodę można także wykorzystać do prognozowania wartości cechy w przyszłości.

df_trend <- data.frame(rok=c(2016, 2017, 2018, 2019, 2020),
t=1:5,
y=c(53, 55, 57, 56, 59))
knitr::kable(df_trend)
rok t y
2016 1 53
2017 2 55
2018 3 57
2019 4 56
2020 5 59
23 / 38

Sezonowość

Dla danych charakteryzujących się występowaniem sezonowości należy skorzystać z metod, które to uwzględnią np.

24 / 38

Zadanie

Stwórz model regresji prostej objaśniający zależność sprzedaży od liczby klientów na podstawie sklepu Rossmann. Jaka jest prognozowana sprzedaż dla 300, 700 i 1050 klientów?

10:00
25 / 38

Regresja wieloraka

Ogólna postać regresji wielorakiej jest następująca:

y^i=b1x1i+b2x2i+...+bkxki+b0

W tym przypadku nie wyznaczamy prostej tylko k-wymiarową przestrzeń.

26 / 38

Regresja trzech zmiennych

27 / 38

Przykład

Na podstawie zbioru pracownicy zbuduj model objaśniający wysokość bieżącego wynagrodzenia.

  • id - kod pracownika
  • plec - płeć pracownika (0 - mężczyzna, 1 - kobieta)
  • data_urodz - data urodzenia
  • edukacja - wykształcenie (w latach nauki)
  • kat_pracownika - grupa pracownicza (1 - specjalista, 2 - menedżer, 3 - konsultant)
  • bwynagrodzenie - bieżące wynagrodzenie
  • pwynagrodzenie - początkowe wynagrodzenie
  • staz - staż pracy (w miesiącach)
  • doswiadczenie - poprzednie zatrudnienie (w miesiącach)
  • zwiazki - przynależność do związków zawodowych (0 - nie, 1 - tak)
  • wiek - wiek (w latach)
28 / 38

Zadanie

Na bazie zbioru pracownicy stwórz nowy zbiór danych, który nie będzie zawierał niepotrzebnych zmiennych oraz braków danych.

05:00
29 / 38

Dychotomizacja zmiennej

Zamiana zmiennej ilościowej zawierającej k wariantów na k1 zmiennych zerojedynkowych.

Oryginalny zbiór

id stanowisko
1 specjalista
2 menedżer
3 specjalista
4 konsultant
5 konsultant

Zmienna zerojedynkowa

id menedżer konsultant
1 0 0
2 1 0
3 0 0
4 0 1
5 0 1
30 / 38

Dychotomizacja zmiennej

Współczynnik b dla zmiennej dychotomicznej informuje o ile przeciętne zmieni się wartość zmiennej objaśnianej y w odniesieniu do kategorii bazowej dychotomicznej zmiennej x.

Przykładowo, przyjmując za kategorię bazową stanowisko specjalista, współczynnik b dla kategorii menedżer poinformuje o ile średnio wartość bieżącego wynagrodzenia jest wyższa lub niższa od specjalisty.

31 / 38

Badanie współliniowości

Pakiet corrplot służący do wizualizacji współczynnika korelacji.

Współczynnik korelacji informuje o sile zależności pomiędzy dwoma cechami ilościowymi. Jest wielkością unormowaną, przyjmuje wartości z przedziału r∈<1;1>.

Jeśli:

  • rxy=1 - korelacja dodatnia doskonała,
  • 0<rxy<1 - korelacja dodatnia niedoskonała (słaba/umiarkowana/silna)
  • rxy=0 - brak zależności,
  • 1<rxy<0 - korelacja ujemna niedoskonała (słaba/umiarkowana/silna)
  • rxy=1 - korelacja ujemna doskonała.
32 / 38

Dobór i weryfikacja modelu

Pakiet olsrr zawiera narzędzia do analizy modeli liniowych.

  • wybór cech do modelu

  • badanie współliniowości

  • badanie normalności

  • analiza wartości odstających

33 / 38

Dobór modelu

Wyróżnia się trzy podejścia do tego zagadnienia:

  • ekspercki dobór cech

  • budowa wszystkich możliwych modeli i wybór najlepszego według określonego kryterium

  • regresja krokowa

34 / 38

Badanie współliniowości

Współczynnik tolerancji wskazuje na procent niewyjaśnionej zmienności danej zmiennej przez pozostałe zmienne objaśniające.

Współczynnik VIF jest obliczany na podstawie wartości współczynnika tolerancji i wskazuje o ile wariancja szacowanego współczynnika regresji jest podwyższona z powodu współliniowości danej zmiennej objaśniającej z pozostałymi zmiennymi objaśniającymi. Wartość współczynnika VIF powyżej 4 należy uznać za wskazującą na współliniowość.

35 / 38

Wartości odstające

Miara Cooka jest obliczana poprzez usunięcie i-tej obserwacji z danych i ponowne obliczenie parametrów regresji. Podsumowuje, jak bardzo wszystkie wartości w modelu regresji zmieniają się po usunięciu i-tej obserwacji. Każda obserwacja, dla której wartość miary Cooka przekracza próg obliczany jako 4/n jest traktowana jaka wartość odstająca.

Reszty studentyzowane oblicza się, dzieląc resztę przez szacunkowe odchylenie standardowe. Odchylenie standardowe dla każdej reszty jest obliczane z wyłączeniem danej obserwacji. Obserwacje dla których wartość reszty przekracza 3 uznaje się za odstające.

36 / 38

Zadanie

Na podstawie zbioru dotyczącego 50 startupów określ jakie czynniki wpływają na przychód startupów.

Przyda się pakiet janitor i funkcja clean_names() do uporządkowania nazw kolumn.

10:00
37 / 38

Pytania?

38 / 38

Regresja

Funkcyjne odwzorowanie zależności pomiędzy badanymi zmiennymi.

Cele analizy regresji:

  • poznawcze - badanie związków przyczynowo-skutkowych

  • predykcyjne - oszacowanie nieznanej wartości cechy

Model regresji jest tylko przybliżeniem rzeczywistości!

2 / 38
Paused

Help

Keyboard shortcuts

, , Pg Up, k Go to previous slide
, , Pg Dn, Space, j Go to next slide
Home Go to first slide
End Go to last slide
Number + Return Go to specific slide
b / m / f Toggle blackout / mirrored / fullscreen mode
c Clone slideshow
p Toggle presenter mode
t Restart the presentation timer
?, h Toggle this help
Esc Back to slideshow