W poprzednich artykułach poświęconych dostępnej w IBM SPSS Statistics / PS IMAGO PRO procedurze Automatyczne modele liniowe, zapoznaliśmy się z przeglądarką wyników oraz z metodami doboru zmiennych do modelu. Dzisiejszy wpis poświęcimy metodom modeli zespolonych.
Podejście wielomodelowe
Metody modeli zespolonych zyskały na popularności w latach 90 tych. Główna idea polega na wykorzystaniu kilku różnych modeli, z których każdy ma swój błąd predykcji, tak aby ten błąd zredukować. Prowadzi to do zwiększenia stabilności modelu i doprecyzowania predykcji. Modele zespolone wykorzystywane są zarówno do rozwiązywania problemów regresyjnych (oszacowywania zmiennej ilościowej) jak i problemów klasyfikacyjnych. Dość powszechnie znajdują one zastosowanie przy budowie drzew klasyfikacyjnych lub sieci neuronowych. Łączenie modeli realizuje pewna funkcja agregacji. W modelach regresji jest nią bardzo często uśredniony wynik predykcji pośrednich modeli. W problemach klasyfikacyjnych natomiast, bardzo często mówimy o metodach głosowania do klasyfikacji. Przykładowo, budujemy dziesięć modeli do klasyfikacji klientów na tych zainteresowanych zakupem i niezainteresowanych zakupem produktu. Ostateczne przypisanie do kategorii realizujemy na podstawie większościowego głosowania wszystkich zbudowanych modeli.
Czym się one różnią? Modele pośrednie mogą różnić się zbiorem (próbą), na którym są budowane lub/i zestawem zmiennych wykorzystanych w modelach. Losowane próby mogą być rozłączne lub nierozłączne (to już zależy od konkretnej metody). Dla modeli drzew klasyfikacyjnych i regresyjnych popularny jest również algorytm Lasów losowych, który wykorzystuje podejście wielomodelowe i łączy w sobie zarówno losowanie obserwacji jak i predyktorów. Dokładniejsze omówienie algorytmu Lasów losowych, a także wspomnianych dalej baggingu i AdaBoost można znaleźć w artkule Ewy Grabowskiej (Jak udoskonalić algorytm drzew decyzyjnych?)
Najpopularniejsze metody łączenia modeli
Metody łączenia modeli mogą różnić się między sobą również architekturą – równoległą lub szeregową. Jeżeli algorytm wykorzystuje podejście równoległe, wtedy kolejne losowane próby (zbiory) jak i zbudowane modele są od siebie niezależne. W przypadku architektury szeregowej, kolejne kroki wykorzystują informację zwrotną ze zbudowanego w poprzednim kroku modelu. Metod agregacji modeli jest wiele. Najpopularniejsza i najprostsza to bagging. Nazwa pochodzi od agregacji bootstrapowej (bootstrap aggregating). Metoda polega na wygenerowaniu V modeli bazowych budowanych na podstawie n-elementowych prób uczących U_1, …, U_V, wylosowanych ze zwracaniem ze zbioru uczącego. W IBM SPSS Statistics/PS IMAGO PRO losowane są zawsze wszystkie obserwacje, ale wraz z losowaniem każda kolejna obserwacja dostaje symulowaną wagę wyznaczaną z wykorzystaniem rozkładu dwumianowego.
W przypadku wykorzystania zbiorowego modelu zbudowanego metodą baggingu, predykcja opiera się na średniej albo medianie. Na przykład budując model wyceny mieszkań z wykorzystaniem baggingu , budowanych jest 10 modeli regresyjnych na symulowanych różnych próbach. Każdy z tych modeli dla mieszkania o danych parametrach przewiduje trochę inną cenę. Uśredniony wynik (lub mediana cen) jest wynikiem modelu zespolonego. Druga popularna metoda, którą znajdziemy w IBM SPSS Statistics/PS IMAGO PRO to boosting. Dokładniej metoda AdaBoost, opracowana przez dwóch informatyków (Y.Freund i R. Schapire), którzy w 2003 roku otrzymali za nią Nagrodę Gödla w obszarze maszynowego uczenia. Model ten działa wykorzystując dwa rodzaje wag. Pierwsza z nich to waga przypisana obserwacjom losowanym do kolejnego modelu – obserwacje z pierwszej próbki dostają wyższe wagi, jeżeli zostały źle sklasyfikowane (przy problemach klasyfikacyjnych) lub ich błąd przewidywania był większy (przy problemach regresyjnych). Drugi rodzaj wag to wagi modeli – każdy z nich ma przydzieloną wagę proporcjonalną do jego błędu predykcji. Dzięki temu modele mniej precyzyjne mają mniejszy wpływ na predykcję modelu zespolonego. W IBM SPSS Statistics/PS IMAGO PRO do wyznaczania predykcji wykorzystywana jest ważona metoda mediany. Metoda boostingu ma za cel poprawę dokładności modelu – doprecyzowanie predykcji (z ang. boosting oznacza wzmocnienie poprawienie). Należy pamiętać, że tworzenie i ocena zestawów mogą trwać dłużej niż w przypadku standardowego modelu.
Łączenie modeli w IBM SPSS Statistics/PS IMAGO PRO
Zobaczmy teraz jak to wykonać w IBM SPSS Statistics/PS IMAGO PRO. W przykładowym zbiorze danych mamy informacje o wielkości sprzedaży odzieży damskiej (w tys. zł) przez różnych partnerów (zmienna: wielkość sprzedaży kolekcji damskiej). Każdy partner różni się od siebie nakładami ponoszonymi na reklamę (Kwota na reklamę) w tys. zł, liczbą uruchomionych linii telefonicznych do obsługi zamówień (Liczba otwartych stanowisk do zamówień), nakładem katalogów do druku (Liczba wysłanych katalogów), liczbą stron rozsyłanych katalogów (Liczba stron katalogu) i liczbą konsultantów do bezpośredniej sprzedaży (Liczba konsultantów). Zmienne te wykorzystamy, jako predyktory i zbudujemy model pozwalający szacować wielkość sprzedaży. Spróbujemy wykorzystać do tego podejście wielomodelowe. Wybierzmy z menu Analiza > Regresja > Automatyczne modelowanie liniowe.
Rysunek 1. Wybór zmiennych do modelu
Przenieśmy zmienną zależną sprzedaż do pola Przewidywana a pozostałe zmienne na listę predyktory i przejdźmy na zakładkę Opcje Budowania. Pierwszy element na liście, Cele, to właśnie miejsce, w którym możemy się zdecydować na zastosowanie podejścia wielomodelowego. Znajdziemy tam omówione metody: boosting i bagging oraz opcję, o której nie pisaliśmy – Budowa modelu regresji dla dużych zbiorów danych z wykorzystaniem IBM SPSS Statistics Server.
Rysunek 2. Boosting i bagging
Wybierzmy Wzmocnić stabilność modelu (agregacja bootstrapowa). I przejdźmy do elementu Zespoły.
Rysunek 3. Ustawienie metod zespolonych
W tym miejscu mamy możliwość sterowania opcjami metod zespołowych. Możemy wybrać metodę wyznaczania predykcji – domyślna reguła zespolenia dla docelowych wartości ilościowych - dla metody bagging i liczbę modeli zespolonych do zbudowania. Wybierzmy, jako regułę wyznaczania predykcji, medianę z przewidywanej wielkości sprzedaży pośrednich modeli i zwiększmy liczbę modeli do 15. Możemy teraz wybrać Uruchom. Pierwsza tabela, jaką otrzymamy w raporcie, zawiera informację o zbudowanych modelach. Powinniśmy otrzymać tabelę składającą się z 16. wierszy 15. modeli pośrednich plus model referencyjny. Dla baggingu model odniesienia to model utworzony na całym zbiorze danych, a dla boostingu jest to pierwszy model składowy.
Tabela 1. Informacje o analizowanych danych
Tak jak mówiliśmy, każdy model w agregacji bootstrapowej został zbudowany na takiej samej liczbie obserwacji. Kliknijmy dwukrotnie na wynik i przyjrzyjmy się wynikom.
Rysunek 4. Jakość modelu – porównanie modelu referencyjnego z zespołem
Na pierwszym wykresie został przedstawiony wyliczony dla zespołu oraz dla modelu referencyjnego. Otrzymaliśmy minimalnie wyższy wynik dla zespołu. Możemy jeszcze zobaczyć dokładność poszczególnych modeli na czwartym z kolei wykresie w przeglądarce.
Rysunek 5. Dokładność modelu zespolonego
Poszczególne punkty na wykresie to modele, gdzie etykieta informuje nas o numerze modelu. Więcej o zbudowanych modelach, m.in. o ilości predyktorów wykorzystanych do budowy poszczególnych modeli, można dowiedzieć się z kolejnej (przedostatniej) tabeli.
Rysunek 6. Szczegóły modelu zespolonego – modele składowe
W tabeli znajdziemy listę modeli składających się na model zespolony, ich dokładność oraz liczbę wykorzystanych predyktorów i liczbę parametrów modelu. Przejdźmy teraz na wykres częstości predyktorów.
Rysunek 7. Wykres częstości predyktorów.
Ponieważ zestaw predyktorów może się różnić w poszczególnych modelach składowych, wykres częstości predyktorów pozwala nam zapoznać się z rozkładem zmiennych niezależnych w poszczególnych modelach. Wykres ten jest wykresem punktowym, gdzie każdy punkt przedstawia jeden (lub więcej) modeli składowych, zawierających predyktor. Predyktory są wykreślone na osi y i są posortowane w kolejności malejącej według częstotliwości. Stąd można odczytać, że liczba stron w katalogu, kwota na reklamę i liczbę wysłanych katalogów to predyktory używane przez największą liczbę modeli (wszystkie). Predyktory pojawiające się najczęściej są zwykle najistotniejsze.
Podsumowując, omówione metody wielomodelowe mają swoich zwolenników jak i przeciwników. Metody te dadzą pożądany efekt wtedy, gdy jesteśmy w stanie zbudować przyzwoity lub dobry pojedynczy model. W celu zwiększenia stabilności lub skuteczności predykcji możemy wówczas wspomóc się modelem zespolonym.