Algebra liniowa — wektory i macierze

Streszczenie

Algebra liniowa wyłożona od podstaw: geneza (układy równań, eliminacja Gaussa, macierze Cayleya, wyznaczniki), wektory i ich operacje, iloczyn skalarny, norma i kąt, kombinacja liniowa i baza, macierze i mnożenie z pełnym rachunkiem, macierz jako przekształcenie liniowe, wyznacznik jako pole, macierz odwrotna, wartości i wektory własne, geometria układów równań, regresja w zapisie macierzowym i rzut prostopadły w 2D i 3D oraz uogólnienie na ℝⁿ. Każde pojęcie i każdy przykład z osobnym rysunkiem.

Algebra liniowa jest językiem, w którym zapisuje się całą ekonometrię. Model regresji — niezależnie od liczby zmiennych — sprowadza się do jednego wzoru macierzowego $\hat{\boldsymbol\beta}=(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\mathbf{y}$, a jego zrozumienie wymaga rachunku wektorów i macierzy. Niniejszy rozdział buduje ten rachunek od podstaw: od genezy pojęcia, przez wektory, macierze i ich geometryczne znaczenie, aż po wartości własne i rzut prostopadły w przestrzeni $\mathbb{R}^n$. Każde pojęcie i każdy przykład otrzymuje osobny rysunek.

Geneza algebry liniowej

Algebra liniowa wyrosła z najbardziej praktycznego z problemów — rozwiązywania układów równań liniowych. Już w starożytnych chińskich Dziewięciu rozdziałach o sztuce matematycznej (ok. II w. p.n.e.) zapisywano współczynniki układu w prostokątnej tablicy i przekształcano ją do postaci, z której odczytywano rozwiązanie — była to faktycznie metoda eliminacji, którą dziś nazywamy eliminacją Gaussa. W XVII i XVIII wieku Leibniz i Cramer wprowadzili wyznaczniki jako narzędzie rozstrzygające o istnieniu rozwiązania. Sam termin „macierz” pochodzi od Jamesa Sylvestra (1850), a rachunek macierzowy — działania, mnożenie, odwracanie — usystematyzował Arthur Cayley w 1858 roku. Pojęcie wektora dojrzewało równolegle, w pracach Hamiltona i Grassmanna nad wielkościami mającymi kierunek. Z tych dwóch nurtów — równań i wielkości skierowanych — powstała jednolita teoria, którą rozpoczynamy od wektora.

Wektory

Definicja
Wektor

Wektor to uporządkowana lista liczb (współrzędnych), zapisywana zwykle w kolumnie:

$$ \mathbf{x}=\begin{pmatrix}x_1\\x_2\\\vdots\\x_n\end{pmatrix}. $$

Geometrycznie wektor w $\mathbb{R}^2$ lub $\mathbb{R}^3$ to strzałka prowadząca od początku układu do punktu o danych współrzędnych.

Wektor jako strzałka i jego długość
Wektor $\mathbf{x}=(3,2)$ jako strzałka od początku układu. Jego długość $\|\mathbf{x}\|=\sqrt{3^2+2^2}=\sqrt{13}$ wynika z twierdzenia Pitagorasa.

Wektory mają sens także w trzech i więcej wymiarach. Strzałka w $\mathbb{R}^3$ ma trzy współrzędne, a jej rzuty na osie wyznaczają „pudełko”, którego przekątną jest sam wektor.

Wektor w przestrzeni trójwymiarowej z rzutami na osie
Wektor $\mathbf{x}=(2,3,2)$ w przestrzeni trójwymiarowej. Linie przerywane to rzuty na osie i płaszczyznę podstawy; długość wektora to przekątna prostopadłościanu, $\|\mathbf{x}\|=\sqrt{2^2+3^2+2^2}=\sqrt{17}$.

Operacje na wektorach

Dodawanie i mnożenie przez liczbę wykonujemy po współrzędnych:

$$ \mathbf{a}+\mathbf{b}=(a_1+b_1,\dots,a_n+b_n),\qquad c\,\mathbf{a}=(ca_1,\dots,ca_n). $$

Geometrycznie dodawanie odpowiada przyłożeniu jednej strzałki do końca drugiej — suma jest przekątną równoległoboku rozpiętego na obu wektorach.

Dodawanie wektorów metodą równoległoboku
Dodawanie wektorów metodą równoległoboku: $\mathbf{a}+\mathbf{b}$ to przekątna równoległoboku rozpiętego na $\mathbf{a}$ i $\mathbf{b}$ (równoważnie: $\mathbf{b}$ przyłożone do końca $\mathbf{a}$).

Iloczyn skalarny, norma i kąt

Definicja
Iloczyn skalarny i norma

Iloczyn skalarny dwóch wektorów to suma iloczynów odpowiadających współrzędnych:

$$ \mathbf{a}\cdot\mathbf{b}=\sum_{i=1}^{n}a_i b_i. $$

Norma (długość) wektora to $\|\mathbf{x}\|=\sqrt{\mathbf{x}\cdot\mathbf{x}}=\sqrt{x_1^2+\dots+x_n^2}$. Iloczyn skalarny wiąże się z kątem między wektorami wzorem $\mathbf{a}\cdot\mathbf{b}=\|\mathbf{a}\|\,\|\mathbf{b}\|\cos\theta$.

Z ostatniego wzoru wynika kluczowy wniosek: dwa niezerowe wektory są prostopadłe (ortogonalne) dokładnie wtedy, gdy ich iloczyn skalarny wynosi zero (bo $\cos 90°=0$). Ta równoważność jest fundamentem geometrii metody najmniejszych kwadratów.

Iloczyn skalarny, rzut wektora i kąt
Iloczyn skalarny wiąże się z rzutem jednego wektora na drugi oraz z kątem $\theta$ między nimi: $\mathbf{a}\cdot\mathbf{b}=\|\mathbf{a}\|\,\|\mathbf{b}\|\cos\theta$. Gdy wektory są prostopadłe, iloczyn wynosi zero.

Kombinacja liniowa, rozpięcie i baza

Łącząc dodawanie i mnożenie przez liczbę, tworzymy kombinację liniową wektorów: $c_1\mathbf{v}_1+c_2\mathbf{v}_2+\dots$. Zbiór wszystkich takich kombinacji nazywamy rozpięciem (powłoką liniową) tych wektorów. Dwa niewspółliniowe wektory rozpinają całą płaszczyznę — każdy jej punkt da się osiągnąć jako jedyna ich kombinacja. Taki minimalny zestaw wektorów rozpinających przestrzeń to baza.

Kombinacja liniowa dwóch wektorów osiągająca zadany punkt
Punkt $(3,4)$ jako kombinacja liniowa $2\mathbf{v}_1+\mathbf{v}_2$. Idąc dwa razy wzdłuż $\mathbf{v}_1$, a potem raz wzdłuż $\mathbf{v}_2$, docieramy do celu. Dwa niewspółliniowe wektory rozpinają całą płaszczyznę.

Macierze

Definicja
Macierz
Macierz to prostokątna tablica liczb. Macierz o $m$ wierszach i $n$ kolumnach ma wymiar $m\times n$, a jej element w wierszu $i$ i kolumnie $j$ oznaczamy $a_{ij}$. Transpozycja $\mathbf{A}^\top$ zamienia wiersze z kolumnami: $(\mathbf{A}^\top)_{ij}=a_{ji}$.

Mnożenie macierzy

Iloczyn $\mathbf{C}=\mathbf{A}\mathbf{B}$ (gdzie $\mathbf{A}$ jest $m\times k$, a $\mathbf{B}$ jest $k\times n$) ma elementy będące iloczynami skalarnymi wierszy $\mathbf{A}$ przez kolumny $\mathbf{B}$:

$$ c_{ij}=\sum_{l=1}^{k}a_{il}\,b_{lj}. $$

Wymiary wewnętrzne muszą się zgadzać ($k=k$), a wynik ma wymiary zewnętrzne $m\times n$. Mnożenie macierzy nie jest przemienne: na ogół $\mathbf{AB}\ne\mathbf{BA}$.

Przykład
Mnożenie macierzy 2×2
$$ \begin{pmatrix}1&2\\3&4\end{pmatrix}\begin{pmatrix}5&6\\7&8\end{pmatrix}=\begin{pmatrix}19&22\\43&50\end{pmatrix}. $$

Element w prawym górnym rogu to iloczyn skalarny pierwszego wiersza przez drugą kolumnę: $1\cdot 6+2\cdot 8=22$. Pozostałe elementy liczymy analogicznie.

Mnożenie macierzy jako iloczyn skalarny wiersza i kolumny
Mnożenie macierzy element po elemencie: wyróżniony wynik $22$ powstaje z iloczynu skalarnego pierwszego wiersza lewej macierzy i drugiej kolumny prawej: $1\cdot 6+2\cdot 8=22$.

Macierz jako przekształcenie liniowe

Najgłębsze znaczenie macierzy jest geometryczne: macierz $\mathbf{A}$ przekształca każdy wektor $\mathbf{x}$ w nowy wektor $\mathbf{A}\mathbf{x}$, deformując całą przestrzeń w sposób liniowy. Aby zrozumieć takie przekształcenie, wystarczy wiedzieć, dokąd trafiają wektory bazowe — reszta wynika z liniowości.

Macierz jako przekształcenie liniowe
Macierz jako przekształcenie liniowe: mnożenie przez $\mathbf{A}$ przeprowadza kwadrat jednostkowy na równoległobok rozpięty na obrazach wektorów bazowych $\mathbf{A}\mathbf{e}_1$ i $\mathbf{A}\mathbf{e}_2$.

Konkretnym przykładem jest ścinanie (shear): macierz $\bigl(\begin{smallmatrix}1&1\\0&1\end{smallmatrix}\bigr)$ pozostawia oś poziomą bez zmian, lecz przesuwa górną krawędź w bok, przekształcając kwadrat w pochylony równoległobok.

Przekształcenie ścinające kwadratu jednostkowego
Przekształcenie ścinające $\bigl(\begin{smallmatrix}1&1\\0&1\end{smallmatrix}\bigr)$: kwadrat jednostkowy (przerywany) przechodzi w pochylony równoległobok. Punkty na dole pozostają, punkty wyżej przesuwają się tym bardziej, im wyżej leżą.

Wyznacznik

Definicja
Wyznacznik

Wyznacznik macierzy kwadratowej mierzy, ile razy przekształcenie zmienia pole (w 2D) lub objętość (w 3D). Dla macierzy $2\times 2$

$$ \det\begin{pmatrix}a&b\\c&d\end{pmatrix}=ad-bc. $$

Wartość bezwzględna wyznacznika to pole równoległoboku rozpiętego na kolumnach; znak mówi o orientacji. Wyznacznik zerowy oznacza, że przekształcenie „spłaszcza” przestrzeń (kolumny są współliniowe) — macierz jest wtedy nieodwracalna.

Wyznacznik jako pole równoległoboku rozpiętego na kolumnach
Wyznacznik jako pole: kolumny $(3,1)$ i $(1,2)$ rozpinają równoległobok o polu $\det=3\cdot2-1\cdot1=5$. Gdyby wyznacznik wynosił zero, równoległobok zdegenerowałby się do odcinka.

Macierz odwrotna

Macierz jednostkowa $\mathbf{I}$ (jedynki na przekątnej, zera poza nią) spełnia $\mathbf{AI}=\mathbf{IA}=\mathbf{A}$ — jest odpowiednikiem liczby $1$. Macierz odwrotna $\mathbf{A}^{-1}$ to taka, że $\mathbf{A}\mathbf{A}^{-1}=\mathbf{A}^{-1}\mathbf{A}=\mathbf{I}$; istnieje tylko dla macierzy kwadratowych o niezerowym wyznaczniku. Dla $2\times 2$:

$$ \begin{pmatrix}a&b\\c&d\end{pmatrix}^{-1}=\frac{1}{ad-bc}\begin{pmatrix}d&-b\\-c&a\end{pmatrix}. $$

Dzielenie przez $ad-bc$ tłumaczy, dlaczego zerowy wyznacznik uniemożliwia odwrócenie — przekształcenie nieodwracalnie traci wymiar.

Wartości i wektory własne

Niektóre wektory pod działaniem macierzy nie zmieniają kierunku — zostają jedynie rozciągnięte lub ściśnięte. Taki wektor to wektor własny, a współczynnik rozciągnięcia — wartość własna.

Definicja
Wartość i wektor własny

Niezerowy wektor $\mathbf{v}$ jest wektorem własnym macierzy $\mathbf{A}$, jeżeli

$$ \mathbf{A}\mathbf{v}=\lambda\,\mathbf{v} $$

dla pewnej liczby $\lambda$ — wartości własnej. Mnożenie przez $\mathbf{A}$ działa na $\mathbf{v}$ jak zwykłe skalowanie.

Wektor własny pozostający na swojej prostej i wektor zwykły obrócony
Dla macierzy $\bigl(\begin{smallmatrix}2&1\\1&2\end{smallmatrix}\bigr)$ wektor $\mathbf{v}=(1,1)$ jest własny: $\mathbf{A}\mathbf{v}=(3,3)=3\mathbf{v}$ leży na tej samej prostej (wartość własna $3$). Zwykły wektor $\mathbf{w}=(1,0)$ zostaje obrócony — jego obraz $\mathbf{A}\mathbf{w}=(2,1)$ schodzi z pierwotnego kierunku.

Wartości własne opisują „naturalne osie” przekształcenia i są kluczowe w analizie głównych składowych (PCA), badaniu stabilności modeli oraz w strukturze macierzy kowariancji.

Geometria układów równań

Układ dwóch równań liniowych z dwiema niewiadomymi to geometrycznie dwie proste na płaszczyźnie. Liczba rozwiązań zależy od ich wzajemnego położenia: proste przecinające się dają jedno rozwiązanie, równoległe — brak, a pokrywające się — nieskończenie wiele. Ten sam podział obowiązuje w wyższych wymiarach (płaszczyzny w $\mathbb{R}^3$ i dalej) i tłumaczy, kiedy model ma jednoznaczne rozwiązanie.

Trzy przypadki liczby rozwiązań układu równań liniowych
Trzy możliwości dla układu dwóch równań liniowych: proste przecinające się ($1$ rozwiązanie), równoległe ($0$ rozwiązań) oraz pokrywające się ($\infty$ rozwiązań). Liczba rozwiązań to położenie prostych względem siebie.

Regresja w zapisie macierzowym

Cały model regresji liniowej zapisuje się macierzowo niezależnie od liczby zmiennych. Mając $n$ obserwacji i $k$ zmiennych objaśniających, układamy macierz danych $\mathbf{X}$ wymiaru $n\times(k+1)$ (pierwsza kolumna to jedynki dla wyrazu wolnego), wektor parametrów $\boldsymbol\beta$ oraz wektor obserwacji $\mathbf{y}$. Model i jego rozwiązanie to

$$ \mathbf{y}=\mathbf{X}\boldsymbol\beta+\boldsymbol\varepsilon,\qquad \hat{\boldsymbol\beta}=(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\mathbf{y}. $$

Estymator $\hat{\boldsymbol\beta}$ minimalizuje $\|\mathbf{y}-\mathbf{X}\boldsymbol\beta\|^2$ — kwadrat normy wektora reszt, czyli sumę kwadratów odchyleń. Pełne wyprowadzenie tego wzoru przedstawiamy w rozdziale o metodzie najmniejszych kwadratów.

Geometria: rzut prostopadły

Dlaczego rzut prostopadły jest najlepszy.

Kolumny macierzy $\mathbf{X}$ rozpinają pewną podprzestrzeń $\mathrm{col}(\mathbf{X})$. Wektor obserwacji $\mathbf{y}$ zwykle w niej nie leży. Najlepszym dopasowaniem $\hat{\mathbf{y}}=\mathbf{X}\hat{\boldsymbol\beta}$ jest rzut prostopadły $\mathbf{y}$ na tę podprzestrzeń, ponieważ to on minimalizuje odległość. Wektor reszt $\hat{\boldsymbol\varepsilon}=\mathbf{y}-\hat{\mathbf{y}}$ jest wtedy prostopadły do podprzestrzeni — gdyby nie był, dałoby się go skrócić, a dopasowanie nie byłoby najlepsze. Warunek prostopadłości $\mathbf{X}^\top\hat{\boldsymbol\varepsilon}=\mathbf{0}$ to właśnie równania normalne.

Rzut prostopadły wektora y na przestrzeń kolumn — geometria MNK
Geometria MNK na płaszczyźnie: obserwacje $\mathbf{y}$ rzutujemy prostopadle na przestrzeń kolumn $\mathrm{col}(\mathbf{X})$. Najlepsze dopasowanie $\hat{\mathbf{y}}$ to ten rzut, a reszty $\hat{\boldsymbol\varepsilon}$ są do niego prostopadłe — stąd minimalna długość.
Rzut prostopadły wektora y na płaszczyznę kolumn w przestrzeni 3D
Ten sam rzut w 3D: $\mathbf{y}$ rzutuje się na płaszczyznę $\mathrm{col}(\mathbf{X})$, dając $\hat{\mathbf{y}}$. Reszty $\hat{\boldsymbol\varepsilon}$ (linia przerywana) padają prostopadle na płaszczyznę — to warunek optymalności i źródło równań normalnych $\mathbf{X}^\top\hat{\boldsymbol\varepsilon}=\mathbf{0}$.

Algebra liniowa w $\mathbb{R}^n$.

Każde pojęcie tego rozdziału — wektor, iloczyn skalarny, prostopadłość, rzut — przenosi się bez zmian na dowolny wymiar. W regresji wektory $\mathbf{y}$, $\hat{\mathbf{y}}$ i reszty żyją w przestrzeni $\mathbb{R}^n$ o tylu wymiarach, ile jest obserwacji (często tysiące). Przestrzeni tej nie da się narysować, lecz reguły pozostają identyczne jak na płaszczyźnie i w przestrzeni: rzut prostopadły minimalizuje odległość, a prostopadłość reszt do kolumn $\mathbf{X}$ definiuje estymator MNK. To właśnie siła algebry liniowej — jeden zapis i jedna geometria działają w każdym wymiarze, niezależnie od tego, czy potrafimy je narysować.

Zastosowanie — studium przypadku: portfel Markowitza

Najbardziej znanym ekonomicznym zastosowaniem algebry liniowej jest teoria portfela Harry’ego Markowitza (Nagroda Nobla 1990). Inwestor dzieli kapitał między dwa aktywa o stopach zwrotu i ryzyku: A ($\mu_A=6\%$, $\sigma_A=10\%$) oraz B ($\mu_B=12\%$, $\sigma_B=20\%$), skorelowane współczynnikiem $\rho=0{,}2$. Wagi $w$ i $1-w$ wyznaczają portfel, którego wariancję zapisujemy formą kwadratową z macierzą kowariancji:

$$ \sigma_p^2=\mathbf{w}^\top\boldsymbol\Sigma\,\mathbf{w}=w^2\sigma_A^2+(1-w)^2\sigma_B^2+2w(1-w)\,\rho\sigma_A\sigma_B. $$

Portfel o najmniejszym ryzyku znajdujemy, przyrównując pochodną do zera (warunek z rozdziału o pochodnych):

$$ w^\*=\frac{\sigma_B^2-\rho\sigma_A\sigma_B}{\sigma_A^2+\sigma_B^2-2\rho\sigma_A\sigma_B}=\frac{0{,}04-0{,}004}{0{,}05-0{,}008}\approx 0{,}857. $$

Optymalny portfel stanowi zatem $\approx 85{,}7\%$ aktywa A i $14{,}3\%$ aktywa B, o ryzyku $\sigma_p\approx 9{,}6\%$ i zwrocie $\mu_p\approx 6{,}9\%$ — mniejszym ryzyku niż którekolwiek z aktywów osobno. To efekt dywersyfikacji, opisany językiem iloczynu skalarnego i macierzy kowariancji.

Granica efektywna portfela Markowitza z punktem minimalnej wariancji
Granica efektywna portfela Markowitza: każdemu podziałowi kapitału między dwa aktywa odpowiada punkt $(\sigma_p,\mu_p)$. Punktem najbardziej na lewo jest portfel o minimalnej wariancji ($\sigma_p\approx 9{,}6\%$) — dzięki niedoskonałej korelacji aktywów leży on na lewo od obu z osobna.

Dla wielu aktywów wagi tworzą wektor $\mathbf{w}\in\mathbb{R}^n$, a ryzyko portfela to forma kwadratowa $\mathbf{w}^\top\boldsymbol\Sigma\mathbf{w}$ — minimalizacja przy ograniczeniu $\sum w_i=1$ to klasyczne zadanie algebry liniowej rozwiązywane mnożnikami Lagrange’a. Tak teoria macierzy staje się narzędziem zarządzania ryzykiem.

Literatura

Podręczniki polskie

  • T. Trzaskalik, Wprowadzenie do badań operacyjnych z komputerem, PWE, Warszawa.
  • A. Białynicki-Birula, Algebra liniowa z geometrią, PWN.
  • J. Rutkowski, Algebra liniowa w zadaniach, PWN.

Klasyki światowe i ekonomiczne

  • G. Strang, Introduction to Linear Algebra, Wellesley-Cambridge Press, 2016.
  • S. Axler, Linear Algebra Done Right, Springer, 2015.

Artykuły

  • H. Markowitz, Portfolio Selection, The Journal of Finance 7 (1952), 77–91. DOI: 10.2307/2975974.
Definicja
Hasła w słowniku

Podsumowanie

Algebra liniowa zaczyna się od wektorów i macierzy, lecz jej istotą jest geometria: macierz to przekształcenie przestrzeni, wyznacznik to skala pola, wektory własne to jego naturalne osie, a rzut prostopadły to najlepsze dopasowanie. Zapis macierzowy modelu regresji i jego rozwiązanie $\hat{\boldsymbol\beta}=(\mathbf{X}^\top\mathbf{X})^{-1}\mathbf{X}^\top\mathbf{y}$ działają w przestrzeni $\mathbb{R}^n$ o dowolnej liczbie wymiarów — stąd uniwersalność tego języka w ekonometrii.

Następnie: Statystyka opisowa

Literatura uzupełniająca
Oprogramowanie
  • Python: A @ B (mnożenie), A.T (transpozycja), np.linalg.inv(A), np.linalg.det(A), np.linalg.eig(A)
  • R: A %*% B, t(A), solve(A), det(A), eigen(A)