Dziennikarstwo danych

Proces analizy danych i narzędzia

Ben Stanley

Wydział Nauk Społecznych, Uniwersytet SWPS

27 stycznia 2026

Plan zajęć

  • 0–30 min: Proces analizy danych - cztery etapy
  • 30–70 min: Praca w grupach - szukanie i czyszczenie danych
  • 70–100 min: Praca w grupach - analiza i wizualizacje danych
  • 100–140 min: Prezentacje wszystkich grup

Kluczowe pytanie

Od pytania badawczego do publikacji - jak wygląda cały proces?

  1. Pozyskiwanie danych
  2. Czyszczenie danych
  3. Analiza danych
  4. Prezentacja/wizualizacja danych

Część I: Proces analizy danych

Proces: od pytania do historii

Schemat wspólny dla wszystkich projektów:

Pytanie badawcze → Dane → Analiza → Historia/Artykuł

Każdy projekt dziennikarstwa danych przechodzi przez te same etapy, niezależnie od tematu

Przykłady pytań badawczych

  • G1: Jak świadoma, spersonalizowana i eko pielęgnacja wpływa na zakupy i samoocenę?
  • G3: Jak ceny najmu mieszkań odnoszą się do zarobków młodych?
  • G5: Jaka jest dostępność badań cytologicznych w różnych regionach?
  • G7: Ile gospodarstw ma poduszkę finansową?
  • G8: Jak dostępne są schrony w różnych dzielnicach?

Etap 1: Pozyskiwanie danych

Oficjalne statystyki:

  • GUS/BDL, NBP, NFZ, Eurostat
  • PSP (aplikacja “Schrony”), KRN

Etap 1: Pozyskiwanie danych

Badania naukowe i ankietowe:

  • Artykuły open access (MDPI, PubMed/NCBI)
  • Własne ankiety CAWI
  • Raporty badawcze

Etap 1: Pozyskiwanie danych

Inne źródła:

  • Raporty PIE, NGO
  • Statystyki sklepów online, Google Trends

Przykłady źródeł dla grup projektowych

  • G1: Eurostat/GUS (wydatki na kosmetyki), ankieta CAWI
  • G3: NBP (ceny najmu), GUS/BDL (płace)
  • G5: NFZ, KRN, Eurostat EHIS (cytologia)
  • G7: NBP “Zasobność”, GUS BBGD (oszczędności)
  • G8: Aplikacja “Schrony”, GUS/BDL (ludność dzielnic)

Formaty danych

Idealne:

  • CSV, Excel (XLSX)
  • JSON
  • Wyniki ankiet z narzędzi online

Wymagające konwersji:

  • PDF (→ Tabula, OCR)
  • Strony HTML (→ web scraping)
  • Zdjęcia tabel (→ OCR)

Pokaz: pobieranie danych z BDL

Przykład na żywo:

  • Wchodzimy na bdl.stat.gov.pl
  • Znajdujemy dane
  • Pobieramy w formacie CSV/XLSX
  • Otwieramy w Excel/Google Sheets

Etap 2: Czyszczenie danych

Typowe problemy

Braki danych:

  • Brak danych dla niektórych województw/okresów
  • Pytania bez odpowiedzi w ankietach

Niespójności:

  • Różne jednostki geograficzne
  • Różne okresy (roczne vs kwartalne)
  • Różne definicje (np. “green cosmetics”, brutto/netto)

Przykłady czyszczenia dla grup

G1 (kosmetyki eko):

  • Ujednolicanie kategorii wiekowych (18–24, 25–34, itd.)
  • Łączenie odpowiedzi z artykułów i ankiety
  • Notowanie rozbieżnych definicji “green”

G3, G5, G7, G8:

  • Wybór wspólnych lat
  • Wybór wspólnych jednostek terytorialnych
  • Usuwanie zbędnych kolumn
  • Sprawdzanie nielogicznych wartości

Dokumentacja procesu czyszczenia

Przykład dokumentacji:

  1. Źródło: GUS, tabela X, pobrane 2024-12-06
  2. Wybrane lata: 2020–2023
  3. Wybrane jednostki: województwa
  4. Usunięte kolumny: kod terytorialny, symbole
  5. Problemy: brak danych dla woj. X w roku 2021

Etap 3: Analiza danych

Statystyki opisowe

Podstawowe miary:

  • Średnie, mediany
  • Odsetki, udziały procentowe
  • Rozkłady (min, max, kwartyle)

Dodatkowe dla niektórych grup:

  • Wskaźniki dobrostanu/quality of life (G1)
  • Ranking województw/miast/dzielnic
  • Segmentacja konsumentów

Proste związki i porównania

Korelacje:

  • Intensywność eko-pielęgnacji vs samoocena (G1)
  • Dochód vs poduszka finansowa (G7)

Porównania między grupami:

  • Region vs dostęp do cytologii (G5)
  • Dzielnica vs dostępność schronów (G8)
  • Miasto vs dostępność mieszkań (G3)

Etap 4: Prezentacja/wizualizacja

Typy wizualizacji

Tabele:

  • Rankingi województw, miast, dzielnic
  • Segmenty konsumentów (G1)

Wykresy:

  • Słupkowe (porównania)
  • Liniowe (trendy w czasie)
  • Kołowe (udziały)

Mapy: - Choroplethy (różnice regionalne)

Przykłady wizualizacji dla grup

G1: Wykres słupkowy - różnice między grupami wiekowymi w częstotliwości rutyn pielęgnacyjnych

G3: Mapa - procent pensji na czynsz w różnych miastach

G5: Choropleth - odsetek kobiet z cytologią w województwach

G7: Wykres słupkowy - odsetek gospodarstw z oszczędnościami

G8: Mapa dzielnic - liczba miejsc w schronach na 1000 mieszkańców

Agenty AI w czyszczeniu i przygotowaniu danych

Zalety:

  • Automatyzacja rutynowych zadań - wykrywanie i usuwanie duplikatów, standaryzacja formatów
  • Obsługa błędów - identyfikacja i sugerowanie poprawek dla niespójnych danych
  • Szybkość - przetwarzanie dużych zbiorów danych w krótkim czasie
  • Inteligentne dopasowanie - łączenie danych z różnych źródeł (fuzzy matching)
  • Dokumentacja - automatyczne generowanie raportów z procesu czyszczenia

Agenty AI w czyszczeniu i przygotowaniu danych

Wady:

  • Brak przejrzystości - trudno zweryfikować wszystkie decyzje AI (“czarna skrzynka”)
  • Ryzyko błędów - AI może propagować błędy na dużą skalę bez wykrycia
  • Zależność od kontekstu - AI nie zawsze rozumie specyfikę dziedziny (np. medyczna vs ekonomiczna)
  • Koszty - zaawansowane narzędzia AI mogą być drogie
  • Etyka i prywatność - przesyłanie danych do zewnętrznych API może naruszać RODO
  • Wymaga weryfikacji - dziennikarz musi nadal sprawdzać wyniki, nie oszczędza to całkowicie czasu

Etap 1: Narzędzia do pozyskiwania danych

Dla początkujących:

  • Browser Developer Tools - inspekcja stron, pobieranie danych
  • Google Sheets - import z URL, API
  • curl/wget - pobieranie plików z linii poleceń

Dla zaawansowanych (Python):

  • Requests - pobieranie danych z API
  • Beautiful Soup - parsowanie HTML/XML
  • Scrapy - profesjonalny web scraping

Etap 2: Narzędzia do czyszczenia danych

GUI (bez kodowania):

  • OpenRefine - profesjonalne czyszczenie
    • Używany przez NYT, Wikipedia
  • LibreOffice Calc - darmowa alternatywa Excel

Z kodowaniem:

  • pandas (Python) - standard manipulacji danych
  • dplyr/tidyr (R) - gramatyka transformacji danych
  • NumPy (Python) - operacje numeryczne

Etap 3: Narzędzia do analizy danych

GUI (statystyki):

  • Jamovi - alternatywa SPSS
  • JASP - analiza bayesowska
  • GNU PSPP - klon SPSS

Z kodowaniem:

  • Python: pandas, statsmodels, scikit-learn
  • R: base stats, tidymodels
  • Jupyter Notebooks / RStudio - środowiska analityczne

Etap 4: Narzędzia do wizualizacji

Bez kodowania:

  • Datawrapper - wykresy dla dziennikarzy (NYT, Guardian)
  • RAWGraphs - 30+ typów wykresów
  • Flourish - interaktywne wizualizacje

Z kodowaniem - wykresy:

  • ggplot2 (R) - gramatyka grafiki
  • matplotlib/seaborn (Python) - wizualizacje statystyczne
  • D3.js (JavaScript) - używany przez NYT, FiveThirtyEight

Etap 4: Narzędzia do map

Desktopowy GIS:

  • QGIS - profesjonalny GIS, alternatywa ArcGIS
    • Używany przez National Geographic, WHO, UNESCO

Mapy interaktywne (web):

  • Leaflet (JavaScript) - lekkie mapy (NPR, Guardian)
  • Folium (Python) - Leaflet w Pythonie
  • leaflet/tmap (R) - mapy w R

Publikacja wyników

Hosting statyczny:

  • GitHub Pages - darmowy hosting + Jekyll
  • Netlify/Vercel - nowoczesne wdrażanie

Aplikacje interaktywne:

  • Streamlit (Python) - dashboardy bez JavaScript
  • Shiny (R) - aplikacje webowe w R
  • Quarto - publikacje naukowe (Python, R, Julia)

Narzędzia dla początkujących

Etap Narzędzie
Pozyskiwanie Browser DevTools, Google Sheets
Czyszczenie OpenRefine, LibreOffice Calc
Analiza Jamovi, Google Sheets
Wizualizacja Datawrapper, RAWGraphs
Publikacja GitHub Pages

Narzędzia dla zaawansowanych

Etap Narzędzie
Pozyskiwanie Python (Requests, Beautiful Soup)
Czyszczenie pandas, dplyr
Analiza Jupyter Notebooks, tidyverse
Wizualizacja ggplot2, plotly, Flourish
Publikacja Quarto, Streamlit

Zalety open source

  • Koszt - całkowicie darmowe
  • Transparentność - kod do inspekcji
  • Społeczność - aktywny rozwój, wsparcie
  • Reprodukowalność - standard w nauce i dziennikarstwie
  • Niezależność - brak uzależnienia od dostawcy
  • Edukacja - nauka z kodu źródłowego

Kryteria wyboru narzędzi

Podstawowe pytania:

  • Czy potrzebuję GUI czy wystarczy kod?
  • Jak duże są dane (KB, MB, GB)?
  • Jaki mam termin realizacji?
  • Jakie umiejętności ma zespół?
  • Czy projekt wymaga reprodukowalności?

Część II: Praca w grupach

Zadanie dla wszystkich 8 grup

Każda grupa (30–40 min):

  1. Znajdźcie kluczowe źródła danych
  2. Pobierzcie dane w formacie do analizy (CSV/XLSX)
  3. Wykonajcie wstępne czyszczenie:
    • Wybierzcie odpowiednie lata
    • Wybierzcie odpowiednie jednostki
    • Usuńcie zbędne zmienne
    • Zaznaczcie braki
  4. Zapiszcie plik jako Google Sheet do Classroom

Dokumentacja - szablon dla grup

Wypełnijcie 5 punktów:

  1. Źródło: Skąd pochodzą dane?
  2. Data pobrania: Kiedy pobrano?
  3. Zmienne: Które zmienne wybraliśmy?
  4. Filtry: Jakie lata/jednostki/kategorie?
  5. Problemy: Jakie napotkaliśmy trudności?

Część III: Analiza i wizualizacja

Zadanie: Statystyki opisowe

Każda grupa (20 min): Przedstawcie kluczowe statystyki opisowe dla waszych głównych zmiennych (średnia, mediana, rozkład, odsetki itp.)

Przykładowe zmienne:

G1: Rozkład częstotliwości rutyn, odsetek użytkowników produktów eko, wskaźniki dobrostanu

G3: Średni procent pensji na czynsz w 6 miastach

G5: Odsetek kobiet z cytologią w województwach

G7: Odsetek gospodarstw z oszczędnościami ≥ 3-miesięczne wydatki

G8: Liczba miejsc w schronach na 1000 mieszkańców dzielnicy

Zadanie: Proste korelacje/porównania

Każda grupa (10 min): Poszukajcie związków między kluczowymi zmiennymi w waszych danych (korelacje, porównania między grupami)

Przykładowe związki:

  • G1: Intensywność rutyn vs samoocena
  • G5: Region vs dostęp do cytologii
  • G7: Dochód vs oszczędności
  • G8: Gęstość zaludnienia vs dostępność schronów

Zadanie: Pomysły na wizualizację / prezentację

Każda grupa (10 min):

Wypiszcie:

  1. 1–2 pomysły na wizualizację (tabela/wykres/mapa)
  2. “Najbardziej newsową” liczbę z waszych danych
  3. Jedno zdanie leadu do potencjalnego artykułu

Część IV: Prezentacje grup

Struktura prezentacji (5 min na grupę)

Każda grupa przechodzi przez 4 etapy:

  1. Pozyskanie danych (1 min)
    • Jakie źródła wykorzystano?
  2. Czyszczenie danych (1 min)
    • Najważniejsze kroki i problemy
  3. Analiza (2 min)
    • Statystyki opisowe (korelacje?)
    • Najbardziej interesujące wyniki
  4. Prezentacja/wizualizacja (1 min)
    • Pomysł na wizualizację
    • Jedno zdanie leadu artykułu