Wielowymiarowa adaptacyjna splajn regresji — Multivariate adaptive regression spline

W statystycznych , wielowymiarowe adaptacyjne wypusty regresji ( MARS ) jest forma analizy regresji wprowadzonego Jerome H. Friedman w 1991. Jest to regresji nieparametryczny techniki i mogą być postrzegane jako przedłużenie modeli liniowych , które automatycznie modele nieliniowości i interakcje zmienne.

Termin „MARS” jest znakiem towarowym i licencjonowanym przez Salford Systems. Aby uniknąć naruszeń znaków towarowych, wiele implementacji MARS o otwartym kodzie źródłowym nazywa się „Ziemią”.

Podstawy

W tej sekcji przedstawiono usługę MARS na kilku przykładach. Zaczynamy od zestawu danych: macierzy zmiennych wejściowych x oraz wektora obserwowanych odpowiedzi y , z odpowiedzią dla każdego wiersza w x . Na przykład dane mogą być:

x tak
10,5 16,4
10,7 18,8
10,8 19,7
... ...
20,6 77,0

Tutaj jest tylko jedna zmienna niezależna , więc macierz x jest tylko jedną kolumną. Biorąc pod uwagę te pomiary, chcielibyśmy zbudować model, który przewiduje oczekiwane y dla danego x .

Model liniowy

Liniowego modelu dla powyższych danych jest

Kapelusz na wskazuje, że jest to oszacowane na podstawie danych. Rysunek po prawej pokazuje wykres tej funkcji: linia podająca przewidywane wartości w funkcji x , z oryginalnymi wartościami y pokazanymi jako czerwone kropki.

Dane na ekstremach x wskazują, że związek między y i x może być nieliniowy (spójrz na czerwone kropki względem linii regresji przy niskich i wysokich wartościach x ). Zwracamy się zatem do MARS o automatyczne zbudowanie modelu uwzględniającego nieliniowości. Oprogramowanie MARS konstruuje model z podanych x i y w następujący sposób

Prosty model MARS tych samych danych

Na rysunku po prawej przedstawia wykres z funkcji: przewidywanych w stosunku x , przy czym oryginalne wartości y ponownie pokazane jako czerwonych kropkami. Przewidywana odpowiedź jest teraz lepiej dopasowana do oryginalnych wartości y .

MARS automatycznie wytworzył załamanie przewidywanego y, aby uwzględnić nieliniowość. Zagięcie jest wytwarzane przez funkcje zawiasów . Funkcje zawiasów to wyrażenia zaczynające się od (gdzie jest if , else ). Funkcje zawiasów są opisane bardziej szczegółowo poniżej.

W tym prostym przykładzie możemy łatwo zobaczyć na wykresie, że y ma nieliniowy związek z x (i być może domyślamy się, że y zmienia się wraz z kwadratem x ). Jednak ogólnie rzecz biorąc, będzie wiele zmiennych niezależnych , a związek między y a tymi zmiennymi będzie niejasny i niełatwy do wykreślenia. Możemy użyć MARS do odkrycia tej nieliniowej relacji.

Przykładowe wyrażenie MARS z wieloma zmiennymi to

Zmienna interakcja w modelu MARS

Wyrażenie to modeluje zanieczyszczenie powietrza (poziom ozonu) jako funkcję temperatury i kilku innych zmiennych. Zauważ, że ostatni termin we wzorze (w ostatnim wierszu) zawiera interakcję między i .

Na rysunku po prawej działek przewidywana jak i różne, przy pozostałych zmiennych na stałym poziomie ich wartości mediany. Rysunek pokazuje, że wiatr nie wpływa na poziom ozonu, chyba że widoczność jest słaba. Widzimy, że MARS może budować dość elastyczne powierzchnie regresji, łącząc funkcje zawiasów.

Aby uzyskać powyższe wyrażenie, procedura budowania modelu MARS automatycznie wybiera, których zmiennych użyć (niektóre zmienne są ważne, inne nie), pozycje zagięć w funkcjach zawiasu oraz sposób łączenia funkcji zawiasu.

Model MARS

MARS buduje modele formy

Model jest ważoną sumą funkcji bazowych . Każdy jest stałym współczynnikiem. Na przykład każda linia we wzorze na ozon to jedna funkcja bazowa pomnożona przez jej współczynnik.

Każda funkcja podstawowa przyjmuje jedną z trzech następujących postaci:

1) stała 1. Jest tylko jeden taki wyraz, wyraz wolny. W powyższym wzorze ozonu termin przechwytywania wynosi 5,2.

2) funkcja zawiasu . Funkcja zawiasu ma postać lub . MARS automatycznie wybiera zmienne i wartości tych zmiennych dla węzłów funkcji zawiasowych. Przykłady takich funkcji bazowych można zobaczyć w środkowych trzech liniach wzoru ozonu.

3) produkt o dwóch lub więcej funkcjach zawiasowych. Te funkcje podstawowe mogą modelować interakcję między dwiema lub większą liczbą zmiennych. Przykładem jest ostatni wiersz formuły ozonu.

Funkcje zawiasów

Lustrzana para zawiasów działa z węzłem przy x=3,1

Kluczową częścią modeli MARS są funkcje zawiasów przybierające formę

lub

gdzie jest stałą, zwaną węzłem . Rysunek po prawej pokazuje lustrzaną parę funkcji zawiasów z węzłem na 3,1.

Funkcja zawiasu ma wartość zero dla części jej zakresu, więc może być użyta do podziału danych na rozłączne regiony, z których każdy może być traktowany niezależnie. Na przykład w wyrażeniu funkcjonuje lustrzana para zawiasów

tworzy odcinkowo liniowy wykres przedstawiony dla prostego modelu MARS w poprzedniej sekcji.

Można założyć, że tylko odcinkowo funkcje liniowe można utworzyć z funkcji zawiasowych, ale funkcje zawiasowe można pomnożyć razem, tworząc funkcje nieliniowe.

Funkcje zawiasów są również nazywane funkcjami rampy , kija hokejowego lub prostownika . Zamiast notacji użytej w tym artykule, funkcje zawiasów są często reprezentowane przez miejsce, w którym środki odgrywają pozytywną rolę.

Proces budowania modelu

MARS buduje model w dwóch fazach: podania do przodu i do tyłu. To dwuetapowe podejście jest takie samo, jak w przypadku rekurencyjnych drzew partycjonujących .

Przejście do przodu

MARS zaczyna się od modelu, który składa się tylko z wyrazu przecięcia (który jest średnią wartości odpowiedzi).

MARS następnie wielokrotnie dodaje do modelu funkcję bazową w parach. Na każdym kroku znajduje parę funkcji bazowych, która daje maksymalną redukcję błędu resztowego sumy kwadratów (jest to algorytm zachłanny ). Dwie podstawowe funkcje w parze są identyczne, z wyjątkiem tego, że dla każdej funkcji używana jest inna strona funkcji lustrzanego zawiasu. Każda nowa funkcja bazowa składa się z wyrazu już w modelu (który może być wyrazem przecięcia) pomnożonym przez nową funkcję zawiasu. Funkcja zawiasu jest definiowana przez zmienną i węzeł, więc aby dodać nową funkcję bazową, MARS musi przeszukać wszystkie kombinacje następujących elementów:

1) istniejące terminy (zwane w tym kontekście terminami nadrzędnymi )

2) wszystkie zmienne (aby wybrać jedną dla nowej funkcji bazowej)

3) wszystkie wartości każdej zmiennej (dla węzła nowej funkcji zawiasu).

Aby obliczyć współczynnik każdego wyrazu, MARS stosuje regresję liniową nad wyrazami.

Ten proces dodawania terminów trwa do momentu, gdy zmiana błędu resztowego jest zbyt mała, aby kontynuować lub do osiągnięcia maksymalnej liczby terminów. Maksymalna liczba terminów jest określana przez użytkownika przed rozpoczęciem budowania modelu.

Wyszukiwanie na każdym etapie odbywa się metodą brute-force , ale kluczowym aspektem MARS jest to, że ze względu na naturę funkcji zawiasów wyszukiwanie można przeprowadzić stosunkowo szybko przy użyciu techniki szybkiej aktualizacji metodą najmniejszych kwadratów. Właściwie poszukiwania nie są brutalną siłą. Wyszukiwanie można przyspieszyć za pomocą heurystyki, która zmniejsza liczbę terminów nadrzędnych do rozważenia na każdym kroku („Szybki MARS”).

Przejście do tyłu

Podanie do przodu zwykle buduje model overfit . (Model overfit dobrze pasuje do danych użytych do zbudowania modelu, ale nie będzie dobrze uogólniać na nowe dane.) Aby zbudować model z lepszą zdolnością generalizacji, wsteczny przebieg przycina model. Usuwa terminy jeden po drugim, usuwając najmniej efektywny termin na każdym kroku, aż znajdzie najlepszy podmodel. Podzbiory modeli są porównywane przy użyciu opisanego poniżej kryterium GCV.

Podanie w tył ma przewagę nad podaniem w przód: na każdym kroku może wybrać dowolny wyraz do usunięcia, podczas gdy podanie w przód na każdym kroku może zobaczyć tylko następną parę wyrazów.

Przebieg w przód dodaje składniki w parach, ale przebieg wsteczny zwykle odrzuca jedną stronę pary, a zatem w ostatecznym modelu często nie widać składników w parach. Zawias sparowany można zobaczyć w równaniu dla w pierwszym przykładzie MARS powyżej; w przykładzie ozonu nie zachowano żadnych kompletnych par.

Uogólniona walidacja krzyżowa

Przebieg wsteczny wykorzystuje uogólnioną walidację krzyżową (GCV) do porównania wydajności podzbiorów modeli w celu wybrania najlepszego podzbioru: niższe wartości GCV są lepsze. GCV jest formą regularyzacji : kompromis między dobrocią dopasowania a złożonością modelu.

(Chcemy oszacować, jak dobrze model działa na nowych danych, a nie na danych uczących. Takie nowe dane zwykle nie są dostępne w czasie tworzenia modelu, więc zamiast tego używamy GCV do oszacowania, jaka będzie wydajność na nowych danych. surowa rezydualna suma kwadratów (RSS) na danych uczących jest niewystarczająca do porównywania modeli, ponieważ RSS zawsze rośnie w miarę odrzucania warunków MARS.Innymi słowy, jeśli RSS byłyby używane do porównywania modeli, przebieg wsteczny zawsze wybierałby największy model — ale największy model zazwyczaj nie zapewnia najlepszej wydajności uogólniania).

Wzór na GCV to

GCV = RSS / ( N · (1 − (efektywna liczba parametrów) / N ) 2 )

gdzie RSS to resztkowa suma kwadratów zmierzona na danych uczących, a N to liczba obserwacji (liczba wierszy w macierzy x ).

W EffectiveNumberOfParameters jest określony w kontekście jako MARS

(efektywna liczba parametrów) = (liczba terminów Mars) + (kara) · ((liczba terminów Mars) − 1 ) / 2

gdzie kara wynosi około 2 lub 3 (oprogramowanie MARS pozwala użytkownikowi na ustawienie kary).

Zauważ, że

(liczba terminów dotyczących Marsa − 1 ) / 2

to liczba węzłów z funkcją zawiasów, więc wzór nie pozwala na dodawanie węzłów. W ten sposób formuła GCV dostosowuje (tj. zwiększa) treningowy RSS, aby uwzględnić elastyczność modelu. Karzemy elastyczność, ponieważ modele, które są zbyt elastyczne, będą modelować konkretną realizację szumu w danych, a nie tylko systematyczną strukturę danych.

Uogólnione sprawdzanie poprawności krzyżowej jest tak nazwane, ponieważ używa formuły do ​​przybliżenia błędu, który zostałby określony przez walidację z pominięciem jednego. To tylko przybliżenie, ale sprawdza się w praktyce. GCV zostały wprowadzone przez Cravena i Wahbę i rozszerzone przez Friedmana dla MARS.

Ograniczenia

Wspomniano już o jednym ograniczeniu: użytkownik może określić maksymalną liczbę terminów w przejściu do przodu.

Dalsze ograniczenie można nałożyć na przejście do przodu, określając maksymalny dopuszczalny stopień interakcji. Zazwyczaj dozwolony jest tylko jeden lub dwa stopnie interakcji, ale wyższe stopnie mogą być używane, gdy dane to uzasadniają. Maksymalny stopień interakcji w pierwszym przykładzie MARS powyżej to jeden (tj. brak interakcji lub model addytywny ); w przykładzie ozonu jest to dwa.

Możliwe są inne ograniczenia dotyczące podania do przodu. Na przykład użytkownik może określić, że interakcje są dozwolone tylko dla określonych zmiennych wejściowych. Takie ograniczenia mogą mieć sens ze względu na znajomość procesu, który wygenerował dane.

Plusy i minusy

Żadna technika modelowania regresji nie jest najlepsza we wszystkich sytuacjach. Poniższe wytyczne mają na celu dać wyobrażenie o zaletach i wadach MARS, ale będą wyjątki od wytycznych. Przydatne jest porównanie MARS z partycjonowaniem rekurencyjnym i jest to zrobione poniżej. (Rekurencyjny podział jest powszechnie nazywany drzew regresji , drzewa decyzyjne , lub KOSZYK ; patrz rekurencyjną partycjonowania artykuł dla szczegółów).

  • Modele MARS są bardziej elastyczne niż modele regresji liniowej .
  • Modele MARS są łatwe do zrozumienia i interpretacji. Porównaj powyższe równanie stężenia ozonu z, powiedzmy, wnętrzem wytrenowanej sieci neuronowej lub losowego lasu .
  • MARS może obsługiwać zarówno dane ciągłe, jak i kategoryczne. MARS wydaje się być lepszy niż rekurencyjne partycjonowanie dla danych liczbowych, ponieważ zawiasy są bardziej odpowiednie dla zmiennych liczbowych niż odcinkowo stała segmentacja używana przez partycjonowanie rekurencyjne.
  • Budowanie modeli MARS często wymaga niewielkiego lub żadnego przygotowania danych. Funkcje zawiasów automatycznie dzielą dane wejściowe, dzięki czemu efekt wartości odstających jest uwzględniony. Pod tym względem MARS jest podobny do partycjonowania rekurencyjnego, które również dzieli dane na rozłączne regiony, chociaż przy użyciu innej metody. (Niemniej jednak, podobnie jak w przypadku większości technik modelowania statystycznego, znane wartości odstające należy rozważyć do usunięcia przed trenowaniem modelu MARS.)
  • MARS (podobnie jak partycjonowanie rekurencyjne) dokonuje automatycznego wyboru zmiennych (co oznacza, że ​​uwzględnia ważne zmienne w modelu i wyklucza nieistotne). Jednak w doborze może występować pewna dowolność, zwłaszcza gdy istnieją skorelowane predyktory, co może wpływać na interpretację
  • Modele MARS mają zwykle dobry kompromis pomiędzy odchyleniami i odchyleniami. Modele są wystarczająco elastyczne, aby modelować interakcje nieliniowe i zmienne (stąd modele MARS mają dość niski błąd systematyczny), jednak ograniczona forma funkcji bazowych MARS zapobiega zbyt dużej elastyczności (stąd modele MARS mają dość niską wariancję).
  • MARS nadaje się do obsługi dość dużych zestawów danych. Jest rutynową zbudować model Mars z matrycy wejściowej, powiedzmy, 100 predykcyjnych i 10 5 obserwacji. Taki model można zbudować w około minutę na maszynie 1 GHz, przy założeniu, że maksymalny stopień interakcji członów MARS jest ograniczony do jednego (tj. tylko człony addytywne). Model drugiego stopnia z tymi samymi danymi na tej samej maszynie 1 GHz zajmuje więcej czasu — około 12 minut. Pamiętaj, że te czasy są w dużym stopniu zależne od danych. Partycjonowanie rekurencyjne jest znacznie szybsze niż MARS.
  • W przypadku modeli MARS, podobnie jak w przypadku każdej regresji nieparametrycznej, przedziały ufności parametrów i inne kontrole modelu nie mogą być obliczane bezpośrednio (w przeciwieństwie do modeli regresji liniowej ). Do walidacji modelu należy zamiast tego zastosować walidację krzyżową i techniki pokrewne.
  • Modele MARS nie dają tak dobrych dopasowań jak drzewa wzmocnione , ale można je budować znacznie szybciej i są bardziej interpretowalne. (Model „interpretowalny” ma postać, która jasno pokazuje, jaki jest efekt każdego predyktora).
  • earth, mdaI polsplineimplementacje nie pozwalają brakujących wartości w predyktory, ale darmowe implementacje drzew regresji (takie jak rparta party) nie pozwalają brakujących wartości za pomocą techniki zwanej zastępcze rozłamy.
  • Modele MARS mogą szybko dokonywać prognoz. Funkcja predykcji musi po prostu ocenić wzór modelu MARS. Porównaj to z przewidywaniem za pomocą, powiedzmy, maszyny wektorów nośnych , gdzie każda zmienna musi być pomnożona przez odpowiedni element każdego wektora nośnego. Może to być powolny proces, jeśli istnieje wiele zmiennych i wiele wektorów wsparcia.
  • Wynikowa funkcja dopasowania nie jest płynna (nie można jej różnicować wzdłuż zawiasów).

Rozszerzenia i powiązane koncepcje

  • Uogólnione modele liniowe (GLM) można włączyć do modeli MARS, stosując funkcję łącza po zbudowaniu modelu MARS. Na przykład modele MARS mogą uwzględniać regresję logistyczną w celu przewidywania prawdopodobieństw.
  • Regresja nieliniowa jest stosowana, gdy znana jest podstawowa forma funkcji, a regresja jest używana tylko do oszacowania parametrów tej funkcji. Z drugiej strony MARS szacuje same funkcje, aczkolwiek z poważnymi ograniczeniami natury funkcji. (Te ograniczenia są konieczne, ponieważ odkrywanie modelu na podstawie danych jest problemem odwrotnym, który nie jest dobrze postawiony bez ograniczeń modelu).
  • Partycjonowanie rekurencyjne (powszechnie nazywane CART). MARS można postrzegać jako uogólnienie rekurencyjnego partycjonowania, które pozwala modelowi lepiej obsługiwać dane liczbowe (tj. niekategoryczne).
  • Uogólnione modele addytywne . Z punktu widzenia użytkownika GAM są podobne do MARS, ale (a) zamiast funkcji bazowych MARS pasują gładkie lessy lub wielomianowe splajny oraz (b) nie modelują automatycznie interakcji zmiennych. Metoda dopasowania stosowana wewnętrznie przez GAMs bardzo różni się od metody MARS. W przypadku modeli, które nie wymagają automatycznego wykrywania zmiennych interakcji, GAM często korzystnie konkurują z MARS.
  • TSMARY . Szeregi czasowe Mars to termin używany, gdy modele MARS są stosowane w kontekście szeregów czasowych. Zazwyczaj w tej konfiguracji predyktorami są opóźnione wartości szeregów czasowych, co skutkuje autoregresyjnymi modelami sklejanymi. Te modele i rozszerzenia obejmujące modele splajnu średniej ruchomej są opisane w „Modelowanie i prognozowanie jednowymiarowych szeregów czasowych przy użyciu TSMARS: badanie progowych modeli autoregresyjnych, sezonowych i średnich ruchomych szeregów czasowych przy użyciu TSMARS”.
  • Bayesian MARS (BMARS) używa tego samego formularza modelu, ale buduje model przy użyciu podejścia bayesowskiego. Może dojść do różnych optymalnych modeli MARS, ponieważ podejście do budowania modelu jest inne. Wynikiem BMARS jest zazwyczaj zbiór próbek a posteriori modeli MARS, co pozwala na przewidywanie probabilistyczne.

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki

Dostępnych jest kilka bezpłatnych i komercyjnych pakietów oprogramowania do dopasowania modeli typu MARS.

Darmowe oprogramowanie
Oprogramowanie komercyjne
  1. ^ Denison, DGT; Holmes, CC; Mallick, BK; Smith, AFM (2002). Bayesowskie metody klasyfikacji i regresji nieliniowej . Chichester, Anglia: Wiley. Numer ISBN 978-0-471-49036-4.