Strona 1 z 1

Regresja liniowa i błąd RSS

: 17 paź 2020, o 20:43
autor: strefa61
Cześć, dosłownie zaczynam przygodę z regresją liniową i chciałem zapytać o taką rzecz:
mam dane:
\(\displaystyle{ \\
30 \ \ \ \ 11.81\ \ 38.0 \\
40 \ \ \ \ 15.75 \ \ 48.0 \\
50\ \ \ \ 19.69 \ \ 56.0 \\
60\ \ \ \ 23.62\ \ 66.0 \\
70\ \ \ \ 27.56 \ \ 75.0 \\
80 \ \ \ \ 31.50\ \ 84.0 \\
90\ \ \ \ 35.43\ \ 94.0 \\
100 \ \ 39.37\ \ 104.0 \\
110 \ \ 43.31\ \ 113.0 \\
120 \ \ 47.24\ \ 124.0 \\
130 \ \ 51.18 \ \ 126.0\\
140 \ \ 55.12 \ \ 132.0}\)

Zmienna objaśniana to ostatnia kolumna, objaśniające są w pierwszych dwóch (powiedzmy \(\displaystyle{ y, x_1, x_2}\)).
Mam obliczyć współczynniki regresji (znam tylko błąd RSS, po prostu mam rozwiązać \(\displaystyle{ X^T X \beta=X^Ty}\) i narysować.
O ile mi wiadomo, jeśli mam dwa predyktory (te x1 i x2), to powinienem ostatecznie dostać na wykresie płaszczyznę predykcji. Ale ja tutaj po predykcji dostaję współliniowe punkty. (nie mam podanych żadnych błędów czy coś, mam po prostu policzyć \(\displaystyle{ \beta}\) i zrobić z tego rysunek i porównać z rozkładem oryginalnych danych).

Czy coś robię źle, czy w tym wypadku faktycznie nie dostanę płaszczyzny, a jedynie prostą? Wydaje mi się, że to może mieć jakiś związek z liniowością pierwszego predyktora.

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 21:18
autor: janusz47
Rozwiązując układ równań normalnych otrzymujemy wektor oszacowań wektora nieznanych parametrów:

\(\displaystyle{ \beta = (X^{T} \cdot X)^{-1} X^{T}\cdot y }\)

Proszę rozwiązać ten układ.

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 21:25
autor: strefa61
Rozwiązaniem jest \(\displaystyle{ \beta = \left[ -45.78888928, 118.88888988 \right] }\)

Po przemnożeniu \(\displaystyle{ X \beta = \left[ 30.41, 40.94 , 51.47 , 60.82 ,71.35,
81.88 , 91.23, 101.76 ,112.3 , 121.64
132.17 ,142.71\right] ^T }\)
zaokrąglając do 2 miejsca po przecinku

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 21:55
autor: janusz47
Świetnie!

Teraz skorzystamy z sumy kwadratów reszt RSS (Residual Sum of Square)

\(\displaystyle{ RSS = \sum_{i=1}^{n} c_{i}^2 = \vec{e}^{T}\cdot \vec{e}. }\)

i z własności płaszczyzny regresji

\(\displaystyle{ \vec{y} = X\vec{\beta} + \vec{e}. }\)

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 22:26
autor: strefa61
\(\displaystyle{ c_i = y_i - \left( \beta _1 \cdot x_1 + \beta _2 \cdot x_2\right) }\) prawda?

I gdy już policzę wszystkie \(\displaystyle{ c_i}\) i wstawię to wszystko do \(\displaystyle{ \vec{y} = X\vec{\beta} + \vec{e}}\) to istnieje możliwość, że nie dostanę płaszczyzny, tylko linię prostą, bo wszystkich punkty \(\displaystyle{ y_i}\) dalej będą współliniowe (jak wiadomo współliniowe punkty nie wyznaczają żadnej konkretnej płaszczyzny)?

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 22:37
autor: janusz47
\(\displaystyle{ \vec{e} = \vec{y} - X \vec{\beta} }\)

\(\displaystyle{ e_i = y_i - \left( \beta _1 \cdot x_1 + \beta _2 \cdot x_2\right) }\)

Nie ma takiej możliwości, mamy sumę dwóch kombinacji liniowych.

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 23:16
autor: strefa61
Ok, czyli weźmy 'trójwymiarowy' wykres osiami:\(\displaystyle{ OX_1, OX_2, OY}\).
Rysuję \(\displaystyle{ \vec{y} = X \vec{\beta}+\vec{e}}\) czyli punkty postaci: \(\displaystyle{ \left( x_{i,1}, x_{i,2}, \beta_1 x_{i,1}+\beta_2 x_{i,2} + c_i\right) }\)
mam pewne 'rozrzucone punkty'.


Teraz chcę na tym samym wykresie narysować płaszczyznę 'najbliższą' tym rozrzuconym punktom, coś jakby obserwacje, które przewiduje model (tak, jak rysuje się prostą w przypadku jednego predyktora (x)). I teraz tą płaszczyzną powinno być: \(\displaystyle{ \left( x_{i,1}, x_{i,2}, \beta_1 x_{i,1}+\beta_2 x_{i,2}\right) }\) i problem w tym, że w tym miejscu dostaję punkty, przez które nie jestem w stanie poprowadzić płaszczyzny, która odpowiadałaby prostej z modelu dla 1 wymiaru.


Rzut prostopadły ta jednych, jak i drugich punktów na płaszczyznę \(\displaystyle{ OX_1, OX_2}\) jest prostą i dlatego każda płaszczyzna, którą przeprowadzę przez punkty, które przewiduje model (te drugie, bez błędu) będzie 'zawierać' również punkty obarczone błędem.
Gdzie robię błąd?

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 23:37
autor: janusz47
Płaszczyznę optymalną najbliższej położoną danym punktom znajdziemy rozwiązując problem optymalizacyjny funkcji dwóch zmiennych.

Re: Regresja liniowa i błąd RSS

: 17 paź 2020, o 23:44
autor: strefa61
Zatem zwykle, gdy rysujemy regresję liniową (wiem, że to nieprecyzyjne, ale powiedzmy przy pierwszej styczności z tym tematem), to rysujemy to, co przewiduje model (czyli faktycznie coś liniowego) oraz to, co zaobserwowaliśmy (czyli rozrzucone punkty, bo do modelu dodajemy błędy), prawda?

Re: Regresja liniowa i błąd RSS

: 18 paź 2020, o 10:07
autor: janusz47
Bardziej precyzyjnie regresji liniowej nie rysujemy. Regresja liniowa jest metodą dopasowania modelu do danych. Metodą liniową - opartą na przekształceniach liniowych (afinicznych). Dla modelu jednowymiarowego możemy narysować prostą regresji i dla niewielu danych sprawdzić jej dopasowanie.
W przypadku dwuwymiarowym trudno jest narysować płaszczyznę regresji. Rysujemy jej przekrój dwuwymiarowy, aby przeanalizować jak wartości dopasowane mogą być interpretowane jako rzut prostopadły wektora \(\displaystyle{ \vec{y} }\) na prostą wyznaczoną wektorem \(\displaystyle{ X.}\)

Re: Regresja liniowa i błąd RSS

: 19 paź 2020, o 21:45
autor: strefa61
Oki, dzięki za pomoc.