czwartek, 26 marca 2015

Możliwości wykorzystania języka R w środowisku IBM SPSS

Zgodnie z zapowiedzią sprzed prawie dwóch tygodni chciałbym napisać kilka słów o możliwościach wykorzystania języka R w ramach środowiska analitycznego IBM SPSS. Na początek trochę o historii: Synergia środowiska IBM SPSS z językiem R pojawiła się po raz pierwszy już w wersji szesnastej programu IBM SPSS....Statistics!
 
Użytkownicy dostali wtedy możliwość korzystania z kodu R w ramach Edytora Komend programu IBM SPSS Statistics. Poniżej najprostszy przykład kodu napisanego w Edytorze.
BEGIN PROGRAM R.
data <- spssdata.GetDataFromSPSS(keepUserMissing=TRUE)
print(data)
END PROGRAM.

Wyniki zdefiniowanych operacji wyświetlane są, analogicznie jak w przypadku korzystania ze składni lub GUI SPSS Statistics, w Oknie Raportów.
  
W kolejnej wersji programu IBM SPSS Statistics pojawiła się możliwość tworzenia własnych okien dialogowych, w tym okien dialogowych budowanych w oparciu o kod R. Funkcjonalność ta wydaje się najbardziej użyteczna dla użytkowników niepotrafiących kodować w R, gdyż mogą oni poprosić bardziej zaawansowanych programistycznie kolegów o stworzenie dla nich okien, które wykorzystują kod R, ale w wyglądzie nie różnią się od standarodwych okien SPSS Statistics. Poniżej przykład zbudowanego przeze mnie w ostatnim czasie okna:


Możliwość wykorzystania procedur R przez użytkowników, którzy de facto nie znają owego języka, jest jedną z przyczyn, dla których w pierwszym akapicie użyłem słowa „synergia”. Dodatkowo, należy podkreślić, że już wtedy, dzięki możliwości wywoływania procedur SPSS Statistics z poziomu SPSS Modeler, istniała pośrednia integracja narzędzia SPSS Modeler z językiem R, gdzie warstwą pośrednią był własnie SPSS Statistics.


W tym miejscu chciałbym także zaznaczyć, że taka możliwość istnieje oczywiście po dziś dzień.
  
Na możliwość wykorzystania kodu R bezpośrodnio w ramach przepływu danych SPSS Modeler użytkownicy musieli czekać do roku 2014, kiedy to w narzędziu pojawił się dedykowany węzeł umożliwiający pisanie składni w języku R. Dla przetestowania owej funkcjonalności zbudowałem w oparciu o kod R prosty model GARCH.
 


Jak widać na zamieszczonych obrazakach, nowy węzeł umożliwiał pisanie kodu w języku R i dołożenie zbudowanej procedury, jako jednego z elementów składowych, do tworzonego przepływu danych.
   
W kolejnej, szesnastej, wersji programu SPSS Modeler stworzono już 3 osobne węzły służące do pisania kodów w jęzku R.


Każdy z tych węzłów spełnia określoną funkcję w przepływie danych. Węzeł Transformacje R umożliwia definiowanie przekształceń danych, węzeł Modele R umożliwia budowę modeli skoringowych, natomiast Wynik R jest węzłem końcowym generująym raport. 
  
Analogicznie jak w przypadku SPSS Statistics, użytkownicy dostali możliwość budowania nowych węzłów w oparciu o składnię R. Zdefiniowane za pomocą Kreatora Niestandardowych Okien dialogowych dla R węzły dodawane są do palety węzłów i na pierwszy rzut oka nie różnią się od ‘oryginalnych’ procedur SPSS Modeler.




Co więcej, węzły te, automatycznie instalowane w folderze: C:\ProgramData\IBM\SPSS\Modeler\17\CDB, mogą być przekazywane między użytkownikami. Dla mnie osobiście jest to największa zaleta integracji obu środowisk!
 
Użytkownicy SPSS mogą także pobierać stworzone przez IBM gotowe węzły, wraz z dokumentacją ze strony Analytics Zone.


Na stronie znajdują się między innymi następujące węzły:
  • Model for Random Forest umożliwiający budowę modeli klasyfikacyjnych z wykorzystaniem techniki lasów losowych.
  • Plot Heatmaps umożliwiąjący wizualizację wyników analiz w postaci mapy natężeń nanoszonej na mapy pobrane z serwisu Google Maps.
  • Get Coordinates wyznaczający długość i szerokość geograficzną dla zadanego adresu.
  • Reverse Geocoding zamieniający długość i szerokość geograficzną na konkretny adres.
  • Great Circle Distance wyznaczający najkrótszą odległość między punktami na powierzchni Ziemii.
  • Plot Spatial Data nanoszący punkty na mapy z serwisu Google Maps.
  • Present Value wyliczający wartość bieżącą przyszłych przepływów pienieżnych.
Można śmiało stwierdzić, że poza wymienioną stroną, wkrótce powstanie wiele innych oficjanych lub mniej oficjanych stron, na których użytkownicy będa mogli się dzielić stworzonymi przez siebie węzłami. Serdecznie zachęcam do testowania nowych węzłów i tworzenia własnych, a przede wszystkim do dzielenia się swoimi spostrzeżeniami.
Odszkodowania za opóźnione loty http://www.pay4delay.pl/
Odszkodowania za odwołane loty  http://www.pay4delay.pl/
Odszkodowani za odwołany lot  http://www.pay4delay.pl/
Odszkodowanie za opóźniony lot  http://www.pay4delay.pl/
Opóźniony lot odszkodowanie  http://www.pay4delay.pl/
Odwołany lot odszkodowanie  http://www.pay4delay.pl/
Overbooking odszkodowanie  http://www.pay4delay.pl/

Opóźniony samolot odszkodowanie  http://www.pay4delay.pl/

Wyświetl profil LinkedIn użytkownika Jędrzej Traczykowski Wyświetl profil użytkownika Jędrzej Traczykowski




poniedziałek, 9 marca 2015

Nowości w SPSS Modeler 17


W ostatnich dniach IBM udostępnił nową, 17. już wersję flagowego produktu z rodziny SPSSIBM SPSS Modeler. Nowości dodane w bieżącej wersji wydają się być konsekwencją znaczących zmian wprowadzonych 15 miesięcy temu.

Zmianą, która jest najbardziej widoczna po uruchomieniu programu są nowe węzły umożliwiające wczytywanie podanych m.in. w formacie ESRI danych geoprzestrzennych, modyfikację tych danych, a także budowanie modeli predykcyjnych i wizualizacji na ich podstawie.



Wraz ze stworzeniem nowych węzłów stworzone zostały także nowe funkcje, zwane przestrzennymi. Przykład takiej funkcji stanowi funkcja close_to, która sprawdza, czy dwa obiekty mieszczą się w określonej odległości od siebie. Funkcja ta wydaje się bardzo przydatna przy warunkowym łączeniu zbiorów danych, gdzie jednym z warunków łączenia może być określony dystans między zdarzeniami (np. promień 100 metrów).

Dzięki wprowadzonym zmianom użytkownicy będą mieli możliwość budowania modeli przewidujących nie tylko skalę zjawiska, ale także miejsce i czas jego wystąpienia. Oczywistym jest, iż naturalnymi beneficjentami wprowadzonych funkcji są klienci chcący analizować procesy logistyczne, a także klienci z branży handlowej, którzy mogą przykładowo rozbudować istniejące modele segmentacji punktów sprzedaży o nowe dane - dane geoprzestrzenne.

W związku z omawianymi zmianami na myśl przychodzi mi krótki filmik ukazujący wykorzystanie narzędzi IBM SPSS przez policje w Memphis:


Innymi ciekawym zastosowaniem opisywanych funkcjonalności wydaje się analiza awarii w sieciach energetycznych i wodociągowych oraz analiza rozprzestrzeniania się korków w mieście lub powodzi.


W wersji siedemnastej programu IBM SPSS Modeler rozbudowana została nie tylko możliwość analizy danych geoprzestrzenych, ale także analiz BIG DATA. Zgodnie z oczekiwaniami, w obecnej wersji możliwa jest budowa i scoring większej liczby modeli po stronie źródła danych, w tym modeli służących do przeprowadzania analizy sekwencji (koszykowej) oraz analizy skupień. Odbiorcami tych zmian są w pierszej kolejności portale i sklepy internetowe trzymające dane na platformie Hadoop, które będą mogły tworzyć mechanizmy rekomendacji treści i produktów bez konieczności przesyłania i próbkowania danych między źródłem a serwerem obliczeniowym. Przyczyni się to z pewnością do skrócenia czasu i zwiększenia dokładności przeprowadzanej analizy.

Dodatkowo, modele analizy skupień budowane w oparciu o BIG DATA zostały rozbudowane o możliwość wykrywania skupień rzadkich, zwanych też anomaliami. Jest to przestroga m.in. dla osób trudniących się wyłudzeniami nienależnych świadczeń z tytułu ubezpieczeń AC. Od teraz modele służące identyfikacji nadużyć będą mogły być wzbogacone o szereg danych dostepnych ‘w sieci’, co wpłynie znacząco na wzrost ich trafności.


  


Należy również dodać, że oprócz wspieranych w wersji 16 źródeł danych, tj.: IBM InfoSphere BigInsights, Cloudera, Hortonworks, MapR, Apache, narzędzie wpiera dodatkowo Apache Cassandra, MongoDB oraz Oracle NoSQL.

Na koniec warto też wspomnieć, że SPSS Modeler 17 wspiera R w wersji 3.1. Dzięki temu użytkownicy dostają możliwość wykorzystania najnowszych bibliotek R w ramach przepływów danych SPSS, a także, dzięki kreatorowi Niestandardowych okien dialogowych dla R, definiowania oraz współdzielenia wezłów wykorzystujących owe biblioteki. 


Więcej o możliwościach i korzyściach płynących z integracji z R napiszę wkrótce....



P.S. Szczegółowe informacje dot. technologii IBM SPSS można znaleźć na stronie: 
http://spss-polska.pl/

Odszkodowania za opóźnione loty http://www.pay4delay.pl/
Odszkodowania za odwołane loty  http://www.pay4delay.pl/
Odszkodowani za odwołany lot  http://www.pay4delay.pl/
Odszkodowanie za opóźniony lot  http://www.pay4delay.pl/
Opóźniony lot odszkodowanie  http://www.pay4delay.pl/
Odwołany lot odszkodowanie  http://www.pay4delay.pl/
Overbooking odszkodowanie  http://www.pay4delay.pl/
Opóźniony samolot odszkodowanie  http://www.pay4delay.pl/