Dziś kilka zdań o centralnej części środowiska analitycznego
jaką jest repozytorium modeli analitycznych. Na pomysł napisania o
repozytorium wpadłem na początku roku podczas rozmów z klientami
wykorzystującymi środowisko analityczne
IBM SPSS. Po kilku miesiącach pracy z repozytorium nie wyobrażają sobie oni
pracy analityków bez niego.
Repozytorium nie udostępnia dodatkowych algorytmów, ani
funkcji analitycznych. Dlatego też, podczas negocjacji klienci w pierwszej
kolejności rezygnują z niego. Moim zdaniem jest to podejście błędne. Lepiej w
początkowej fazie kupić mniej licencji programów analitycznych, a zainwestować
w repozytorium, niż po kilku miesiącach przebudowywać cały
organizm. To tak, jak w przypadku otwierania salonu samochodowego. Można nie
kupić budynku, zainwestować cały budżet w samochody i trzymać je rozstawione na
parkingach po całym mieście, lub na początku zainswestować w budynek i
stopniowo dokupować samochody.
Niska świadomość potrzeby posiadania repozytorium wynika też
z faktu, że nie jest ono opisywane w podręcznikach data mining-u, ani nie
jest ono tematem wykładów na uczelniach wyższych. Ciężko też znaleźć miejsce
dla tego tematu na (głównie marketingowych) konferencjach.
Z góry chciałbym zaznaczyć, że nie jest moją intencją, aby
wpis miał charatker stricte produktowy,
chciałbym raczej skoncentrować się na funkcjonalnościach.
Czym jest więc
repozytorium? Repozytorium stanowi centralne miejsce, w którym analitycy
składują i współdzielą zdefiniowane analizy oraz modele. Każdemu użytkownikowi
lub grupie użytkowników nadawane są specyficzne uprawnienia np. do modyfikacji,
uruchamiania, odczytu poszczególnych modeli i analiz. Dlaczego powinny być one składowane w jednym centralnym miejscu? Ja
zwykle podaje banalny przykład zalania komputera kawą, jego awarii, choroby lub
odejścia pracownika. Dlaczego modele
powinny być zapisywane w repozytorium, a nie w systemie plików? Repozytorium
umożliwia nam zaawansowane zarządzanie prawami dostepu do poszczególnych plików.
Pliki te nigdy nie są nadpisywane. Zapisanie w nim pliku o tej samej
nazwie powoduje stworzenie kolejnej wersji tego pliku. Użytkownicy nawet po
kilku latach mają możliwość powrotu do wcześniejszych wersji modeli. „Last
but not least”, repozytorium instalowane jest na bazie danych, dzięki czemu
wykonanie kopii zapasowej bazy powoduje wykonanie kopii zapasowej
rezpozytorium. Tak więc, repozytorium zabezpiecza nas przed utratą rezultatów
na wiele sposobów.
Wyobraźmy sobie, że mamy w domu garderobę, która mówi nam
codziennie w co dokładnie mamy się ubrać o danej porze dnia i sama przygotowuje
nam ubrania. Tak właśnie działa funkcja automatyzacji
dostępna w repozytorium. Czym to się
różni od harmonogramowania uruchamiania plików w systemie operacyjnym? Repozytorium umożliwia sekwencyjne i warunkowe
uruachamianie modeli w kilku trybach takich jak: scoring, ewaluacja, odświeżanie.
Użytkownicy moga budować rozbudowane scenariusze, w których
np. niska jakość lub błąd scoringu modelu głównego automatycznie uruchomi
budowę lub scoring modelu alternatywnego.
Repozytorium pozwala nam także na wykorzystanie techniki champion—challanger, czyli każdorazowego
uruchamiania kilku modeli dla danego zjawiska i automatycznego wyboru tego
najlepszego. Dzięki temu, wyniki są zawsze dostarczone na czas, a dane wysłane
do call center w teminie. Samo
harmonogramowanie stanowi też pole do oszczędności, gdyż pozwala rozdzielić
okres pracy analityków od przeliczania modeli, dzięki czemu przedsiebiorstwo
może zaoszczędzić na mocy serwerów obliczeniowych.
Dodatkową funkcją repozytorium jest możliwość automatycznego generowania i wysyłania mailem
raportów informujących o wyniku scoringu/ewaluacji poszczególnych modeli.
Powiadomienia te mogą być oczywiście wysyłane także warunkowo np. w zależności
od wyniku oceny modelu. Cecha ta wydaje się niezwykle istotna, gdy zajdzie konieczności
weryfikacji kilkudziesięciu modeli analitycznych w krótkim odstępnie czasu. W
przypadku posiadania repozytorium automat zrobi to za analityka, który
zaoszczędzony czas może poświęcić na przeprowadzanie kolejnych analiz.
Dobrej klasy repozytorium powinno dawać użytkownikom możliwość
wywoływania zdefiniowanych analiz w trybie wsadowym, bez konieczności uruchamiania
narzędzia analitycznego, np. za pomocą przeglądarki internetowej. Dla firmy
oznacza to nie tylko oszczędności, ale także i wygodę. Użytkownicy biznesowi mogą uruchamiać analizy i przeglądać ich
rezultaty m.in. na tabletach.
Na koniec kilka informacji dla użytkowników bardziej
zaawansowanych. Repozytorium umożliwia optymalizację obciażenia na
poszczególnych serwerach analitycznych. Stanowi ono też płaszczyznę, która
pozwala przenosić modele między środowiskami np. środowiskiem deweloperskim,
produkcyjnym, testowym, real time. W
ostatnich tygodniach spotkałem się z problemem, którego istota poleagała na
konieczności budowy modeli w oparciu o zbiór danych zajmujący kilkadziesiąt TB,
a następnie scoringu w czasie rzeczywistym. Wybraliśmy rozwiązanie oparte na
połączania narzędzi SPSS ze składnicą
danych i silnikiem Pure Data for
Analytics (daw. Netezza) oraz narzędziem do przetwarzania strumioniowego InfoSphere Streams. W tym przypadku, to
własnie rezpozytorium stanowiło płaszczyznę udostępniania zbudowanych w Pure Data modeli do przetwarzania w
czasie rzeczywistym.
Przechowywane w repozytorium modele mogą być udostępniane
różnym systemom zewnętrznym np. optymalizatorom lub narzędziom do kampanii
marketingowych. Narzędzia te mogą także np. za pomocą web serwis-ów wywoływać poszczególne modele. Dzięki temu optymalizator
może korzystać z najświeższych prognoz, a kampania marketingowa może być
kierowana zawsze do aktualnych grup docelowych.
Podsumowując, repozytorium stanowi centralny punkt
środowiska anlitycznego. Mimo, że nie udostępnia funkcji związanych
bezpośrednio z procedurami analitycznymi, to jego rola jest nie do przecenienia. Wraz ze wzrotem liczby modeli analitycy
muszą poświęcać do 80% swojego czasu pracy na weryfikację i utrzymanie
działających modeli. Repozytorium pozwala tę proporcję odwócić. Nie można
mówić o środowisku analitycznym w przedsiebiorstwie jeżeli nie posiada ono repozytorium,
gdyż to właśnie repozytorium zmienia grupę pojedynczo pracujących analityków w
spójny system analityczny.
P.S. Szczegółowe informacje dot. technologii IBM SPSS można znaleźć na stronie:
http://spss-polska.pl/