Odpowiem na to w trzech krokach: po pierwsze, określmy dokładnie, co rozumiemy przez gładkość jednowymiarową. Następnie opiszemy gładką wielowymiarową (w szczególności gładką dwóch zmiennych). Na koniec postaram się jak najlepiej opisać gładki produkt tensorowy.
1) Płynna jednowymiarowa
Powiedzmy, że mamy pewne dane odpowiedzi które, jak przypuszczamy, są nieznaną funkcją zmiennej predykcyjnej plus pewien błąd . Model byłby:f xyfxε
y=f(x)+ε
Teraz, aby dopasować ten model, musimy zidentyfikować funkcjonalną formę . Sposób, w jaki to robimy, polega na identyfikowaniu funkcji bazowych, które są nakładane w celu reprezentowania funkcji w całości. Bardzo prostym przykładem jest regresja liniowa, w której funkcjami podstawowymi są po prostu i , punkt przecięcia. Stosując rozszerzenie podstawy, mamyf β 2 x β 1ffβ2xβ1
y=β1+β2x+ε
W postaci macierzy mielibyśmy:
Y=Xβ+ε
Gdzie jest wektorem kolumny n-na-1, jest matrycą modelu n-na-2, jest wektorem kolumny 2 na 1 o współczynnikach modelu, a jest wektorem kolumn n-na-1 błędów . ma dwie kolumny, ponieważ w naszym rozszerzeniu podstawowym istnieją dwa terminy: termin liniowy i punkt przecięcia.X β ε XYXβεX
Ta sama zasada dotyczy rozszerzania bazy w MGCV, chociaż funkcje bazowe są znacznie bardziej wyrafinowane. W szczególności indywidualne funkcje bazowe nie muszą być definiowane w pełnej domenie zmiennej niezależnej . Dzieje się tak często w przypadku korzystania z baz opartych na węzłach (patrz „przykład oparty na węzłach”x). Model jest następnie reprezentowany jako suma funkcji podstawowych, z których każda jest oceniana przy każdej wartości zmiennej niezależnej. Jednakże, jak wspomniałem, niektóre z tych funkcji bazowych przyjmują wartość zero poza danym interwałem, a zatem nie przyczyniają się do rozszerzenia bazy poza ten interwał. Jako przykład weźmy pod uwagę sześcienną podstawę splajnu, w której każda funkcja bazowa jest symetryczna względem innej wartości (węzła) zmiennej niezależnej - innymi słowy, każda funkcja bazowa wygląda tak samo, ale jest tylko przesunięta wzdłuż osi zmiennej niezależnej (jest to nadmierne uproszczenie, ponieważ każda praktyczna podstawa będzie również obejmować przechwytywanie i termin liniowy, ale mam nadzieję, że masz pomysł).
Mówiąc wprost, podstawowe rozszerzenie wymiaru mogłoby wyglądać następująco:i−2
y=β1+β2x+β3f1(x)+β4f2(x)+...+βifi−2(x)+ε
gdzie każda funkcja jest być może funkcją sześcienną zmiennej niezależnej .xfx
Równanie macierzowe można nadal wykorzystać do przedstawienia naszego modelu. Jedyna różnica polega na tym, że jest teraz macierzą n-by-i; oznacza to, że ma kolumnę dla każdego terminu w rozwinięciu podstawowym (w tym punkt przecięcia i termin liniowy). Ponieważ proces rozszerzania podstawy pozwolił nam przedstawić model w postaci równania macierzowego, możemy zastosować liniowe najmniejsze kwadraty, aby dopasować model i znaleźć współczynniki . X βY=Xβ+εXβ
Jest to przykład niezenalizowanej regresji, a jedną z głównych zalet MGCV jest oszacowanie gładkości za pomocą macierzy kar i parametru wygładzania. Innymi słowy, zamiast:
β=(XTX)−1XTY
mamy:
β=(XTX+λS)−1XTY
gdzie jest kwadratową macierzą kar -by- , a jest skalarnym parametrem wygładzania. Nie będę tu wchodził w specyfikację macierzy kar, ale wystarczy powiedzieć, że dla dowolnej podstawy rozwinięcie jakiejś niezależnej zmiennej i zdefiniowanie kwadratowej kary „wiggliness” (na przykład kara drugiej pochodnej), jedna można obliczyć matrycy kara .i i λ S.SiiλS
MGCV może wykorzystywać różne metody szacowania optymalnego parametru wygładzania . Nie będę wchodził w ten temat, ponieważ moim celem tutaj było przedstawienie szerokiego przeglądu tego, jak zbudowana jest gładka jednowymiarowa, co, jak sądzę, zrobiłem.λ
2) Płynna wielowymiarowa
Powyższe objaśnienie można uogólnić na wiele wymiarów. Wróćmy do naszego modelu, który daje odpowiedź jako funkcję przewidywaczy i . Ograniczenie do dwóch niezależnych zmiennych zapobiegnie zaśmiecaniu wyjaśnienia notacją tajemną. Model jest wtedy:f x zyfxz
y=f(x,z)+ε
Teraz intuicyjnie powinno być oczywiste, że będziemy reprezentować z rozszerzeniem podstawy (to jest superpozycją funkcji bazowych), tak jak to zrobiliśmy w przypadku jednowymiarowego przypadku powyżej. Powinno być również oczywiste, że co najmniej jedna, a prawie na pewno wiele innych z tych funkcji bazowych musi być funkcjami zarówno jak i (gdyby tak nie było, to domyślnie byłoby możliwe do rozdzielenia tak, że ). Wizualną ilustrację wielowymiarowej podstawy splajnu można znaleźć tutaj . Pełne dwuwymiarowe rozszerzenie wymiaru może wyglądać mniej więcej tak:f ( x ) x z f f ( x , z ) = f x ( x ) + f z ( z )f(x,z)f(x)xzff(x,z)=fx(x)+fz(z)i−3
y=β1+β2x+β3z+β4f1(x,z)+...+βifi−3(x,z)+ε
Myślę, że jest całkiem jasne, że nadal możemy to przedstawić w postaci macierzy za pomocą:
Y=Xβ+ε
po prostu oceny poszczególnych funkcji bazowych na każdej unikalnej kombinacji i . Rozwiązaniem jest nadal:zxz
β=(XTX)−1XTY
Obliczenie macierzy kar za drugą pochodną jest bardzo takie samo jak w przypadku jednowymiarowym, z tym wyjątkiem, że zamiast całkowania drugiej pochodnej każdej funkcji bazowej w odniesieniu do jednej zmiennej, całkujemy sumę wszystkich drugich pochodnych (w tym częściowych) w odniesieniu do do wszystkich zmiennych niezależnych. Szczegóły powyższego nie są szczególnie ważne: chodzi o to, że nadal możemy konstruować macierz kar i użyć tej samej metody, aby uzyskać optymalną wartość parametru wygładzania , a biorąc pod uwagę ten parametr wygładzania, wektor współczynników jest nadal:λSλ
β=(XTX+λS)−1XTY
Ta dwuwymiarowa gładka ma teraz karę izotropową : oznacza to, że jedna wartość obowiązuje w obu kierunkach. Działa to dobrze, gdy zarówno jak i są w przybliżeniu w tej samej skali, na przykład w aplikacji przestrzennej. Ale co jeśli zastąpimy zmienną przestrzenną zmienną czasową ? Jednostki mogą być znacznie większe lub mniejsze niż jednostki , a to może zepsuć całkowanie naszych drugich pochodnych, ponieważ niektóre z tych pochodnych przyczynią się nieproporcjonalnie do ogólnej integracji (na przykład, jeśli mierzymy w nanosekundach i x z z t t x t x t x xλxzzttxtxw latach świetlnych całka drugiej pochodnej w odniesieniu do może być znacznie większa niż całka drugiej pochodnej w odniesieniu do , a zatem „zawrotność” wzdłuż kierunku może pozostać w dużej mierze niezakategoryzowana). Slajd 15 „gładkiego zestawu narzędzi”, który podłączyłem, zawiera więcej szczegółów na ten temat.txx
Warto zauważyć, że nie rozłożyliśmy funkcji bazowych na binarne podstawy i . Wynika z tego, że wygładzenia wielowymiarowe muszą być zbudowane z podstaw obsługujących wiele zmiennych. Wygładzenia produktu Tensor wspierają konstrukcję baz wielowymiarowych z bazowych jednowymiarowych, jak wyjaśnię poniżej.zxz
3) Produkt Tensor wygładza
Wygładzanie produktu Tensor rozwiązuje problem modelowania odpowiedzi na interakcje wielu wejść z różnymi jednostkami. Załóżmy, że mamy odpowiedź która jest funkcją zmiennej przestrzennej i zmiennej czasowej . Nasz model to:f x tyfxt
y=f(x,t)+ε
Co chcielibyśmy zrobić, to zbudować dwuwymiarowy podstawę dla zmiennych i . Będzie to o wiele łatwiejsze, jeśli będziemy mogli reprezentować jako:t fxtf
f(x,t)=fx(x)ft(t)
W sensie algebraicznym / analitycznym niekoniecznie jest to możliwe. Pamiętajmy jednak, że dyskretyzujemy dziedziny i (wyobraźmy sobie dwuwymiarową „sieć” określoną przez położenie węzłów na osiach i ), tak że „prawdziwa” funkcja jest reprezentowana przez superpozycję funkcji podstawowych . Tak jak zakładaliśmy, że bardzo złożoną funkcję jednowymiarową można aproksymować prostą funkcją sześcienną w określonym przedziale jej dziedziny, możemy założyć, że funkcja nierozdzielalna może być aproksymowana przez iloczyn funkcji prostszych ixtxtff(x,t)fx(x)ft(t) w odstępach - pod warunkiem, że nasz wybór podstawowych wymiarów sprawia, że odstępy te są wystarczająco małe!
Nasza ekspansja podstawy, biorąc pod uwagę wymiarową podstawę w oraz wymiarową podstawę w , wyglądałby wtedy następująco:ixjt
y=β1+β2x+β3fx1(x)+β4fx2(x)+...+βifx(i−3)(x)+βi+1t+βi+2tx+βi+3tfx1(x)+βi+4tfx2(x)+...+β2itfx(i−3)(x)+β2i+1ft1(t)+β2i+2ft1(t)x+β2i+3ft1(t)fx1(x)+βi+4ft1(t)fx2(x)+...+β2ift1(t)fx(i−3)(x)+…+βijft(j−3)(t)fx(i−3)(x)+ε
Co można interpretować jako iloczyn tensorowy. Wyobrazić, że oceniano każdej funkcji bazowych w i , tym samym konstruowania n-o-i wzór n-o-j macierzy i odpowiednio. Moglibyśmy obliczyć -by- tensorowy produkt z tych dwóch modeli matryce i reorganizacji do kolumn, tak, że każda kolumna reprezentuje unikalną kombinację . Przypomnijmy, że macierze modelu krańcowego miały odpowiednio kolumny i . Wartości te odpowiadają ich odpowiednim wymiarom bazowym. Nasza nowa podstawa z dwiema zmiennymi powinna zatem mieć wymiarxtXTn2ij X⊗Tijijij, a zatem taka sama liczba kolumn w macierzy modelu.
UWAGA: Chciałbym zwrócić uwagę, że ponieważ wyraźnie skonstruowaliśmy funkcje bazowe iloczynu tensorowego, przyjmując iloczyny funkcji bazowych brzeżnych, podstawy iloczynu tensorowego można konstruować z baz brzeżnych dowolnego typu. Nie muszą obsługiwać więcej niż jednej zmiennej, w przeciwieństwie do wielowymiarowej gładkości omówionej powyżej.
W rzeczywistości proces ten powoduje ogólne rozszerzenie podstawy wymiaru ponieważ pełne zwielokrotnienie obejmuje pomnożenie każdej funkcji bazowej przez przecięcie x (więc odejmujemy ), a także mnożenie każdego funkcja podstawowa według t-przecięcia (więc odejmujemy ), ale musimy dodać przecięcie samo w sobie (więc dodajemy 1). Jest to znane jako stosowanie ograniczenia identyfikowalności.ij−i−j+1tβx1jxβt1i
Możemy to przedstawić jako:
y=β1+β2x+β3t+β4f1(x,t)+β5f2(x,t)+...+βij−i−j+1fij−i−j−2(x,t)+ε
Gdzie każda z wielowymiarowych funkcji bazowych jest iloczynem pary marginalnych funkcji bazowych i . Znów jest całkiem jasne, skonstruując tę podstawę, że nadal możemy to przedstawić za pomocą równania macierzowego:fxt
Y=Xβ+ε
Które (wciąż) ma rozwiązanie:
β=(XTX)−1XTY
Gdzie macierz modelu ma kolumny. Jeśli chodzi o macierze kar i , są one konstruowane osobno dla każdej zmiennej niezależnej w następujący sposób:i j - i - j + 1 J x J tXij−i−j+1JxJt
Jx=βTIj⊗Sxβ
i,
Jt=βTSt⊗Iiβ
Pozwala to na ogólną karę anizotropową (różną w każdym kierunku) (uwaga: kary za drugą pochodną są sumowane przy każdym węźle na osi i odwrotnie). Parametry wygładzania i można teraz oszacować w podobny sposób, jak pojedynczy parametr wygładzania był dla wygładzeń jednowymiarowych i wielowymiarowych. W rezultacie ogólny kształt gładkości produktu tensorowego jest niezmienny w przypadku przeskalowywania jego zmiennych niezależnych.t λ x λ txtλxλt
Polecam przeczytanie wszystkich winiet na stronie MGCV, a także „ Uogólnione modele addytywne: i wprowadzenie za pomocą R. ” Niech żyje Simon Wood.