Ekonomiczne losy absolwentów

Parę tygodni temu Ministerstwo Nauki i Szkolnictwa Wyższego udostępniło ciekawe dane. Na stronie absolwenci.nauka.gov.pl możemy sprawdzić jak wiedzie się absolwentom poszczególnych kierunków i uczelni. Dane mogą być niezwykle pomocne dla osób planujących studia i w odróżnieniu od pojawiających się tu i ówdzie listach “najbardziej obleganych kierunków” tutaj znajdziemy faktyczne zarobki absolwentów.
Raporty są dość szczegółowe. Najdziemy informacje na temat liczby absolwentów kończących dany kierunek, oraz jaka część z nich występuje w rejestrach ZUS-u (czyli opłaca bądź opłacała składki). Najciekawszymi danymi są oczywiście te dotyczące zarobków. Oprócz średniego wynagrodzenia możemy też znaleźć rozkład wynagrodzenia i medianę. Póki co wyniki są dostępne dla jednego rocznika, ale struktura raportów sugeruje, że podsumowania będą uaktualniane w kolejnych latach i będzie można śledzić losy absolwentów także w dłuższej perspektywie czasowej.

Brakujący element

Dane są ciekawe i pomocne ale strasznie rozczarował mnie sposób ich prezentacji. W zasadzie jedyne co można zrobić na portalu ministerstwa to wyszukać kierunek albo uczelnie i przeczytać PDF-a, w którym zawarte są wskaźniki podsumowujące absolwentów. Nie uda nam się łatwo porównać kierunków ani uczelni. Nie dowiemy się też w prosty sposób w jakiej dziedzinie zarabia się najwięcej a gdzie czycha największe bezrobocie.

Wizualizacja

Postanowiłem ściągnąć wszystkie raporty i po napisaniu prostego parsera zrobiłem interaktywną wizualizację w d3js, w której możemy wyszukiwać kierunki i uczelnie oraz podglądać oryginalne raporty na stronach ministerstwa.
Ile zarabiają absolwenci
Nie zaskakuje to, że studenci studiów zaocznych zazwyczaj zarabiają w pierwszym roku po studiach więcej niż studenci dzienni. Ma to zapewne związek z tym, że płatna nauka w weekend często idzie w parze z pracą zarobkową tak więc po studiach te osoby mają już doświadczenie zawodowe i co za tym idzie wyższe zarobki.

Najlepsze kierunki

Nie jest zaskoczeniem, że informatyka jest tym kierunkiem, który zazwyczaj gwarantuje dobre zarobki. Jest jednak wiele rozbieżności pomiędzy poszczególnymi uczelniami. W pewnym stopniu może to zależeć od poziomu nauczania, ale istotne jest również miejsce zamieszkania absolwentów. Raporty ministerstwa próbują to pokazać i oprócz średniego wynagrodzenia pokazują zarobki w odniesieniu do przeciętnego wynagrodzenia w powiatach zamieszkania absolwentów.

Zaskoczenie

Niektóre kierunki mogą być zaskoczeniem. Pierwszym takim przypadkiem jest leśnictwio, po którym zarobki są porównywalne z informatyką, choć oczywiście takich kierunków jest niewiele. Drugim nieoczywistym przypadkiem górnictwo i geologia w trybie zaocznym. Po tym kierunku również dobrze się zarabia, ale możliwe, że jest to związane z doszkalaniem się osób pracujących już w górnictwie. Absolwenci studiów dziennych tego kierunku zarabiają bowiem przeciętnie.

Big Data Landscape

There are many projects that make big data possible. If you look at the popular Cloudera or Hortonworks distribution you can see number of tools and frameworks that are ready to fit into existing corporate ecosystem and provide insight into processed data.
This big data ecosystem evolves all the time and because it is in huge majority open source software everyone can participate in developing it. I took a quick look at the GitHub repositories of some Hadoop related projects and generated statistics like number of commits, added or removed lines. This give some picture of the project and the effort involved in making a tool more mature.
Screenshot showing number of commits to big data projects
The projects I choose was rather arbitrary and there are good reasons to go further and keep on adding next repositories. I tried to select those tools that are usually find in Hadoop deployment or can optinally fit into existing big data environments. I divided the projects into several groups:

  • general tools
  • SQL processing tools (+Pig)
  • processing frameworks or libraries
  • big table implementations (HBase, Cassandra, Accumulo)
  • web notebooks (Hue, Zeppelin)
  • integration tools (online or batch)

Of course, you should keep in mind that this is based only on current GitHub repository. Some of the projects were developed earlier in different repositories (for example Hive has much earlier history records than Hadoop itself). Besides that some of the tools were open sourced at some point of time, whereas other started as open software since the very beginning. Nevertheless it can give some overall feeling and easily spot the projects with more intensive development.
Have a look at the this page.

Wybory – poparcie w powiatach

Zawsze mnie ciekawią wyniki wyborów przedstawione na mapach i żałuję, że zazwyczaj są to zwykłe obrazki a nie interaktywne prezentacje, po których można byłoby poklikać. Tym razem przygotowałem swoją prezentację wyników,  która pokazuje jak wyglądało poparcie komitetów w poszczególnych powiatach wraz z dodatkowymi szczegółami.

Poparcie Platformy Obywatelskiej

Poparcie Platformy Obywatelskiej


Nadal jest widoczna prawidłość, że Prawo i Sprawiedliść ma większe poparcie na wschodzie Polski, a Platforma Obywatelska w zachdnich województwach. Tym razem jednak widać też, że PiS uzyskał spore poparcie także na obszarze uważanym za tradycyjnie należący do PO.
Pewnym zaskoczeniem może być to, że bastionem Platformy Obywatelskiej z ostatnich wyborów zostało miasto Wałbrzych. Nie wiem dlaczego akurat tam PO zyskało największe poparcie przekraczające 40%. PiS z kolei mogło pochwalić się najlepszym wynikiem w powiecie wyskomazowieckim (ponad 68%).
Poza tym widać jeszcze, że poparcie .Nowoczesnej i Platformy Obywatelskiej wykazują pewne podobieństwa, choć ruch Ryszarda Petru zdecydowanie bardziej jest skumulowany wokół dużych miast.
Dość charakterystyczne jest również niskie poparcie PSL-u na południu Polski.
Poparcie PSL-u

Poparcie PSL-u


[Link do wizualizacji]
 
 

Przeciętne wynagrodzenie

Ostatnio postanowiłem stworzyć mapę pokazującą przeciętne wynagrodzenie w  powiatach. Wynik okazał się dość zaskakujący, bo najwyższe zarobki wcale nie są w Warszawie ani w innych miastach wojewódzkich!
Mapa przedstawiające przeciętne wynagrodzenie

Najwyższe przeciętne wynagrodzenie

Zmiany przeciętnego wynagrodzenie w powiecie lubińskimPrzede wszystkim duże miasta nie gwarantują najwyższego wynagrodzenia. Okazuje się, że najwyższe zarobki są w powiatach, które mają kopalnie na swoim terenie. Niekwestionowanym liderem jest powiat lubiński, gdzie znajduje się KGHM. Przeciętne wynagrodzenie w tym powiecie wynosiło w 2013 roku 6641 zł i było o 71% wyższe od średniej krajowej. Wysoką pozycję zajmuje też powiat bełchatowski czy Jastrzębie-Zdrój.
 

Warszawa

Warszawa zasługuje na szczególną uwagę, bo z jednej strony ma wysokie przeciętne wynagrodzenie (choć wcale nie najwyższe), a z drugiej wysokie zarobki przenoszą się także na sąsiadujące powiaty, szczególnie te od strony zachodniej. Tworzy to dość spory obszar o ponadprzeciętnych wynagrodzeniach i chyba można stwierdzić, że stolica jest tym miastem, które najmocniej oddziałuje na okolice.

Powiaty grodzkie

Zazwyczaj powiat grodzki charakteryzuje się wyższymi zarobkami niż otaczające go tereny tworzące powiat ziemski. Od tej reguły są jednak pewne wyjątki. W Gorzowie Wielkopolskim, Lesznie, Łomży czy Piotrkowie Trybunalskim zarabia się mniej niż w powiecie otaczającym miasto.

Zmiany

Zmiany przeciętnego wynagrodzenia w powiecie bielskimRóżnie zmieniało się przeciętne wynagrodzenie w latach 2002-2013. Dużym zwycięzcą po tym względem okazał się powiat bielski, w którym z roku na rok systematycznie wzrasta wynagrodzenie i to w tempie szybszym niż ogólny wzrost płac. Powiat ten w 2002 miał przeciętne wynagrodzenie na poziomie 80% średniej krajowej, a po latach systematycznego wzrostu w 2013 przeciętne wynagrodzenie wynosiło 103% średniej krajowej. W tym samym czasie spadało bezrobocie z 15% w roku 2004 do 10,5% w roku 2013.
Zmiana przeciętnego wynagrodzenia w powiecie konińskimOdwrotne przypadki też można znaleźć. Powiat koniński (woj. wielkopolskie) jest takim przykładem. W 2002 można było liczyć tam na wynagrodzenie lepsze od średniej krajowej (112%), a po latach konsekwentnych spadków, w 2013 roku przeciętne wynagrodzenie wynosiło tylko 85% średniej krajowej. W takim spojrzeniu jest jednak pułapka. Sam spadek przeciętnego wynagrodzenia niekoniecznie musi oznaczać pogorszenie się sytuacji mieszkańców tego regionu. W tym okresie spadło także istotnie bezrobocie: z 27,5% (2004) do 18.9% (2013).
Podobna sytuacja miała miejsce w Tychach. Po 2003 widać szybki spadek przeciętnego wynagrodzenia z 2893 zł do 2288 zł, ale wraz z tym miał miejsce spadek bezrobocia z 13.1% (2003) aż do 5.2% (2007)!

Bezrobocie

Oczywiście przeciętne wynagrodzenie to nie wszystko. Przydało by się zestawić wartości pokazywane na mapie ze stopą bezrobocia albo ze wzrostem/spadkiem liczby ludności, bo przecież istotna jest nie tylko wysokość zarobków ale także łatwość znalezienia pracy. Pozwoliłoby to opowiedzieć ciekawsze historie z tych danych i zbudować pełniejszy obraz zmian w Polsce ostatnich lat.
Zapraszam do klikania:
Kliknij aby zobaczyć interaktywną mapę przeciętnego wynagrodzenia
Ta wizualizacja to mój powrót do d3js. Mam nadzieję, że w najbliższym czasie małym nakładem uda się przygotować kolejny dokument.

Opóźnienia pociagów

Musiałem trochę poprawić swojego crawlera, żeby zbierać dokładniejsze dane dotyczące opóźnień. Problem polegał na tym, że gdy pociąg dojedzie do stacji docelowej to za parę minut informacja o nim jest kasowana. Zamiast więc wsadowo pobierać wszystkie strony co parę godzin program działa teraz w trybie ciągłym i we właściwym momencie uaktualnia dane o pociągu.
Zebrałem historię z jednego tygodnia (od 25 lutego do 4 marca). Nie było wtedy chyba żadnych afer kolejowych. Pogoda była zdecydowanie sprzyjająca. Powinienem też mieć gdzieś mniej dokładne wyniki ze stycznowego ataku zimy. Może znajdę chwilę, by do nich wrócić przy innej okazji.
Ile pociągów się spóźnia?
Z zebranych danych wynika, że 72% przyjazdów jest na czas. Z 28% opoźnionych przyjazdów tylko 5% ma opóźnienie większe niż 5 minut. W rozbiciu na przewoźnika wygląda to następująco:

Średnie opóźnienie wynosi nieco ponad 4 minuty, największe, 226 minut, miał pociąg Intercity Żuławy z Olsztyna do Szczecina. Zdaje się, że był to jakiś losowy przypadek, bo w pozostałych dniach nie było takich dużych opóźnień tego pociągu
Intuicja podpowiada, że nie wszędzie pociągi spóźniają sie tak samo często. Pewnie niektóre trasy są w złym stanie. Inne, remontowane też wydaje mi się, że mogą powodować opóźnienia ze względu na mijanie się pociągów po jednym torze. Jak to wygląda z szerszej perspektywy?
pkp_mapa_stacje
[kliknij, aby uruchomić w nowym oknie]

Powoli kończę pierwszą serię poświęconą kolei. Być może jeszcze znajdę czas i pomysł na jeden wpis, ale już zaczynam myśleć o nowym temacie. Do kolei pewnie wrócę za parę miesięcy, żeby porównać, czy coś się zmieniło. Poza tym będę się starał obserwować opóźnienia w razie kataklizmów pogodowych — wtedy powyższa mapka będzie na pewno wyglądać zupełnie inaczej.

PKP – czas podróży

Jak wyglądałaby mapa Polski, gdyby zamiast odległości pomiędzy miastami przedstawić czas podróży koleją? Wiadomo, że trasy są w różnym stanie.
Skupiłem się na PKP Intercity, bo chciałem sprawdzić tylko połączenia pomiędzy większymi miastami. W przypadku przewoźników osobowych duża liczba stacji mogłaby sztucznie wydłużać czas w obszarach gęsto zaludnionych.
Oczywiście nadal korzystam z d3js (bez tej biblioteki nie wyobrażam już sobie wizualizacji 🙂 ). Opcja wykorzystana tym razem to force layout. Idea jest taka: definujemy różne siły (grawitacji, przyciągania, odpychania), które dziłają na obiekty i zamiast samemu określać położenie przedmiotów pozwalamy by te siły “ułożyły” obiekty na płaszczyźnie.
W widoku podstawowym widzimy miasta w ich rzeczywistej pozycji. Odleglość pomiędzy nimi odpowiada odległości w linii prostej. Po przełączeniu odległości zostaną zmodyfikowane tak, by były proporcjonalne do czasu podróży. Wtedy zdefionowane siły “ułożą” graf zgodnie z zadanymi ograniczeniami (przed wszystkim odległości mają być propocjonalne do czasu podróży, w drugiej kolejności miasta starają się być jak najbliżej swoich pierwotnych pozycji).
pkp_mapa_stacje
Co do samych danych to widzimy, że w dobrym stanie jest linia Frankfurt-Rzepin-Poznań-Warszawa (po przełączeniu skraca się). Szczecin-Poznań też jest w dobrym stanie. Kiepsko wypadają natomiast połączenia na południu — tam praktycznie każda podróż ciągnie się niemiłosiernie.

Stacje kolejowe

Wszystkich stacji kolejowych jest 2500, więc trochę czasu zajęło przygotowanie danych do kolejnej wizualizacji, czyli mapy linii kolejowych. Najwięcej problemów było ze ściągnięciem i uporządkowaniem współrzędnych stacji. Dwa źródła okazały się pomocne.

  • Natrafiłem kiedyś na pakiet R o nazwie SmarterPoland. Funkcja getGoogleMapsAddress pobiera z Google’a współrzędne podanej lokalizacji. Jest niestety dość niski limit na liczbę requestów (chyba 1000 z tego co pamiętam — robiłem to parę miesięcy temu), niemniej jednak często stanowi to dobrą podstawę do dalszej pracy.
  • Hitem okazała się Wikipedia. Jest całkiem dużo artykułów poświęconych stacjom kolejowym, a na każdej stronie są zazwyczaj współrzędne geograficzne. Dla stacji X pobierałem więc strony: X, X_(stacja_kolejowa), oraz X_(przystanek_kolejowy). Dało to bardzo dobre rezultaty. Okazało się, że szczególnie te mniejsze stacje były dokładnie opisane. BTW: czy stacja w Cierpigórzu naprawdę tak wygląda?

Po ściągnięcie danych musiałem jeszcze wprowadzić całą masę poprawek i na pewno nadal jest troche nieścisłości.
Do rysowania mapy wykorzystałem d3js z dodatkiem topojson. Tutaj jest fajny tutorial.
pkp_mapa_stacje
Na zachodzie sieć kolejowa jest rozwinięta o wiele gęściej niż na wschodzie. Na wschodzie dominuje Warszawa. Poza liniami dobiegającymi do stolicy jest mało tras.

Akty prawne

Czas na pierwszą wizualizację. Zaczynamy od liczby aktów prawnych wydanych w Polsce na przestrzeni kolejnych dekad.
Dane źródłowe pochodzą z Internetowego Systemu Aktów Prawnych, który znajduje się na stronach Sejmu. Baza zawiera wszystkie akty od 1918 roku. Prawie wszystkie dokumenty to PDF-y (choć starsze to skany a nie tekst). Ogólem jest ok. 67 tys. aktów, 74 tys. PDF-ów (niektóre akty mają różne typy teksów), które zajmują ~ 19GB.
akty1
[zobacz wykres w nowym oknie]

Pierwszy rzut oka zdaje się potwierdzać tezę, że produkuje się coraz więcej “prawa”. W ostatnich latach jest istotny wzrost, szczególnie gdy spojrzymy na liczbę stron a nie liczbę dokumentów. Jako laik z tej dziedziny byłem też trochę zaskoczny, że np. w latach 20 i 30 wytworzono tak mało dokumentów w porównaniu z ostatnią dekadą. Podejrzwałbym, że na początku II RP było więcej pilnych kwestii do rozwiązania. Ciekawie by było porozmawiać z ekspertem. Czy rzeczywiście jest uchwalane teraz coraz więcej prawa, które jest coraz mniej istotne? Czy może mamy coraz więcej dziedziń, które są uregulowane?
Ten wykres to także moje pierwsze poważniejsze próby z d3js. W dwóch słowach, d3js to javascriptowa biblioteka, która umożliwa tworzenie dokumentów/wizualizacji opartych na danych (Data Driven Documents). Podejście deklaratywne pozwala dość zwięźle opisać dokument. Dzięki temu wykres taki jak wyżej zajał ok. 300 linii kodu (choć czytelność stawiałem nad zwięzłość i do javascript ninjy bardzo mi daleko).
Z d3js pierwszy raz zetknąłem się już jakiś czas temu, ale dotychczas nie miałem okazji nigdzie tego wykorzystać. Ucieszyłem się, że ostatnio pojawiło się więcej tutoriali i przykładów, jak chociażby na stronie głównej projektu, czy tutaj. W d3js podoba mi się szczególnie to, że można dość niewielkim kosztem uzyskać wykres/grafikę, która wszędzie się uruchomi (HTML+js) i jest self-contained (jeśli danych nie ma dużo możemy wrzucić je bezpośrednio do javascriptu. Poza tym łatwo jest dodać elementy interaktywne, co od razu przykuwa uwagę. Mam nadzieję, że wkrótce będę mógł się pochwalić kolejnymi rezultatami.