18.09

2012

DataMarket, czyli jak znaleźć i zrozumieć dane

Autor: adam

Szukając ciekawych danych, które mogłyby być wykorzystane do przykładów prezentowanych na szkoleniach trafiłem ostatnio na bardzo ciekawy portal DataMarket.com. Portal DataMarket oferuje dostęp do wielu tysięcy zbiorów danych (głównie szeregów czasowych), pochodzących z różnych źródeł. Zachęcony olbrzymią ilością danych i możliwością ich eksploracji na tym portalu, postanowiłem, że przyjrzę mu się nieco dokładniej.

Ponad 23 tys. zbiorów danych,  ponad 150 milionów szeregów czasowych, dane z okresu 822 lat…

Takie liczby znajdujemy w prezentacji (kwiecień 2012) przedstawiającej główne cechy portalu DataMarket; choć trudno z całą pewnością stwierdzić, jak twórcy portalu rozumieją np. pojedynczy "zbiór danych". Większość z dostępnych na portalu danych to szeregi czasowe. Można tu znaleźć m.in. dane opublikowane przez takie organizacje jak: World Bank, Eurostat, United Nations i Gapminder. Od niedawna (czerwiec 2012) na portalu DataMarket dostępny jest także opracowany przez prof. R. Hyndmana zbiór około 800 szeregów czasowych znany jako Time Series Data Library. Oprócz darmowych (publicznie dostępnych) danych, na portalu znajdują się także dane dostępne wyłącznie za dodatkową opłatą (premium data).

Poziom szczegółowości danych dostępnych na portalu potrafi zaskoczyć. Na przykład, możemy się dowiedzieć, jaki odsetek uczennic szkół podstawowych w Kiribati powtarza 7 klasę. A jeżeli kogoś interesuje ile (w %) dróg w Burkina Faso jest w dobrym stanie, również nie będzie zawiedziony.

Spójrzmy jednak na kilka bardziej typowych przykładów…

Przykład 1: Bezrobocie wsród młodych Europejczyków

W których państwach Europy jest największe bezrobocie wśród osób poniżej 25 roku życia? Czy niekorzystna tendencja wzrostowa w dalszym ciągu się utrzymuje? Jak sytuacja ta wygląda w Polsce na tle innych państw "starej" i "nowej" Unii? Na te i podobne pytania możemy odpowiedzieć analizując dane dostępne na portalu DataMarket, a opublikowane przez Eurostat.

Jeżeli chcielibyśmy przeprowadzić dokładniejszą analizę, mamy również możliwość uwzględnienia korekcji sezonowości (seasonally adjusted data), porównania stopy bezrobocia w grupie kobiet i mężczyzn czy też uwzględnienia innych grup wiekowych.

Przykład 2: Liczba lekarzy przypadających na 1000 mieszkańców

Dane opublikowane przez World Bank pozwalają nam ocenić poziom dostępności do usług medycznych w Polsce i porównać go z innymi państwami. Po przystąpieniu Polski do Unii Europejskiej nasiliło się zjawisko migracji personelu medycznego do pracy za granicą. Możemy więc m.in. przeanalizować czy sytuacja ta wpłynęła na pogorszenie dostępności do lekarza.

Przykład 3: Spadek populacji owiec w Europie

I jeszcze przykład o innym ciężarze gatunkowym, tym razem na bazie danych udostępnionych przez United Nations.

Patrząc na wykres względnej zmiany populacji owiec (w %) obserwujemy wyrażny spadek pogłowia w całej Europie. Czy proces ten przebiega szybciej w Polsce niż w innych państwach europejskich? Czy grozi nam, że owce znikną niebawem z polskiego krajobrazu?

Wyszukiwanie i eksploracja danych

Portal DataMarket pozwala na łatwe wyszukanie interesujących nas danych. Oprócz możliwości przeglądania danych dla określonych kategorii (np. danych dla poszczególnych państw, gałęzi przemysłu czy pogrupowanych ze względu na "dostawców"), użytkownik ma do dyspozycji także wyszukiwarkę danych, wyposażoną w rozbudowane możliwości filtrowania wyników.

DataMarket oferuje szereg narzędzi ułatwiających eksplorację danych. Dostępne są m.in. interaktywne wykresy liniowe i słupkowe (różne warianty). Użytkownik może łatwo wybrać podzbiór danych lub przedstawić kilka szeregów czasowych na jednym wykresie (opcja Add data). Istnieje także możliwość wygładzenia danych za pomocą ruchomej średniej (Running average) oraz dodania znaczników dla ustalonych chwil czasowych (Timeline markers).

Po zarejestrowaniu się na portalu (rejestracja jest darmowa) możemy wyeksportować analizowane dane (wykresy lub tabele). Dostępne są najbardziej popularne formaty (m.in.: pdf, svg, xls, csv). Bardzo przydatna jest także opcja Short URL, dzięki której otrzymujemy uproszczony (bezpośredni) link do analizowanych danych.

Dostępne na DataMarket narzędzia eksploracji pozwalają na wstępne zapoznanie się z danymi i z pewnością dla wielu użytkowników będą one w zupełności wystarczające. Jeżeli jednak chcielibyśmy przeprowadzić bardziej zaawansowaną analizę (np. dopasować dla analizowanego szeregu optymalny model i skonstruować prognozy dla kolejnych okresów) można skorzystać z możliwości bezpośredniego dostępu do danych z poziomu środowiska R.

Dostęp z poziomu R’a

Wygodny dostęp do danych z portalu DataMarket możliwy jest dzięki pakietowi rdatamarket z repozytorium CRAN.

Jak najprościej wczytać dane z poziomu R’a? Kiedy przeglądamy dane na portalu, po wybraniu z menu Export opcji R Console code pojawi się fragment R-kodu, który pozwoli nam wczytać analizowane dane.

Poniżej, zamieszczam nieco bardziej rozbudowany fragment kodu, który wczytuje i przedstawia na wykresie dane dotyczące stopy bezrobocia (patrz Przykład 1). Dodatkowo, dla stopy bezrobocia w Polsce wyznaczone są prognozy dla kolejnych 24 miesięcy.

# Instalacja (opcjonalna) i załadowanie paczki rdatamarket
install.packages("rdatamarket")
library(rdatamarket)
 
# Wczytanie danych dotyczących bezrobocia wsród młodych Europejczyków
stopa.bezrobocia <- dmseries("http://data.is/O7Y28d")
 
panstwa <- names(stopa.bezrobocia)
daty <- time(stopa.bezrobocia)
 
# Wykres danych
matplot(x=daty, y=stopa.bezrobocia, type="l", col = 1:7, lwd=2, lty=1)
legend("topleft", legend=panstwa, col=1:7, lwd=2, lty=1)
 
# Prognozowana stopa bezrobocia w Polsce
library(forecast)
stopa.bezrobocia.Polska <- as.ts(stopa.bezrobocia$Poland)
prognoza <- forecast(stopa.bezrobocia.Polska, h=24)
plot(prognoza, main="Prognozowana stopa bezrobocia w Polsce \n (bezrobocie wsrod osob ponizej 25 roku zycia)" )

Pakiet rdatamarket oferuje oczywiście więcej możliwości, związanych m.in. z filtrowaniem danych (dimension filtering). Aby zapoznać się z tymi możliwościami warto zajrzeć do tutoriala Using DataMarket from within R dostępnego na firmowym blogu DataMarket.

Warto wspomnieć, że DataMarket nie jest jedynym repozytorium danych, do którego istnieje wygodny dostęp z poziomu R’a. Na przykład, o wygodnym dostępie do danych finansowych online pisał już jakiś czas temu Artur w artykule Analiza kursów akcji w systemie R.

Podobne serwisy

Pisząc o DataMarket nie mogę nie wspomnieć o tym, że jest to również ciekawy pomysł na biznes. Jak zatem zarabiać na pośredniczeniu w dostępie do danych? Na przykład, oferując dodatkowe specjalizowane usługi związane z dostępem i publikowaniem danych, płatny dostęp do premium data, reklamy…

Oczywiście DataMarket nie jest jedyną firmą, która działa w tej niszy. Ciekawe porównanie konkurencyjnych firm można znaleźć np. w artykule The Emerging Field of Data Markets our competitive landscape. Jako zbliżone do DataMarket autorzy zaliczyli m.in. takie serwisy jak:

Można więc chyba zaryzykować stwierdzenie, że rynek tego rodzaju usług rozwija się ostatnio dość szybko i z pewnością warto się temu przyglądać.

Spróbuj ponownie