Zobaczmy, co się dzieje. Jestem pewien, że znasz już większość następujących materiałów, ale aby ustalić notację i definicje oraz wyjaśnić idee, omówię podstawy regresji wielomianowej przed udzieleniem odpowiedzi na pytanie. Jeśli chcesz, przeskocz do nagłówka „Co R
robi” około dwie trzecie drogi do tego postu, a następnie pomiń wszelkie potrzebne definicje.
Ustawienie
Jesteśmy rozważa n × k modelem macierzy X potencjalnych zmiennych objaśniających w pewnego rodzaju regresji. Oznacza to, że myślimy o kolumnach X jako o n wektorach X1, X2), … , Xk i będziemy tworzyć ich liniowe kombinacje, β1X1+β2X2+⋯+βkXk, aby przewidzieć lub oszacować odpowiedź.
Czasami regresję można poprawić, wprowadzając dodatkowe kolumny utworzone przez pomnożenie przez siebie różnych kolumn X , współczynnik przez współczynnik. Takie produkty nazywane są „monomialami” i można je pisać w podobny sposób
Xd11Xd22⋯Xdkk
gdzie każda „moc” di jest równa zero lub większa, reprezentując ile razy każdy X1 pojawia się w produkcie. Zauważ, że X0 jest wektorem n stałych współczynników ( 1 ), a X1=X sam X. Tak więc, jednomianów (wektory) tworzą przestrzeń wektorową, która zawiera pierwotnego obszaru kolumny X. Możliwość, że może to być większa przestrzeń wektorowa, daje tej procedurze większy zakres do modelowania odpowiedzi za pomocą kombinacji liniowych.
Zamierzamy zastąpić pierwotną macierz modelu X kolekcją liniowych kombinacji monomialów. Gdy stopień co najmniej jednego z tych monomialów przekracza 1, nazywa się to regresją wielomianową.
Gradacje wielomianów
Stopień z Jednomian jest sumą swoich uprawnień, d1+d2+…+dk. Stopień liniowej kombinacji monomialów („wielomian”) jest największym stopniem wśród terminów jednomianowych o niezerowych współczynnikach. Stopień ma wewnętrzne znaczenie, ponieważ po zmianie podstawy oryginalnej przestrzeni wektorowej każdy wektor Xi jest na nowo reprezentowany przez liniową kombinację wszystkich wektorów; monomiały Xd11Xd22⋯Xdkkw ten sposób stają się wielomianami tego samego stopnia; i w konsekwencji stopień dowolnego wielomianu pozostaje niezmieniony.
Stopień zapewnia naturalne „stopniowanie” tej algebry wielomianowej: przestrzeń wektorowa generowana przez wszystkie liniowe kombinacje monomialów w X stopnia do d+1, włącznie , zwane „wielomianami [lub do] stopnia d+1 w X, "rozciąga przestrzeni wektorowej wielomianów aż do stopni d w X.
Zastosowania regresji wielomianowej
Często regresja wielomianowa ma charakter eksploracyjny w tym sensie, że na początku nie wiemy, które monomale należy uwzględnić. Proces tworzenia nowych matryc modelowych z monomialów i ponownego dopasowania regresji może wymagać powtórzenia wiele razy, być może astronomicznej liczby razy w niektórych ustawieniach uczenia maszynowego.
Głównymi problemami z tym podejściem są
Monomialy często wprowadzają problematyczne ilości „wielokoliniowości” w nowej matrycy modelu, przede wszystkim dlatego, że moce jednej zmiennej są zwykle kolinearne. (Kolinearność między potęgami dwóch różnych zmiennych jest nieprzewidywalna, ponieważ zależy od tego, jak te zmienne są powiązane, a zatem jest mniej przewidywalna.)
Zmiana tylko jednej kolumny macierzy modelu lub wprowadzenie nowej lub usunięcie jednej może wymagać „zimnego restartu” procedury regresji, co może zająć dużo czasu na obliczenia.
Klasyfikacje algebr wielomianowych stanowią sposób na rozwiązanie obu problemów.
Wielomiany ortogonalne w jednej zmiennej
Biorąc pod uwagę wektor X pojedynczej kolumny , zestaw „wielomianów ortogonalnych” dla X jest sekwencją wektorów kolumnowych p 0 ( X ) , p 1 ( X ) , p 2 ( X ) , … utworzonych jako liniowe kombinacje monomialów w samym X - czyli jako potęgi X - o następujących właściwościach:X,Xp0(X),p1(X),p2(X),…XX
Dla każdego stopnia d=0,1,2,…, wektory p0(X),p1(X),…,pd(X) wytworzenia z tej samej przestrzeni wektora jako X0,X1,…,Xd. (Zauważ, że X0 jest wektorem n jedynek, a X1 to tylko X samo.)
pi(X) są wzajemnie ortogonalne w tym sensie, że dla i≠j, pi(X)′pj(X)=0.
Zazwyczaj zastępcza macierz modelu P=(p0(X)p1(X)⋯pd(X))
utworzona z tych monomianów jest wybierana jako ortonormalna przez normalizację kolumn do długości jednostkowej: P′P=Id+1.
Ponieważ odwrotność P′P pojawia się w większości równań regresji, a odwrotność macierzy tożsamości Id+1 jest sam w sobie, co stanowi ogromny zysk obliczeniowy.
Ortogonalność bardzo prawie determinuje pi(X). Możesz to zobaczyć według budowy:
Pierwszy wielomianu p0(X), może być wielokrotnością n -vector 1 =(1,1,…,1 )′ o długości jednostkowej. Istnieją tylko dwie opcje, ± 1 / n---√1 . Zazwyczaj wybiera się dodatni pierwiastek kwadratowy.
Drugi wielomian, p1( X) , musi być prostopadły do 1 . To może być uzyskane przez regresję X na 1 , których rozwiązanie jest wektorem wartości średnie x = ˉ X 1 . Jeżeli pozostałości ε = X - X nie są identyczne zerowa, dają dwóch jedynych możliwych rozwiązań p 1 ( X ) = ± ( 1 / | | ε | |X^= X¯1 .ϵ = X- X^p1( X) = ± ( 1 / | | ϵ | | )ϵ .
...
- Ogólnie, pre+ 1( X) otrzymuje się przez regresję Xre+ 1 na p0( X) , s1( X) , … , Sre( X) i Przeskalowywanie pozostałości jako wektor o długości jednostkowej. Istnieją dwie możliwości wyboru znaku, gdy reszty nie są równe zero. W przeciwnym razie proces się skończy: patrzenie na wyższe potęgi X. będzie bezowocne . (To fajne twierdzenie, ale jego dowód nie musi nas tutaj rozpraszać.)
Jest to proces Gram-Schmidta zastosowany do wewnętrznej sekwencji wektorów X0, X1, … , Xre, ... . Zwykle jest obliczany przy użyciu rozkładu QR, który jest prawie taki sam, ale obliczany w sposób stabilny numerycznie.
Ta konstrukcja daje sekwencję dodatkowych kolumn, które należy rozważyć, uwzględniając w matrycy modelu. Dlatego regresja wielomianowa w jednej zmiennej zwykle przebiega przez dodawanie elementów tej sekwencji jeden po drugim, w kolejności, dopóki nie zostanie osiągnięta żadna dalsza poprawa regresji. Ponieważ każda nowa kolumna jest prostopadła do poprzednich, w tym nie zmienia żadnych poprzednich oszacowań współczynników. To sprawia, że procedura jest wydajna i łatwa do interpretacji.
Wielomiany w wielu zmiennych
Regresja eksploracyjna (a także dopasowanie modelu) zwykle przebiega najpierw, biorąc pod uwagę, które (oryginalne) zmienne należy uwzględnić w modelu; następnie oceniając, czy zmienne te można rozszerzyć, uwzględniając różne ich transformacje, takie jak monomialy; a następnie wprowadzenie „interakcji” utworzonych z iloczynów tych zmiennych i ich ponownego wyrażenia.
Wykonanie takiego programu zaczynałoby się od utworzenia osobnych wielowymiarowych ortogonalnych wielomianów w kolumnach X oddzielnie. Po wybraniu odpowiedniego stopnia dla każdej kolumny należy wprowadzić interakcje.
W tym momencie rozkładają się części programu jednowymiarowego. Jaką sekwencję interakcji zastosowałbyś jeden po drugim, dopóki nie zostanie zidentyfikowany odpowiedni model? Co więcej, teraz, gdy naprawdę wkroczyliśmy w sferę analizy wielowymiarowej, liczba dostępnych opcji i ich rosnąca złożoność sugerują, że może dojść do malejących zysków przy konstruowaniu sekwencji wielowymiarowych ortogonalnych wielomianów. Jeśli jednak miałeś na myśli taką sekwencję, możesz ją obliczyć za pomocą rozkładu QR.
Co R
robi
Oprogramowanie do regresji wielomianowej ma zatem tendencję do koncentrowania się na obliczaniu jednowymiarowych ortogonalnych sekwencji wielomianowych. Charakterystyczne jest, R
aby rozszerzać takie wsparcie tak automatycznie, jak to możliwe, na grupy wielomianów jednowymiarowych. To co poly
robi. (Jego towarzyszem polym
jest zasadniczo ten sam kod, z mniejszą liczbą dzwonków i gwizdków; obie funkcje robią to samo).
W szczególności poly
obliczy sekwencję wielowymiarowych wielomianów ortogonalnych, gdy otrzyma pojedynczy wektor X, zatrzymując się w określonym stopniu re. (Jeśli re jest zbyt duże - i może być trudno przewidzieć, jak duże jest zbyt duże - niestety generuje błąd.) Gdy otrzymamy zestaw wektorów X1, … , Xk w postaci macierzy X , powróci
p1( Xjot) , s2)( Xjot) , … , Sre( Xjot)jotre.p0( Xja)R
re.
re.2)re= 2 , R
p1( X1) ,p2)( X1) ,p1( X2)) ,p1( X1) p1( X2)) ,p2)( X2)) .
R
p2)( X1) p1( X2)) , p1( X1) p2)( X2))p1( X2)) p2)( X2))formula
p1( X1) p1( X2)) .p1( X1)p1( X2))
Przykład
X = ⎛⎝⎜152)3)64⎞⎠⎟.
X1=(1,5,2)′X01=(1,1,1)′p0(X1)=(1,1,1)′/3–√≈(0.58,0.58,0.58)′.X11=X1p0(X1),X1p0(X1)p1(X1)X1p1(X1)=(−0.57,0.79,−0.23)′.X21=(1,25,4)p0(X1)p1(X1)X1n=3X1,(t−1)(t−5)(t−4),3,3 lub większe to liniowe kombinacje niższych mocy, a te niższe moce są liniowo niezależne).
X1
P1=⎛⎝⎜0.580.580.58−0.570.79−0.230.590.20−0.78⎞⎠⎟
(do dwóch znaczących cyfr).
X2
P2=⎛⎝⎜0.580.580.58−0.620.77−0.150.530.27−0.80⎞⎠⎟.
(0.35,0.61,0.035)′.poly
polym
P=⎛⎝⎜−0.570.79−0.230.590.20−0.78−0.620.77−0.150.350.610.0350.530.27−0.80⎞⎠⎟.
X1X2P′P,(1,2),(2,1),(3,5),( 5 , 3 )( 1 , 1 ) , ( 2 , 2 ) , ( 3 , 3 ) ,( 5 , 5 )( 4 , 4 )
P.′P = ⎛⎝⎜⎜⎜⎜⎜⎜1010,280,09101- 0,0910,311- 0,09110,2500,280,30,250,50,320,091100,321⎞⎠⎟⎟⎟⎟⎟⎟.
P.10- 17