Problem biznesowy: analiza cech klienta
Zespół marketingowy chce przestać traktować wszystkich klientów identycznie. Zamiast jednego ogólnego kampanii, chcą zidentyfikować naturalne grupy klientów — wielożywiłki, okupatorzy ofert, rzadko przeglądający — aby oferty mogły być dostosowywane do każdej grupy. Ta operacja, często nazywana Analizą Charakteru Klienta, wykorzystuje zestaw danych obejmujący około 2 240 rodzin znotowanej dochodami, datą ostatniego zakupu, kosztownością na kategoriach produktów (wino, mięso, owoce, złoto), liczbę zakupów dokonanych przez internet, katalog lub w sklepie fizycznym, oraz ilość kampanii marketingowych, do których rodziny podpisały się w przeszłości.
Przed tymi danymi mogłyby być wprowadzone do algorytmu, potrzebne były przerobki: brakujące wartości dochodów zastąpione średnianym (wybrano medianę nad średnią, ponieważ dochody mają długą prawą grzbiet, a mediana odpowiada się lepiej na wyraźne odchyleńce), data rejestracji przekształcona w cechę „ile czasu ta rodzina jest klientem”, a kategoryczne pola takie jak poziom edukacji i status małżeński kodowane numerycznie. Na ich podstawie dodano kilka cech zaprogramowanych: łączna kosztowność na wszystkich kategoriach produktów, łączna liczba zakupów, łączna liczba przyjętych kampanii marketingowych i wiek rodziny.
Klustering pierwszy: K-means na standardyzowanych cechach
Po czyszczeniu danych, nastepny krok polega na znalezieniu grup. Wybieramy siedem cech zachowania — dochód, recency, zakupy w sklepie, zakupy z ofertami, czas trwania relacji klienta (w dniach), wiek klienta oraz miesięczne odwiedziny strony internetowej — i kazda z nich standardyzujemy za pomocą StandardScaler, aby cecha pomiaru w tysiącach funtów (dochód) nie automatycznie dominowała nad cechą pomiaru w jednostkach (zakupy z ofertami). Nastepnie dopasowujemy K-means z trzema klastrami do standardyzowanych danych.
Podgląd srednich wartosci grup po ich znalezieniu opowiada jasne historie, nawet przed jakiekolwiek wizualizacją: jeden klaster ma dochód ok. 33 tys. funtów, dokonuje około trzech zakupów w sklepie i rzadko korzysta z ofert; drugi ma dochód ok. 72.5 tys. funtów, dokonuje ponad osiem zakupów w sklepie, ale rzadko korzysta z ofert; trzeci znajduje sie na srednim poziomie dochodow (ok. 52 tys. funtów), ale lideruje w poszukiwaniu ofert (średnio 5 ofert) i ma najdluzszy czas trwania relacji klienta. W prostych slowach: sekcja odbiorców skromnych, sekcja odbiorców wydatnych z niskim poziomem korzystania z ofert oraz sekcja odbiorców lojalnych i poszukujących ofert.
PCA: skompresowanie siedmiu cech do trzech interpretowalnych osi
Siedem standardyzowanych cech jest trudne do narysowania, dlatego zastosowano Analizę Skomponentową Głównych (PCA) do skompresowania ich do trzech głównych komponentów, zachowując jak najwięcej z oryginalnej wariancji. W tej bazie danych, pierwsze trzy komponenty przekazują około 66% całkowitej wariancji — PC1 samodzielnie wyjaśnia około 32%, PC2 około 20%, a PC3 około 14%.
Co sprawia, że PCA jest wartościowe nie tylko pod względem rysowania, to jego ładunki — współczynniki pokazujące, jak bardzo każda oryginalna cecha przyczynia się do każdego komponentu. Oto co wskazuje PC1: dochód i ilość zakupów w sklepie (pozytywne) oraz miesięczne odwiedziny strony internetowej (negatywne) — podstawowym czynnikiem jest rozróżnienie klientów o wysokim dochodzie, którzy często kupują w sklepach, od tych o niższym dochodzie, którzy przeważnie surfają online. PC2 jest dominowany głównie przez zachowanie się związane z szukaniem rabatów i okresu użytkowania usługi. Gdy do zestawu cech dodano zamiast tego dochód i PCA zostało ponownie uruchomione, struktura komponentów wyraźnie się zmienia: ładunki rozdzielają się między pozostałe cechy, a wariancja wyjaśniona spada — co potwierdza, że dochód przyczyniał się do nieproporcjonalnej części sygnału. To sprawdzenie szacunkowe pokazuje, która pojedyncza cecha ma najważniejsze znaczenie dla segmentacji.
Rysowanie trzech grup K-średnich w 3D przestrzeni PCA pokazuje grupy, które są dość oddzielone, ale z pewnym połączeniem na granicach, ponieważ PCA optimizuje zachowanie globalnej wariancji, a nie spowalniajace zbliżenie podobnych punktów.
t-SNE: priorytetowanie lokalnych sąsiadów nad globalną strukturą
t-SNE (t-distributed Stochastic Neighbour Embedding) podchodzi do tych samych siedmiu standardowych cech inaczej. Zamiast szukać kierunków maksymalnej wariancji, t-SNE próbuje zachować, które punkty są bliskimi sąsiadami w pierwotnym, wielowymiarowym przestrzeni, co kosztuje go rozszerzaniem odległości między grupami daleko oddaloneymi. Uruchomione z perplexity 30 na tym samym zestawie danych, tworzy mapę 2D, w której trzy klastry K-means wydają się znacznie gęstsze i bardziej widocznie odzielone, niż w wykresie PCA.
To klasyczne zrównoważenie między PCA a t-SNE. Współczynniki PCA mają stałą, obliczalną znaczenie (wzory, które można odczytać z tabeli), a odległości między punktami PCA reprezentują rzeczywiste różnice w podstawowych danych. t-SNE nie ma takich interpretowalnych osi —
t-SNE wymiar 1
Wybieranie między dwiema metodami w praktyce
Praktyczny wniosek brzmi, że PCA i t-SNE odpowiadają na różne pytania i często najlepiej są używane razem zamiast wzajemnie zastępując się. PCA jest odpowiednim narzędziem, gdy potrzebujesz zmniejszyć wymiarowość przed dalszym modelowaniem (wprowadzając mniej, niezależnych cech do dalszego klasyfikatora), gdy chcesz wytłumaczyć, które oryginalne zmiennych sterują wzorcem, lub gdy interesuje Cię zachowanie rzeczywistych odległości. t-SNE (lub jego szybszy i bardziej skalowalny odpowiednik UMAP) jest odpowiednim narzędziem do końcowego, prezentacyjnie gotowego wykresu struktury grup, szczególnie dla nieprzewodniczącej publiczności, która chce zobaczyć 'tak, to są różne grupy' na pierwszy rzut oka.
W przypadku tego zestawu danych marketingowych, najbardziej biznesowo sensowna przepisana procedura to: skupienie na standaryzowanych cechach za pomocą K-means, użycie ładunków PCA do zrozumienia i nazewnictwa wynikujących segmentów w terminach rzeczywistego zachowania klientów ('duże kupcy', 'oszczędnościowcy wartości', 'loyalni pościgacze rabatów'), a t-SNE jako nagłówkowy wykres podczas prezentacji segmentacji dla interesantów, którzy muszą tylko zobaczyć, że grupy są rzeczywiste.
Często zadawane pytania
Dlaczego skalujemy dane przed PCA i K-means?
Obie algorytmy są czułe na skalę wejściowych cech. Bez skalowania, cecha pomiarzona w tysiącach (pensja) bywałaby dominująca w obliczeniach odległości i głównych komponentów jedynie ze względu na większy zakres numeryczny, a nie dlatego, że jest bardziej informatywna. StandardScaler umieszcza każdą cechę na poziomie porównywalnym, przypisując każdemu zero średnią i jednostkową wariancję.
Czy mogę użyć wyników t-SNE jako wejścia dla kolejnego modelu?
Zazwyczaj nie. Koordynaty t-SNE są optymalizowane do visualizacji i nie są stabilne ani znaczące jako zasztanowione cechy — ponowne uruchamianie t-SNE z innym zakresem losowości lub perplexity może przynieść układ widocznie inny (ale strukturalnie podobny), a osie nie noszą konsekwentnego znaczenia w różnych wywołaniach. Komponenty PCA, na odrobinę innej stronie, są deterministyczne i można bezpiecznie używać ich jako wejścia dla modeli dolnopułapkowych.
Jak wybieramy liczbę komponentów PCA do zachowania?
Zwykle stosowany zasada palcami mówi, że warto spojrzeć na kumulatywną proporcję wyjaśnionej wariancji i zachować wystarczającą liczbę komponentów, aby wyjaśnić 70-90% całkowitej wariancji. W tym przykładzie trzy komponenty wyjaśniają około 66%, co stanowi dobre compromis między prostotą (3D wykres, który można rzeczywiście zobaczyć) a zachowaniem informacji.
Wypróbuj na żywo
Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz PCA vs t-SNE: Two Views of the Same Customer Segments i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.
▶ Otwórz symulację PCA vs t-SNE: Two Views of the Same Customer Segments