Wielomiany ortogonalne w jednowymiarowym zestawie punktów są wielomianami, które wytwarzają wartości na tych punktach w taki sposób, że iloczyn skalarny i korelacja par są zerowe. R może wytwarzać ortogonalne wielomiany z funkcją poli .
Ta sama funkcja ma wariant polimorficzny, który tworzy wielomiany ortogonalne na zestawie punktów na wielu odmianach. W każdym razie powstałe wielomiany nie są ortogonalne w sensie korelacji zerowej parami. W rzeczywistości, ponieważ wielomiany pierwszego rzędu mają być tylko oryginalnymi zmiennymi, wielomiany pierwszego rzędu nie będą ortogonalne, chyba że pierwotne zmienne nie są skorelowane.
Następnie moje pytania to:
- Jakie są wielowymiarowe ortogonalne wielomiany obliczane przez polimorf w R? Czy są tylko produktem wielowymiarowych ortogonalnych wielomianów? Do czego są używane?
- Czy mogą istnieć prawdziwe wielowymiarowe ortogonalne wielomiany? Czy istnieje prosty sposób na ich wyprodukowanie? W R? Czy faktycznie są stosowane w regresji?
Aktualizacja
W odpowiedzi na komentarz Superpronkera podam jeden przykład tego, co mam na myśli z nieskorelowanymi wielomianami:
> x<-rnorm(10000)
> cor(cbind(poly(x,degree=3)))
1 2 3
1 1.000000e+00 -6.809725e-17 2.253577e-18
2 -6.809725e-17 1.000000e+00 -2.765115e-17
3 2.253577e-18 -2.765115e-17 1.000000e+00
Funkcja Poly zwraca ortogonalne wielomiany obliczone w punktach x (tutaj 10 000 punktów dla każdego wielomianu). Korelacja między wartościami na różnych wielomianach wynosi zero (z pewnym błędem numerycznym).
Podczas korzystania z wielowymiarowych wielomianów korelacje są różne od zera:
> x<-rnorm(1000)
> y<-rnorm(1000)
> cor(cbind(polym(x,y,degree=2)))
1.0 2.0 0.1 1.1 0.2
1.0 1.000000e+00 2.351107e-17 2.803716e-02 -0.02838553 3.802363e-02
2.0 2.351107e-17 1.000000e+00 -1.899282e-02 0.10336693 -8.205039e-04
0.1 2.803716e-02 -1.899282e-02 1.000000e+00 0.05426440 5.974827e-17
1.1 -2.838553e-02 1.033669e-01 5.426440e-02 1.00000000 8.415630e-02
0.2 3.802363e-02 -8.205039e-04 5.974827e-17 0.08415630 1.000000e+00
Dlatego nie rozumiem, w jakim sensie te dwuwymiarowe wielomiany są ortogonalne.
Aktualizacja 2
Chcę wyjaśnić znaczenie „wielomianów ortogonalnych” używanych w regresji, ponieważ kontekst ten może być w pewnym sensie mylący przy stosowaniu pomysłów z wielomianów ortogonalnych w połączonych interwałach - jak w ostatnim komentarzu Superpronkera.
Cytuję Regresję praktyczną Juliana J. Faraway'a i Anovę przy użyciu stron R 101 i 102:
Wielomiany ortogonalne omijają ten problem, definiując
itd., gdzie współczynniki a, b, c ... są wybrane tak, że kiedy . Z nazywane są wielomianami ortogonalnymi.
Przy lekkim nadużyciu języka autor używa zarówno dla wielomianu (jako funkcji), jak i dla wektora wartości wielomian przyjmuje punkty zbioru . A może wcale nie jest to nadużycie języka, ponieważ od początku książki był predyktorem (np. Zestaw wartości przyjmowanych przez predyktor).
Znaczenie ortogonalnych wielomianów w rzeczywistości nie różni się od ortogonalnych wielomianów w danym przedziale. Możemy zdefiniować ortogonalne wielomiany w zwykły sposób (przy użyciu całek) w dowolnym zestawie mierzalnym z dowolną funkcją miary. Mamy tutaj zestaw skończony ( ) i używamy iloczynu zamiast całki, ale nadal są to ortogonalne wielomiany, jeśli weźmiemy naszą funkcję miary jako delta Diraca w punktach naszego skończonego zbioru.
A w odniesieniu do korelacji: iloczyn iloczynu wektorów ortogonalnych w (jako obraz wektorów ortogonalnych na zbiorze skończonym). Jeśli iloczyn iloczynu dwóch wektorów wynosi zero, kowariancja wynosi zero, a jeśli kowariancja wynosi zero, korelacja wynosi zero. W kontekście modeli liniowych bardzo przydatne jest powiązanie „ortogonalnego” i „nieskorelowanego”, jak w „ortogonalnym projekcie eksperymentów”.
Odpowiedzi:
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żan × 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 kolumnX , współczynnik przez współczynnik. Takie produkty nazywane są „monomialami” i można je pisać w podobny sposób
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 modeluX 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⋯Xdkk w 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 wX 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, X p0(X),p1(X),p2(X),… X X
Dla każdego stopniad=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.)
Zazwyczaj zastępcza macierz modeluP=(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 determinujepi(X). Możesz to zobaczyć według budowy:
Pierwszy wielomianup0(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 / | | ϵ | | )ϵ .
...
Jest to proces Gram-Schmidta zastosowany do wewnętrznej sekwencji wektorówX0, 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 kolumnachX 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
robiOprogramowanie 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 copoly
robi. (Jego towarzyszempolym
jest zasadniczo ten sam kod, z mniejszą liczbą dzwonków i gwizdków; obie funkcje robią to samo).W szczególnościX, 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
poly
obliczy sekwencję wielowymiarowych wielomianów ortogonalnych, gdy otrzyma pojedynczy wektorR
R
R
formula
Przykład
(do dwóch znaczących cyfr).
poly
polym
źródło
R