Rachunek różniczkowy odwzorowań wielu zmiennych

Streszczenie

Pochodne cząstkowe i gradient, pochodna kierunkowa, różniczka i płaszczyzna styczna, związek różniczkowalności z ciągłością, twierdzenie Schwarza o symetrii pochodnych mieszanych, macierz Jacobiego i wielowymiarowa reguła łańcuchowa, a następnie optymalizacja: warunek konieczny (gradient zero), warunek dostateczny (określoność hesjanu), punkty siodłowe oraz ekstrema warunkowe z mnożnikami Lagrange'a. Każde twierdzenie z dowodem i rysunkiem.

W ekonometrii prawie wszystko jest funkcją wielu zmiennych: funkcja wiarygodności zależy od wektora parametrów, funkcja produkcji — od wielu nakładów, funkcja użyteczności — od koszyka dóbr. Różniczkowanie takich funkcji wymaga nowych pojęć: pochodnej cząstkowej, gradientu, różniczki i hesjanu. Ten rozdział rozszerza rachunek różniczkowy na odwzorowania $\mathbb{R}^n\to\mathbb{R}^m$ i kończy się optymalizacją — bezwarunkową (gradient i hesjan) oraz warunkową (mnożniki Lagrange’a), czyli dokładnie tym, co stoi za estymacją parametrów i teorią wyboru konsumenta.

Pochodne cząstkowe i gradient

Definicja
Pochodna cząstkowa

Pochodną cząstkową funkcji $f\colon\mathbb{R}^n\to\mathbb{R}$ względem zmiennej $x_i$ nazywamy

$$ \frac{\partial f}{\partial x_i}(\mathbf{x})=\lim_{h\to 0}\frac{f(\mathbf{x}+h\mathbf{e}_i)-f(\mathbf{x})}{h}, $$

czyli zwykłą pochodną przy zamrożeniu pozostałych zmiennych. To nachylenie wykresu wzdłuż osi $x_i$.

Powierzchnia z dwoma przekrojami ilustrującymi pochodne cząstkowe
Pochodne cząstkowe jako nachylenia przekrojów: tnąc powierzchnię $z=f(x,y)$ płaszczyzną $y=\text{const}$ dostajemy krzywą, której nachylenie to $\partial f/\partial x$; cięcie $x=\text{const}$ daje $\partial f/\partial y$. Każda mierzy zmianę wzdłuż jednej osi.
Definicja
Gradient

Gradientem nazywamy wektor wszystkich pochodnych cząstkowych:

$$ \nabla f(\mathbf{x})=\Big(\frac{\partial f}{\partial x_1},\dots,\frac{\partial f}{\partial x_n}\Big). $$

Wskazuje on kierunek najszybszego wzrostu funkcji, a jego długość to tempo tego wzrostu. Gradient jest prostopadły do poziomic (warstwic) funkcji.

Pole gradientu prostopadłe do poziomic funkcji
Gradient na mapie poziomic: w każdym punkcie strzałka $\nabla f$ celuje w stronę najszybszego wzrostu — prostopadle do poziomicy i ku gęstszym warstwicom. Algorytmy gradientowe wspinają się dokładnie wzdłuż tych strzałek.
Definicja
Pochodna kierunkowa

Pochodną kierunkową w kierunku wektora jednostkowego $\mathbf{v}$ jest

$$ D_{\mathbf{v}}f(\mathbf{x})=\lim_{t\to 0}\frac{f(\mathbf{x}+t\mathbf{v})-f(\mathbf{x})}{t}. $$

Dla funkcji różniczkowalnej $D_{\mathbf{v}}f=\nabla f\cdot\mathbf{v}$ — rzut gradientu na kierunek $\mathbf{v}$. Stąd wzrost jest największy w kierunku gradientu ($\mathbf{v}\parallel\nabla f$).

Pochodna kierunkowa jako rzut gradientu na kierunek
Pochodna kierunkowa $D_{\mathbf{v}}f=\nabla f\cdot\mathbf{v}$ to rzut gradientu na kierunek $\mathbf{v}$. Maksymalna, gdy $\mathbf{v}$ pokrywa się z $\nabla f$; zerowa, gdy $\mathbf{v}$ jest styczne do poziomicy (idziemy „po warstwicy”).

Różniczka i płaszczyzna styczna

Definicja
Różniczkowalność i różniczka

Funkcja $f$ jest różniczkowalna w $\mathbf{a}$, gdy istnieje wektor $L$ (wówczas $L=\nabla f(\mathbf{a})$) taki, że

$$ f(\mathbf{a}+\mathbf{h})=f(\mathbf{a})+L\cdot\mathbf{h}+o(\lVert\mathbf{h}\rVert), $$

czyli przyrost funkcji jest z dokładnością do reszty wyższego rzędu liniowy w $\mathbf{h}$. Odwzorowanie liniowe $\mathbf{h}\mapsto\nabla f(\mathbf{a})\cdot\mathbf{h}$ to różniczka.

Płaszczyzna styczna do powierzchni jako przybliżenie liniowe
Płaszczyzna styczna $z=f(\mathbf{a})+\nabla f(\mathbf{a})\cdot(\mathbf{x}-\mathbf{a})$ to wielowymiarowy odpowiednik stycznej: w pobliżu $\mathbf{a}$ przylega do powierzchni, dając najlepsze przybliżenie liniowe funkcji dwóch zmiennych.
Twierdzenie
Różniczkowalność a pochodne cząstkowe
Jeśli $f$ jest różniczkowalna w $\mathbf{a}$, to jest tam ciągła i ma wszystkie pochodne cząstkowe, przy czym różniczką jest $\nabla f(\mathbf{a})$. Samo istnienie pochodnych cząstkowych nie wystarcza jednak do różniczkowalności — potrzeba np. ich ciągłości.
Dowód
Różniczkowalność ⇒ ciągłość i pochodne cząstkowe
  1. Ciągłość. Z definicji $f(\mathbf{a}+\mathbf{h})-f(\mathbf{a})=L\cdot\mathbf{h}+o(\lVert\mathbf{h}\rVert)$. Gdy $\mathbf{h}\to\mathbf{0}$, oba składniki dążą do $0$, więc $f(\mathbf{a}+\mathbf{h})\to f(\mathbf{a})$.
  2. Pochodne cząstkowe. Wybierzmy $\mathbf{h}=t\mathbf{e}_i$. Wtedy $$\frac{f(\mathbf{a}+t\mathbf{e}_i)-f(\mathbf{a})}{t}=L_i+\frac{o(|t|)}{t}\xrightarrow[t\to 0]{} L_i.$$ Granica istnieje i równa się $L_i$, więc $\partial f/\partial x_i(\mathbf{a})=L_i$, czyli $L=\nabla f(\mathbf{a})$.
  3. Dlaczego same cząstkowe nie wystarczą. Funkcja może mieć obie pochodne cząstkowe w $\mathbf{0}$ (po obu osiach), a mimo to nie być nawet ciągła — wzdłuż kierunku ukośnego zachowuje się inaczej niż wzdłuż osi. Stąd wymóg różniczki, a nie tylko cząstkowych. $\;$
Kontrprzykład: pochodne cząstkowe istnieją, lecz funkcja nieróżniczkowalna
Przestroga: istnienie pochodnych cząstkowych po obu osiach (nachylenia wzdłuż linii przerywanych) nie gwarantuje różniczkowalności. Funkcja może być nieciągła wzdłuż kierunku ukośnego — jedna płaszczyzna styczna wtedy nie istnieje.
Twierdzenie
Twierdzenie Schwarza o pochodnych mieszanych
Jeśli pochodne mieszane $\dfrac{\partial^2 f}{\partial x\,\partial y}$ i $\dfrac{\partial^2 f}{\partial y\,\partial x}$ istnieją i są ciągłe, to są równe — kolejność różniczkowania nie ma znaczenia.
Przemienny diagram symetrii pochodnych mieszanych
Twierdzenie Schwarza: różniczkując najpierw po $x$, potem po $y$, dochodzimy do tego samego wyniku, co przy odwrotnej kolejności. Diagram „domyka się” — pochodne mieszane są symetryczne, dlatego hesjan jest macierzą symetryczną.

Odwzorowania wektorowe: Jacobian i reguła łańcuchowa

Definicja
Macierz Jacobiego

Dla odwzorowania $\mathbf{F}\colon\mathbb{R}^n\to\mathbb{R}^m$, $\mathbf{F}=(F_1,\dots,F_m)$, macierzą Jacobiego nazywamy macierz wszystkich pochodnych cząstkowych:

$$ J_{\mathbf{F}}(\mathbf{x})=\Big[\frac{\partial F_i}{\partial x_j}\Big]_{m\times n}. $$

Jest to różniczka (najlepsze przybliżenie liniowe) odwzorowania $\mathbf{F}$. Dla $m=n$ jej wyznacznik — jakobian — mierzy lokalną zmianę objętości.

Deformacja kwadratu siatki w równoległobok przez macierz Jacobiego
Macierz Jacobiego jako lokalna deformacja: w małym otoczeniu odwzorowanie $\mathbf{F}$ przekształca kwadracik siatki w równoległobok. Kolumny jakobianu to obrazy wektorów bazowych, a jego wyznacznik — współczynnik zmiany pola.
Twierdzenie
Wielowymiarowa reguła łańcuchowa

Różniczka złożenia jest iloczynem różniczek (macierzy Jacobiego):

$$ J_{\mathbf{g}\circ\mathbf{f}}(\mathbf{x})=J_{\mathbf{g}}\big(\mathbf{f}(\mathbf{x})\big)\cdot J_{\mathbf{f}}(\mathbf{x}). $$

W szczególności dla $z=g(u,v)$, $u=u(t)$, $v=v(t)$: $\dfrac{dz}{dt}=\dfrac{\partial g}{\partial u}\dfrac{du}{dt}+\dfrac{\partial g}{\partial v}\dfrac{dv}{dt}$.

Drzewo zależności wielowymiarowej reguły łańcuchowej
Wielowymiarowa reguła łańcuchowa jako drzewo zależności: $z$ zależy od $u,v$, a te od $t$. Sumujemy wkłady po wszystkich ścieżkach od $t$ do $z$, mnożąc pochodne wzdłuż każdej gałęzi — macierzowy odpowiednik mnożenia temp.

Optymalizacja bez ograniczeń

Twierdzenie
Warunek konieczny ekstremum (gradient zero)
Jeśli różniczkowalna funkcja $f$ ma w wewnętrznym punkcie $\mathbf{a}$ ekstremum lokalne, to $\nabla f(\mathbf{a})=\mathbf{0}$. Takie punkty nazywamy stacjonarnymi lub krytycznymi.
Dowód
Ekstremum ⇒ gradient zero
  1. Redukcja do jednej zmiennej. Ustalmy kierunek osi $x_i$ i rozważmy funkcję jednej zmiennej $\varphi(t)=f(\mathbf{a}+t\mathbf{e}_i)$.
  2. Fermat w jednym wymiarze. Skoro $\mathbf{a}$ jest ekstremum $f$, to $t=0$ jest ekstremum $\varphi$. Z twierdzenia Fermata (rozdział 6) $\varphi'(0)=0$.
  3. To jest pochodna cząstkowa. Ale $\varphi'(0)=\partial f/\partial x_i(\mathbf{a})$. Zatem każda pochodna cząstkowa znika, czyli $\nabla f(\mathbf{a})=\mathbf{0}$. $\;$
Poziomice wokół punktu minimum z zanikającym gradientem
Warunek konieczny: w minimum (środek „doliny” poziomic) gradient znika — strzałki ze wszystkich stron zbiegają się i zanikają. Poziomice tworzą zamknięte pętle wokół punktu stacjonarnego $\nabla f=\mathbf{0}$.
Twierdzenie
Warunek dostateczny (hesjan)
Niech $\nabla f(\mathbf{a})=\mathbf{0}$ i niech hesjan $H=\big[\partial^2 f/\partial x_i\partial x_j\big]$ będzie ciągły. Wtedy: jeśli $H(\mathbf{a})$ jest dodatnio określony — $\mathbf{a}$ jest minimum lokalnym; jeśli ujemnie określony — maksimum; jeśli nieokreślony (różne znaki) — punkt siodłowy.
Dowód
Określoność hesjanu rozstrzyga (przez Taylora 2. rzędu)
  1. Rozwinięcie Taylora. Skoro $\nabla f(\mathbf{a})=\mathbf{0}$, drugi rząd daje $$f(\mathbf{a}+\mathbf{h})-f(\mathbf{a})=\tfrac12\,\mathbf{h}^{\!\top} H(\mathbf{a})\,\mathbf{h}+o(\lVert\mathbf{h}\rVert^2).$$
  2. Hesjan dodatnio określony. Wtedy istnieje $\lambda\gt 0$ z $\mathbf{h}^{\!\top}H\mathbf{h}\ge\lambda\lVert\mathbf{h}\rVert^2$. Dla małych $\mathbf{h}$ człon kwadratowy przeważa nad resztą $o(\lVert\mathbf{h}\rVert^2)$, więc $f(\mathbf{a}+\mathbf{h})\gt f(\mathbf{a})$ — minimum lokalne.
  3. Nieokreślony. Istnieją kierunki $\mathbf{h}_+$ z $\mathbf{h}_+^{\!\top}H\mathbf{h}_+\gt 0$ i $\mathbf{h}_-$ z $\mathbf{h}_-^{\!\top}H\mathbf{h}_-\lt 0$. Wzdłuż jednego funkcja rośnie, wzdłuż drugiego maleje — to siodło.
  4. Maksimum. Symetrycznie, ujemna określoność daje maksimum (zastosuj wynik do $-f$). $\;$
Poziomice eliptyczne minimum kontra hiperboliczne siodła
Określoność hesjanu na poziomicach: dodatnio określony — koncentryczne elipsy wokół minimum (po lewej); nieokreślony — poziomice hiperboliczne wokół siodła (po prawej), gdzie funkcja w jednym kierunku rośnie, a w prostopadłym maleje.
Powierzchnia siodłowa z punktem krytycznym, który nie jest ekstremum
Punkt siodłowy $z=x^2-y^2$: wzdłuż osi $x$ jest minimum, wzdłuż osi $y$ — maksimum. Gradient w środku znika, lecz to nie jest ekstremum — hesjan jest nieokreślony.

Optymalizacja z ograniczeniem: mnożniki Lagrange’a

Twierdzenie
Metoda mnożników Lagrange'a

Szukając ekstremum $f$ na zbiorze opisanym ograniczeniem $g(\mathbf{x})=0$, w punkcie optymalnym (przy $\nabla g\ne\mathbf{0}$) gradienty są współliniowe:

$$ \nabla f(\mathbf{x}^*)=\lambda\,\nabla g(\mathbf{x}^*) $$

dla pewnego mnożnika $\lambda$. Równoważnie: szukamy punktów stacjonarnych funkcji Lagrange’a $\mathcal{L}(\mathbf{x},\lambda)=f(\mathbf{x})-\lambda g(\mathbf{x})$.

Dowód
Geometryczne uzasadnienie warunku Lagrange'a
  1. Ruch po ograniczeniu. Punkty dopuszczalne tworzą krzywą $g(\mathbf{x})=0$. Idąc po niej z prędkością styczną $\mathbf{t}$ (czyli $\nabla g\cdot\mathbf{t}=0$), zmieniamy $f$ w tempie $\nabla f\cdot\mathbf{t}$.
  2. Warunek ekstremum na krzywej. W punkcie optymalnym ruch w żadnym dopuszczalnym kierunku stycznym nie może już zwiększać $f$, więc $\nabla f\cdot\mathbf{t}=0$ dla każdego $\mathbf{t}$ stycznego do ograniczenia.
  3. Współliniowość gradientów. Oznacza to, że $\nabla f$ jest prostopadły do całej przestrzeni stycznej ograniczenia — tak samo jak $\nabla g$. Dwa wektory prostopadłe do tej samej hiperpłaszczyzny są równoległe, więc $\nabla f=\lambda\nabla g$.
  4. Interpretacja. Geometrycznie: w optimum poziomica $f$ jest **styczna** do krzywej ograniczenia (gdyby ją przecinała, dałoby się przesunąć wzdłuż ograniczenia i poprawić $f$). $\;$
Poziomica funkcji styczna do krzywej ograniczenia w optimum warunkowym
Mnożniki Lagrange’a: optimum leży tam, gdzie poziomica funkcji $f$ jest styczna do krzywej ograniczenia $g=0$. W punkcie styczności gradienty $\nabla f$ i $\nabla g$ są równoległe — to równanie $\nabla f=\lambda\nabla g$.
Przykład
Interpretacja mnożnika: cena ukryta

Mnożnik $\lambda$ ma w ekonomii konkretne znaczenie: to tempo zmiany optymalnej wartości funkcji celu przy poluzowaniu ograniczenia. Jeśli ograniczenie ma postać $g(\mathbf{x})=c$, to

$$ \lambda=\frac{d f^*}{d c}, $$

czyli „cena ukryta” (shadow price) jednostki zasobu — o ile wzrosłaby optymalna użyteczność lub zysk, gdyby budżet zwiększyć o jednostkę.

Optymalna wartość funkcji celu w zależności od poziomu ograniczenia
Cena ukryta: optymalna wartość $f^*$ jako funkcja poziomu ograniczenia $c$. Jej nachylenie to mnożnik $\lambda=\tfrac{df^*}{dc}$ — wartość krańcowa rozluźnienia ograniczenia o jednostkę. Stąd interpretacja $\lambda$ jako ceny zasobu.

Podsumowanie

Rozszerzyliśmy różniczkowanie na funkcje wielu zmiennych. Pochodne cząstkowe mierzą zmianę wzdłuż osi, a gradient zbiera je w wektor wskazujący najszybszy wzrost (prostopadły do poziomic); pochodna kierunkowa to rzut gradientu. Kluczowe okazało się rozróżnienie istnienia pochodnych cząstkowych od pełnej różniczkowalności (istnienia płaszczyzny stycznej), a twierdzenie Schwarza zapewniło symetrię hesjanu. Dla odwzorowań wektorowych różniczką jest macierz Jacobiego, a reguła łańcuchowa stała się mnożeniem macierzy. Druga połowa to optymalizacja: warunek konieczny $\nabla f=\mathbf{0}$, warunek dostateczny przez określoność hesjanu (z punktem siodłowym jako ostrzeżeniem) oraz mnożniki Lagrange’a dla zadań z ograniczeniami, wraz z interpretacją mnożnika jako ceny ukrytej. To matematyczny rdzeń estymacji największej wiarygodności i teorii wyboru. W następnym rozdziale przyjrzymy się wypukłości — własności, która zamienia warunki konieczne w dostateczne i gwarantuje, że optimum lokalne jest globalne.

Literatura uzupełniająca
  • K. Maurin, Analiza, cz. I
  • W. Rudin, Podstawy analizy matematycznej
  • R. Sundaram, A First Course in Optimization Theory
Oprogramowanie
  • Python: numpy.gradient, scipy.optimize.minimize (gradient, hesjan)
  • Python: sympy.hessian(f, vars), sympy.diff(f, x, y)
  • R: optim(par, fn, gr, method="BFGS"), numDeriv::hessian