Pean na cześć repozytorium

Start / Blog / Pean na cześć repozytorium

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 zainwestować 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. 


Pean_scoring

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-ówwywoł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 analitycznego. 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.