Danetyka https://danetyka.com/ Nauka o danych Tue, 10 Mar 2026 13:15:53 +0000 pl-PL hourly 1 https://wordpress.org/?v=6.9.4 https://danetyka.com/wp-content/uploads/2020/04/cropped-danetyka_ikona-32x32.jpg Danetyka https://danetyka.com/ 32 32 Węże i drabiny https://danetyka.com/weze-i-drabiny/ Fri, 06 Mar 2026 06:38:00 +0000 https://danetyka.com/?p=9276 The post Węże i drabiny appeared first on Danetyka.

Ile trwa typowa gra w węże i drabiny? Jak dobrać liczbę i rozstawienie węży i drabin? Odpowiadam na te pytania przy pomocy symulacji Monte Carlo.

The post Węże i drabiny appeared first on Danetyka.

]]>
The post Węże i drabiny appeared first on Danetyka.

Ile trwa typowa gra w węże i drabiny? Jak dobrać liczbę i rozstawienie węży i drabin? Odpowiedzmy na te pytania przy pomocy symulacji Monte Carlo.

Załóżmy najpierw, że na planszy nie ma żadnych węży ani drabin i grają dwie osoby. Rzucamy na przemian kostką i kto pierwszy stanie na polu nr 100, ten wygrywa (załóżmy, że nie trzeba stanąć dokładnie na tym polu). Piszemy prosty program w swoim ulubionym języku programowania: gracz A losuje liczbę z przedziału 1-6 i zmienia pozycję, potem gracz B i tak dalej. W końcu maksimum z tych pozycji będzie co najmniej równe 100 i gra się skończy — a my sprawdzimy, ile ruchów (rzutów) wykonał wygrywający gracz.

Zagrałem 100 tysięcy razy. Poniżej rozkład liczby ruchów.

Średnio potrzeba ich około 28, aby wygrać. Jest to logiczne, bo średnio przesuwamy się o 3,5 pola. Z prostych obliczeń wynika, że w 29 ruchu powinniśmy przekroczyć pole nr 100.

Czemu nie 28? Bo te „logiczne obliczenia” są zbyt proste. Po pierwsze, wystarczy, że którykolwiek z graczy przekroczy 100, więc mamy więcej okazji do ukończenia. Po drugie, jest pewien problem z końcówką. Jeśli stoimy np. na polu 98, to istnieje jakościowa różnica między wyrzuceniem 1 i 2 — i to trzeba uwzględnić w obliczeniach. Dlatego ostatecznie średnia (wartość oczekiwana) jest mniejsza niż 29.

Spójrzmy na inne statystyki. Minimalna liczba ruchów, jaką otrzymałem, to 20. W rzeczywistości da się wygrać w 17 ruchach, wyrzucając same szóstki, ale jest to na tyle nieprawdopodobne, że 100 tysięcy gier to za mało, żeby się wydarzyło. Zauważmy też, że maksymalna liczba ruchów to 100 (za każdym razem wyrzucamy jeden), ale jest to ekstremalnie nieprawdopodobne. Po pierwsze, dwóch graczy musiałoby stale wyrzucać jeden (w przypadku najkrótszej gry wystarczy, że jeden z nich będzie miał szóstki). Po drugie, wyrzucanie jedynek zwiększa liczbę potrzebnych ruchów!

Czas gry

Zamieńmy liczbę ruchów na czas. Załóżmy, że jeden ruch (wraz z ruchem przeciwnika) trwa średnio 15 sekund. Ostatni ruch będzie trwał tyle, jeśli wygra drugi gracz, ale połowę tego czasu, jeśli wygra pierwszy. Oczywiście rozkład czasów będzie praktycznie taki sam jak dla ruchów (co do kształtu), ale wartości staną się łatwiejsze w interpretacji.

Gra trwa średnio 7 minut. Bardziej interesujące jest jednak dla mnie, ile trwają typowe gry — i tę typowość chcę tu rozumieć szeroko, jako przedział od pierwszego do dziewiątego decylu. Wynosi on od 6 do 7,5 minut. Czyli 10% pojedynków jest krótszych niż 6 minut, 10% dłuższych niż 7,5 minut, a większość (80%) zawiera się w podanym przedziale.

Zauważmy, że ten przedział jest bardzo wąski. Czasy trwania takiej (bardzo nudnej) gry cechują się niewielkim rozrzutem.

Klasyczne węże i drabiny

Rozstawmy teraz węże i drabiny tak, jak na planszy ze zdjęcia. Jeśli trafimy na drabinę, wchodzimy na nią, a jeśli na głowę węża, zjeżdżamy do pola z ogonem. Czas trwania gry z jednej strony może się wydłużyć, jeśli będziemy trafiać na węże, a z drugiej strony skrócić, jeśli będziemy wchodzić po drabinach.

Od strony technicznej, o ile w poprzednim przykładzie mniej więcej dało się policzyć na palcach, ile powinny trwać pojedynki, teraz jest to trudniejsze (choć możliwe, na przykład korzystając z łańcuchów Markowa). W symulacjach Monte Carlo zmienia się niewiele: wystarczy uwzględnić, że po stanięciu na niektóre pola zmienia się pozycja.

Poniżej rozkład czasów gry, jaki otrzymałem. Uciąłem go z prawej strony na 30 minutach — w 100 tysiącach symulacji zdarzyło się pięć tak długich gier.

Tym razem rozkład jest prawostronnie skośny. Typowe gry wciąż trwają dość krótko, od 4 do 10 minut. Rozrzut jest znacznie większy niż poprzednio.

Wredne węże

Dołóżmy teraz dwa wredne węże! Z pól 98 i 99 zjeżdżamy na 1. Poniżej rozkład czasów, tym razem ucięty na 60 minutach (było 57 przypadków powyżej).

Typowe gry trwają od 4 do 21 minut. Możemy policzyć prawdopodobieństwo, że czas trwania będzie dłuższy niż pół godziny: wynosi ono 3%. Innymi słowy, należy oczekiwać, że mniej więcej raz na 30 gier taka sytuacja zajdzie. W klasycznych wężach i drabinach jest to bardzo mało prawdopodobne.

Poniżej wszystkie trzy rozkłady na wykresach gęstości (ucięte na 30 minutach).

Przy pomocy zaprezentowanego tu podejścia można testować różne ustawienia węży i drabin, tak żeby wybrać optymalne z punktu widzenia rozkładu czasu gry. Oczywiście to, jaki rozkład będzie „optymalny”, jest kwestią subiektywną, ale jeśli to ustalimy, możemy go stosunkowo łatwo osiągnąć.

Dodajmy, że jest to łatwe dlatego, że węże i drabiny są grą czysto losową. Nie ma w nich żadnej decyzji, którą możemy podjąć (poza rzuceniem planszą i przerwaniem gry). To nie znaczy, że nie można użyć symulacji Monte Carlo w grach, w których takie decyzje (wpływające na czas trwania) można podjąć. Trzeba je jednak odpowiednio zamodelować: na przykład z pewnym prawdopodobieństwem gracz podejmie decyzję A albo B.

Jeśli zainteresował Cię temat symulacji Monte Carlo, być może spodobają Ci się podobne artykuły o grze Eurobiznes lub karcianej wojnie.

The post Węże i drabiny appeared first on Danetyka.

]]>
Charakterystyka osadzonych w polskich więzieniach https://danetyka.com/charakterystyka-osadzonych-w-polskich-wiezieniach/ Mon, 23 Feb 2026 14:23:25 +0000 https://danetyka.com/?p=9249 The post Charakterystyka osadzonych w polskich więzieniach appeared first on Danetyka.

Charakterystyka osadzonych w polskich więzieniach w latach 1997-2024, na podstawie danych udostępnionych przez Służbę Więzienną.

The post Charakterystyka osadzonych w polskich więzieniach appeared first on Danetyka.

]]>
The post Charakterystyka osadzonych w polskich więzieniach appeared first on Danetyka.

Poniższa analiza opiera się na danych publikowanych przez Służbę Więzienną i dotyczy charakterystyki osadzonych w polskich więzieniach w latach 1997-2024 (wykorzystuję zestawienia roczne; raportów z 2025 jeszcze nie ma). Danych jest sporo, choć są udostępnianne w formie, która niekoniecznie zachęca do wykonania własnych analiz (np. pdf). Brak też spójności w strukturze danych z roku na rok, zmieniają się nazwy kategorii itp. Dlatego poza analizą udostępniam wybrane dane w bardziej przyjaznej formie, tak by można było je łatwo przeanalizować samemu. Na końcu artykułu znajdują się odnośniki i opisy plików.

Wiek i płeć

Utworzyłem cztery przedziały wiekowe: poniżej 25 lat, 25-39, 40-54 oraz powyżej 54. Na poniższych wykresach liczba osadzonych kobiet i mężczyzn w latach 1997-2024 (uwaga na osie Y, kobiet jest znacznie mniej).

Jak widać, młodych mężczyzn i kobiet (poniżej 25 lat, żółta linia) jest obecnie mniej niż starszych (powyżej 54 lat, czarna linia). Warto to jednak odnieść do struktury wieku w całej populacji, bo być może ta zmiana wynika jedynie ze starzenia się Polaków. Na poniższym wykresie przedstawiono te same dane, ale w przeliczeniu na 10 tysięcy osób w danym przedziale wiekowym.

Dzięki takiemu przedstawieniu możemy coś powiedzieć o tym, jaki wiek “sprzyja” byciu więźniem. Na przykład osób w wieku 25-39 jest najwięcej nie dlatego, że wielu jest Polaków w tym wieku (bo ta informacja została już uwzględniona we wskaźniku), ale mamy do czynienia z nadreprezentacją takich osób. Z kolei osób powyżej 54 lat jest w więzieniach niewiele — i wciąż mniej niż młodych (poprzedni wykres sugerował co innego).

Interpretując ten wykres, pamiętajmy, że jeśli ktoś przebywa w więzieniu wiele lat, to przechodzi z jednej kategorii w drugą (część osadzonych w wieku poniżej 25 lat “przeszła” do kategorii 25-39). Z danych nie da się odczytać, w jakim wieku był osadzony, gdy trafił do więzienia.

Na kolejnym wykresie udział kobiet wśród wszystkich osadzonych w różnych grupach wiekowych (dane wygładzone metodą LOESS).

W każdej grupie wiekowej kobiet jest coraz więcej, ale największa różnica jest wśród najmłodszych. W 1997 roku tylko 2% więźniów poniżej 25 lat stanowiły kobiety, a w 2024 ponad 6%.

Samoagresja

Następny wykres to liczba przypadków samoagresji na 1000 osadzonych. Uwaga: ponieważ jest to liczba przypadków, jeden więzień może pojawić się w tej statystyce wielokrotnie (najprawdopodobniej; niestety nie zostało to opisane w raportach Służby Więziennej).

Ponieważ liczba osadzonych w różnych latach jest dość podobna, możemy też analizować bezwzględne liczby. I tak, w latach 1997-2001 odnotowano rocznie średnio 843 przypadki samouszkodzeń, 52 odmów przyjmowania pokarmu i 185 razy usiłowano popełnić samobójstwo. Z kolei w latach 2020-2024 było średnio 19 przypadków samouszkodzeń, 7 odmów przyjmowania pokarmu i 126 razy usiłowano popełnić samobójstwo. W danych brak informacji o wieku i płci osób dokonujących samoagresji.

Wymiar kary

Ostatni wykres przedstawia procent więźniów w zależności od wymiaru kary.

Uwaga: z tych danych nie wynika, na jakie kary są najczęściej skazywani więźniowie, ale jest to obraz osadzonych w danym momencie (więźniowie skazani na krótsze okresy szybciej opuszczają więzienia, więc w pewnym sensie jest ich mniej w danym przekroju czasowym). Oprócz tego zdefiniowane przeze mnie przedziały lat są dość arbitralne i ich długość wplywa na proporcje. Mimo wszystko, patrząc na wykres, można postawić tezę, że coraz częstsze są kary poniżej 1 roku, “zamiast” kar 1-5 lat.

Opis plików

Dane udostępniam w sześciu plikach csv, spakowane w pliku osadzeni.zip. Poniżej ich opis i decyzje, które musiałem podjąć, żeby zachować spójność. Udostępnionych przez Służbę Więzienną danych jest znacznie więcej, wybrałem jedynie te, które wydały mi się interesujące.

  • osadzeni.csv: liczba osadzonych z podziałem na płeć i grupy (tymczasowo aresztowani, skazani, ukarani i ogółem), stan na ostatni dzień miesiąca.
  • mlodociani.csv: liczba młodocianych osadzonych, częstotliwość kwartalna. Uwaga na braki danych w 2001 roku.
  • ruch.csv: ruch osadzonych, czyli liczba wpisanych i skreślonych z ewidencji, z podziałem na tymczasowo aresztowanych, skazanych, ukaranych i ogółem. Uwaga: w dwóch poprzednich plikach podano całkowitą liczbę osadzonych w danym dniu (stan na ten dzień), natomiast w pliku ruch.csv znajduje się liczba wpisanych i skreślonych w danym okresie (miesięcznym).
  • wiek.csv: liczba osadzonych (ogółem, kobiet, tymczasowo aresztowanych i skazanych) w grupach wiekowych (15-18, 19-21 itd.), stan na ostatni dzień roku. Kategoria “15-18” została utworzona przeze mnie, w różnych latach osadzeni w tym wieku byli podawani w różny sposób, np. 15-16, 17-18, 16-18, osobno 15 i 16 itd. W niektórych latach osobno podawano wiek 22-23 i 24, połączyłem te kategorie w przedział 22-24.
  • samoagresja.csv: liczba przypadków usiłowań popełnienia samobójstwa, dokonania samouszkodzeń lub odmowy przyjmowania pokarmów. Dane kwartalne, np. “1997-03” to liczba przypadków w pierwszym kwartale (do marca włącznie), “1997-06” w drugim kwartale (do czerwca włącznie) itd. Uwaga: w 1998 roku “trzeci kwartał” to tylko miesiące lipiec-sierpień, a “czwarty kwartał” to wrzesień-grudzień. W danych jest to zaznaczone w taki sposób, że zamiast “1998-09” jest “1998-08”. Kolejny okres jest już oznaczony normalnie (“1998-12”), ale trzeba pamiętać, że jest o jeden miesiąc dłuższy.
  • kara.csv: liczba osadzonych w zależności od wymiaru odbywanej kary. Do roku 2011 dane podawane były z podziałem na grupy: M (młodociani), P (skazani odbywający karę po raz pierwszy), R (recydywiści), W (skazani odbywający karę aresztu wojskowego). Dodatkowo tylko w 1997 roku wyodrębniono kategorię S (skazani wymagający stosowania szczególnych środków leczniczo-wychowawczych). W 2012 roku zrezygnowano z tych kategorii i stosuje się jedynie podział na młodocianych i dorosłych oraz kobiety i mężczyzn. Oprócz tego rozróżnia się, czy orzeczenie jest prawomocne czy nieprawomocne. Z tych względów w danych jest dużo braków, bo niektóre kolumny mają sens tylko dla niektórych okresów. Oprócz tego trzeba uważać na przedziały lat w wymiarze kary, np. w 1997 mamy przedział 1-2 lata, który od kolejnego roku został rozbity na 1-1,5 i 1,5-2. Przedział 20-30 pojawia się dopiero w ostatnim roku, wcześniej było jedynie 25 lat. Nie ujednolicałem tego.

Uwaga do wszystkich plików: dla danych z roku 2009 wpisałem datę “2009-12-31”, ale w rzeczywistości dane są z 4 stycznia 2010, czyli kilka dni później. Wpływ na wyniki powinien być minimalny.

The post Charakterystyka osadzonych w polskich więzieniach appeared first on Danetyka.

]]>
Plebiscyt na najgorszy wykres roku 2025 https://danetyka.com/plebiscyt-na-najgorszy-wykres-roku-2025/ Mon, 05 Jan 2026 14:41:50 +0000 https://danetyka.com/?p=9093 The post Plebiscyt na najgorszy wykres roku 2025 appeared first on Danetyka.

Wyniki plebiscytu na najgorszy wykres 2025 roku.

The post Plebiscyt na najgorszy wykres roku 2025 appeared first on Danetyka.

]]>
The post Plebiscyt na najgorszy wykres roku 2025 appeared first on Danetyka.

Wykres to jedno z podstawowych narzędzi do odnajdywania wzorców w danych i prezentacji wyników analiz. Warto odróżnić te dwa zastosowania. Jeśli wykresy wykonujemy dla siebie, jako część procesu analizy danych, nie musimy przywiązywać do nich aż tak dużej wagi. Bo po pierwsze, zapewne znamy się na swojej robocie i nawet jeśli wykres sugeruje większe zależności, niż są w rzeczywistości (bo np. oś Y nie zaczyna się w zerze), raczej będziemy tego świadomi. Po drugie, jeśli zrobimy wykres niepoprawnie i wyciągniemy złe wnioski, to liczba osób, która zostanie wprowadzona w błąd, jest zwykle mocno ograniczona.

Sprawa wygląda inaczej, gdy wykres pojawia się w raporcie, prezentacji, portalu społecznościowym czy telewizji. Powinniśmy zadbać o to, by był on zgodny ze sztuką. Czyli w skrócie: był wiarygodnym (uczciwym) podsumowaniem wykrytych przeze nas zależności. Jeśli z danych wynika, że coś wzrosło dwukrotnie, wykres nie może sugerować, że czterokrotnie.

Niestety, nie jest trudno znaleźć przykłady wykresów, które nie są spójne z danymi. Tu znów warto wyróżnić dwa przypadki:

  • Autor wykresu nie ma odpowiednich umiejętności.
  • Autor wykorzystuje swoje umiejętności, żeby manipulować odbiorcą, na przykład „podkręcając” pewne różnice, które tak naprawdę są niewielkie.

W obu przypadkach wykresy wprowadzają w błąd, więc są szkodliwe, choć groźniejsza jest oczywiście druga sytuacja. Można powiedzieć, że jeśli ktoś się nie zna, będzie popełniał błędy „losowo”, przez co czasem zawyży różnice, czasem zaniży. W drugim przypadku działanie jest kierunkowe.

Motywacją plebiscytu na najgorszy wykres jest uodpornienie nas na takie manipulacje poprzez pokazanie konkretnych przykładów. Być może dzięki temu „sprzedawcy nieprawd” będą mieli trudniejsze zadanie.

Wyniki poprzedniej edycji: https://danetyka.com/najgorszy-wykres-2024/

Zasady plebiscytu

Z nadesłanych wykresów wybrałem 16 kandydatów, na których można było głosować w czterech ankietach (półfinałach) na Linkedin. Zwycięzcy każdego z półfinałów spotkali się wielkim finale. Pierwsze miejsce zajął wykres nr 15 („Ucieczki więźniów”), drugie miejsce nr 4 („Super Express”), trzecie nr 9 („Polska – Grecja”). W sumie w pięciu ankietach oddano 1755 głosów.

Poniżej prezentacja wszystkich wykresów. Starałem się wypunktować, co jest w nich złego oraz jak można je poprawić. Częściowo jest to subiektywne, bo mówimy tu o tym, jakie wrażenie powinien mieć odbiorca, patrząc na wykres – a to zależy też od odbiorcy. W większości jednak są to klasyczne błędy, znane od lat.

Każdy z wykresów został gdzieś opublikowany, zwykle w polskich mediach. Nie podaję odnośników, bo celem plebiscytu nie jest krytyka autorów.

Wykres 1

Zaczynamy od wykresu słupkowego z dość specyficznymi etykietami na osi X. Zamiast nazw uczelni pojawiają się tu dokładne wartości z osi Y. Domyślam się, że autorzy mieli problem z długimi nazwami, ale trudno o gorsze rozwiązanie. Całe szczęście, że kolejność w legendzie odpowiada tej na osi X, inaczej ciężko byłoby stwierdzić, który słupek odpowiada na przykład Politechnice Wrocławskiej, a który Uniwersytetowi Gdańskiemu (bardzo podobne kolory).

Jak to zrobić lepiej? Często w takich sytuacjach wystarczy odwrócić wykres o 90 stopni, wtedy mamy więcej miejsca na etykiety. W przypadku najdłuższych nazw użyłem skrótowców AGH i UAM, bo jest jasne, co oznaczają. Wartości podałem w tysiącach, żeby nie zmuszać odbiorcy do liczenia zer.

Jeśli chcemy, możemy dodać etykiety z wartościami liczbowymi, choć nie ma potrzeby, żeby podawać je aż tak dokładnie (np. wystarczy 23 tys. zamiast 22991). Zauważmy, że teraz nie są potrzebne kolory – i to jest ZALETA takiego przedstawienia. W sztuce tworzenia wykresów kolor to kolejny „wymiar”. Używamy go, gdy chcemy przedstawić dodatkową informację (np. podział na politechniki i uniwersytety, uczelnie publiczne i niepubliczne itp.)

Wykres 2

PKB Polski bardzo wyraźnie wzrosło w ostatnich latach, ale niekoniecznie w takim stopniu, jak na powyższym obrazku. Co tu się wydarzyło? PKB wzrosło ponad pięć razy (z 175 mld dolarów do 915 mld), ale autorzy wykresu zwiększyli OBA wymiary (długość i szerokość) pięciokrotnie. Tym samym pole wzrosło ponad 25-krotnie i takie wrażenie będzie miał odbiorca.

Jak to poprawić? Cóż, najlepiej w ogóle zrezygnować z takiej metody prezentacji danych. Zauważmy, że powierzchnia Polski i Szwecji jest zupełnie inna, a przez to ciężko zrobić to dobrze. Poniżej propozycja, jak to pokazać inaczej.

Przy okazji warto wspomnieć, że wykres spotkał się z mocną krytyką na portalach społecznościowych, ale najczęściej niesłuszną. Zarzucano mu, że przecież w Szwecji żyje znacznie mniej ludzi, więc takie porównanie nie ma sensu. Zamiast tego powinno się podać PKB per capita, czyli dzielone przez liczbę mieszkańców. Ale liczby mieszkańców zmieniły się nieznacznie między latami 2000 i 2025, a wykres pokazuje głównie WZROST PKB, a nie same wartości. Nie ma znaczenia, czy podzielimy je przez stałą (nawet jeśli będzie różna dla Polski i Szwecji), względny wzrost będzie taki sam. Oprócz tego, w niektórych zastosowaniach to SUMA (czyli PKB) może mieć większe znaczenie od ŚREDNIEJ (PKB per capita).

Wykres 3

To wręcz książkowy przykład manipulacji. Różnica między 13,7 mld a 5,9 mld najwyraźniej była za mała i trzeba było dodatkowo zaznaczyć to kolorem oraz wymiarami słupków. W poprzednim wykresie (PKB Polski) zwiększyły się dwa wymiary, a tu aż trzy, na dodatek wysokość trzykrotnie, mimo że 13,7 jest tylko 2,36 razy większe od 5,9.

Oczywiście cel tego wykresu jest propagandowy. Można go też potraktować jako rodzaj plakatu, który rządzi się swoimi prawami. Czy w takim razie warto to piętnować? A czy gdyby zamiast 13,7 mld pojawiło się tutaj 23,7 mld, to uważalibyśmy, że wszystko jest w porządku? Raczej oczekujemy, że podane liczby są prawdziwe – a w takim razie powinny też zostać przedstawione w możliwie obiektywny sposób.

Oczywiście można tu jeszcze dyskutować nad samymi liczbami i historią, która jest za nimi ukryta – skupiam się na samym wykresie. Poniżej „uczciwe” proporcje.

Wykres 4

Ten wykres na pierwszy rzut oka jest zły, bo sumy procentów są dla każdego kandydata inne. Jak zaraz zobaczymy, wcale nie jest zły – ale fatalny.

Jak można się domyślić, brakuje tu trzeciej opcji: „nie wiem”, „nie zagłosuję” itp. Są różne podejścia, jak uwzględnić taką kategorię w tego typu sondażach, najbezpieczniej jest po prostu umieścić ją na wykresie. Czasem uzasadnione jest pominięcie jej i przeskalowanie procentów tak, by 100% oznaczało tylko zdecydowanych. Tutaj jednak autorzy założyli, że wszyscy niezdecydowani zagłosują na… Karola Nawrockiego. Spójrzmy na poniższy wykres, w którym uwzględniłem dodatkową kategorię (wiadomo z brakujących procentów, jak duża powinna być).

Jeśli teraz pomalujemy szare paski na niebiesko, to proporcje będą się mniej więcej zgadzać. „Mniej więcej”, bo w przypadku Szymona Hołowni nawet dorzucenie szarego paska nie wystarczyło (na wykresie Super Expressu niebieski jest jeszcze dłuższy).

Wykres 5

W przypadku tego popularnego wykresu z prezentacji ChatGPT mamy ewidentny problem z długością drugiego słupka. A może to słupek jest w porządku, ale podana wartość nieprawidłowa? W zasadzie, czy mamy jakąś gwarancję, że dane z pozostałych słupków są poprawne?

Na oficjalnej stronie OpenAI opublikowano poprawiony wykres z dłuższym drugim słupkiem:

Oczywiście tego typu pomyłki mogą się zdarzyć, czy w takim razie warto ten przypadek w ogóle omawiać? Zdecydowanie! Po pierwsze, nie mówimy tu o jakiejś wewnętrznej prezentacji dla zarządu, ale o dużym wydarzeniu, które śledziło sporo osób. Po drugie, z dużym prawdopodobieństwem omawiany wykres został stworzony przez prezentowany (reklamowany!) model ChatGPT5 (without thinking?). Gdyby był robiony przy pomocy jakiegoś narzędzia do tworzenia wykresów, raczej ciężko o taki błąd.

Wykres 6

Z wykresu wyraźnie wynika, że poprawną odpowiedź na to pytanie podało 45,1%…

Kolory zielony i czerwony nie są neutralne. Zielony zwykle łączony jest z czymś pozytywnym, czerwony negatywnym, więc odwrócenie tego powiązania wprowadza w błąd. Oczywiście domyślamy się, dlaczego stało się tak akurat w przypadku tego wykresu.

Jak go poprawić? Odwrócenie kolorów niekoniecznie jest dobrym pomysłem, bo rzeczywiście dla części osób odpowiedź „Negatywnie” może być odbierana pozytywnie. W takich przypadkach najlepiej zastosować neutralną kolorystykę. Można też zrezygnować z wykresu kołowego na rzecz słupkowego, wtedy kolor w ogóle nie jest potrzebny.

Wykres 7

Klasyczny przykład, w którym oś Y zaczyna się nie tam, gdzie powinna – czyli w zerze. Mimo że są sytuacje, w których jest to dobre rozwiązanie, a przynajmniej można znaleźć jakieś argumenty za nim, to tutaj występują co najmniej dwa problemy. Po pierwsze, wykres słupkowy praktycznie zawsze powinien zaczynać się w zerze. Co do zasady, służy on pokazywaniu zliczeń (lub procentów). Ma to sens, bo jeśli czegoś jest 10, to jest też 9, 8 itd., aż do zera (gdy prezentujemy średnie, tego sensu jest mniej). I gdy widzę wykres słupkowy, oczekuję, że będzie zaczynał się w zerze – i na tej podstawie interpretuję pokazane różnice. W przypadku wykresu punktowego lub liniowego tego oczekiwania nie ma, bo jest znacznie więcej sytuacji (danych), gdy zero nie jest dobrą referencją.

Drugi problem z tym wykresem jest taki, że pokazuje lukę płacową przy pomocy strzałki. Jak się ma jej wielkość do słupka dla Łotwy? Jest kilka razy dłuższa, co nie ma sensu.

Szczerze mówiąc, gdyby nie ten drugi problem, to mnie osobiście aż tak nie raziłoby, że oś Y nie zaczyna się od zera. Różnicę na poziomie 10 p.p. między państwami możemy tu traktować jako na tyle dużą, że wartą wyraźnego przedstawienia. Zaraz zobaczymy, co z tym zrobić, póki co pokażmy słupki w pełnej długości.

W tytule dodałem informację, że dane tyczą się zarobków godzinowych oraz że mówimy o ŚREDNIEJ różnicy w płacach. W oryginale brakuje tego słowa i grafika sugeruje, jakby każda kobieta zarabiała mniej od mężczyzny. Ewentualnie że te niższe zarobki wynikają z samego faktu „bycia kobietą”, co też nie jest prawdą, bo wykres przedstawia nieskorygowaną lukę płacową (innymi słowy: jedynie korelację). Oprócz tego wydaje mi się, że wygląd oryginalnych słupków nie oddaje powagi tematu. Rozumiem, że to miały być monety, ale mnie kojarzą się z chrupkami kukurydzianymi.

A co zrobić, jeśli chcemy bardziej skupić uwagę odbiorcy na różnicach między krajami? Moim zdaniem najlepiej przedstawić samą lukę płacową, jak niżej.

Oczywiście jeśli taki wykres miałby zostać gdzieś opublikowany, wymaga podania dodatkowych informacji, sam tytuł nie wystarczy.

Wykres 8

Gdy oś Y nie zaczyna się w zerze, prawie zawsze znajduje się gdzieś powyżej, jak w poprzednim przypadku. Dlatego to interesujące zobaczyć wykres, w którym początek osi Y to liczba ujemna! Na oko jest to mniej więcej -1200:

Skutkiem jest „spłaszczenie” różnic, to znaczy wydają się mniejsze, niż gdyby oś Y zaczynała się w zerze. Poniżej poprawiona wersja.

Poprawiłem też oś X, bo nie jest w równych odstępach, mimo że to sugeruje pierwotny wykres (pierwszy i ostatni przedział są trzyletnie). Oprócz tego zasobność drzewostanu to objętość drewna na danym obszarze i jednostką jest metr sześcienny na hektar. Na wykresie podano zapas drewna.

Warto dodać, że na wykresach liniowych, w przeciwieństwie do słupkowych, oś Y nie musi zaczynać się w zerze – choć wciąż to dobra domyślna opcja. Gdy jest to uzasadnione, początek układu współrzędnych może być w innym miejscu (https://danetyka.com/wykres-od-zera/). W oryginalnej wersji mieliśmy tu jednak wykres powierzchniowy (warstwowy) i wtedy niezaczynanie od zera trudno obronić. Oko ludzkie ocenia pole powierzchni i nie powinniśmy manipulować jego wielkością.

A co z tłem? Cóż, nie przepadam za takim upiększaniem wykresów, a tutaj dodatkowo można odnieść wrażenie, że pnie drzew przekazują dodatkową informację. Natomiast wykres staje się przez to bardziej atrakcyjny i w konkretnych przypadkach może być to przeważający argument.

Wykres 9

Tym razem PKB Polski tak bardzo wzrosło, że aż zaburzyło kolejność liczb naturalnych i 257 jest mniejsze od 234. To niestety jeden z wielu przykładów wykresów generowanych przez modele językowe (można to rozpoznać choćby po słowie „bieżące”). Poniżej kolejny.

Oczywiście fakt, że modele mają takie problemy, nie jest niczym dziwnym. Ciężko jednak zrozumieć, że ktoś publikuje takie obrazki. Przyznam też, że nie byłem przekonany, czy jest na nie miejsce w plebiscycie, bo można by z nich zrobić osobny konkurs. Istnieją całe strony z takim dziadostwem, których nie chcę linkować. Ostatecznie stwierdziłem, żeby potraktować je zbiorczo, a wykres z PKB Grecji i Polski niech będzie ich reprezentantem.

Wykres 10

Grafikę pokazuję w całości, natomiast chciałem zwrócić uwagę głównie na dolny wykres. Choć do mapy też można mieć zastrzeżenia: kolory są tak dobrane, że różnica między Polską a pozostałymi krajami wydaje się zbyt dobitnie pokazana. Gradient z dwoma tak różniącymi się kolorami najlepiej stosować wtedy, gdy da się obiektywnie wskazać jakiś „poziom zero”. Wtedy wartości powyżej można pokolorować jednym kolorem, a poniżej drugim (np. temperatura powietrza).

Problem z dolnym wykresem jest taki, że ostatnie dwa lata zajmują więcej miejsca niż pierwsze cztery. Mimo że wartości ROE były stosunkowo niskie przez większość okresu 2019-2024, to wrażenie jest inne. W szczególności ROE powyżej 7% to prawie 60% długości wykresu, gdy w rzeczywistości takie wartości były przez 33% całego pokazanego czasu.

Autorzy tłumaczyli ten zabieg w taki sposób, że wcześniejsze dane były podawane kwartalnie, a dopiero od 2023 są miesięczne. To oczywiście nie jest dobry argument, odpowiednie przedstawienie takich danych nie sprawia żadnych trudności:

Jak widać, punkty dla wcześniejszych lat są rzadsze, bo odległość między nimi to trzy miesiące, a nie miesiąc.

Wykres 11

Kolejny przykład z interesującą kolorystyką. Mamy dobre i złe dzielnice Warszawy, gdzie dobre to te, które zagłosowały przeciw nocnej sprzedaży alkoholu.

Ale co tu zrobić, odwrócić kolory? Wtedy czerwony będzie oznaczał „przeciw”, co wydaje się mieć sens. Problem w tym, że jest to „przeciw zakazowi”. To może nie odwracajmy kolorów, ale tytuł: dzielnice, które głosowały za sprzedażą alkoholu. Ale po pierwsze, one niekoniecznie głosowały „za sprzedażą”, tylko przeciw konkretnym projektom. Po drugie, nawet jeśli traktować to jako głos „za”, to wydaje się, że takie kolory po prostu nie są tutaj najlepszym pomysłem.

A tak swoją drogą, to w jaki sposób te dzielnice głosowały? Wykonano badanie opinii publicznej i większość mieszkańców z danej dzielnicy była za lub przeciw? Z komentarzy pod wykresem wynikało, że wiele osób tak tę grafikę zinterpretowało. W rzeczywistości głosowali radni dzielnic nad dwoma projektami zakazu sprzedaży (różniły się głównie godzinami obowiązywania zakazu). Kolorem czerwonym oznaczono dzielnice, w których ponad połowa radnych zagłosowała za co najmniej jednym z projektów. Wydaje się, że jest to ważna informacja, którą warto dodać do wykresu.

Poniżej dwie propozycje poprawy, które wykonała Klaudia Stano. Użyto symboli X i V do oznaczenia, czy dzielnica była za czy przeciw projektom. Na oryginalnej grafice Żoliborz jest oznaczony żółtym kolorem, ale z informacji, które udało się znaleźć, wynika, że radni z tej dzielnicy ostatecznie nie poparli żadnego projektu, więc użyto symbolu X.

W powyższej wersji wciąż występuje problem z podwójnym zaprzeczeniem (głosowanie przeciw zakazowi) i X można interpretować nie jako „przeciw”, ale jako oznaczenie zakazu. Oprócz tego mamy kolory, co do których można mieć wątpliwości (choć teraz wyraźniej widać, że tyczą się jedynie bycia za lub przeciw; i niestety bez nich grafika jest znacznie mniej czytelna). Dlatego w drugiej propozycji symbole odnoszą się do treści głosowanych projektów.

Wykres 12

Klasyczne kloce w formie walców, nie mogło czegoś takiego zabraknąć. Placki również są interesujące. Wykres pojawił się w poważnym raporcie Centralnego Zarządu Służby Więziennej i przedstawia liczbę osadzonych w polskich więzieniach z podziałem na młodocianych i dorosłych.

W skrócie: takich wykresów po prostu się nie robi… Perspektywa 3D mocno zniekształca odbiór wysokości słupków. Jak myślicie, pierwszy słupek kończy się na wartości poniżej czy powyżej 75 tysięcy? Dokładnie jest to 74042. Oczywiście w wykresach nie chodzi o to, żeby takie dokładne dane być w stanie odczytać, ale tutaj wrażenie jest takie, że ta liczba jest o kilka tysięcy większa.

A kto zgadnie, jak dużo jest młodocianych osadzonych? Z pewnością znacznie mniej niż dorosłych – to wykres pokazuje dobitnie. Wydaje się, że wciąż to interesujące, czy jest ich 100, 500 czy 2000 (w rzeczywistości około 1000).

Jak ten wykres poprawić poza rezygnacją z trójwymiarowości? Moim zdaniem, najlepiej zrezygnować ze wszystkiego. Wykresy powinny być wartością dodaną, a tu nie widzę żadnej. W raporcie jest tabela z dokładnymi liczbami i to całkowicie wystarcza. To znaczy takie dane wciąż może być warto zaprezentować na wykresie, ale dodając więcej informacji, na przykład dłuższy okres. Proponowałbym też przedstawić liczbę młodocianych na niezależnym wykresie, z osobną skalą osi Y.

Przy okazji, sprawdziłem, jak te statystyki pokazano we wcześniejszych raportach i poniżej parę przykładów.

Wykres 13

Na wykresie odpowiedzi na pytanie: „Czy zgadzasz się z podróżą Fico do Rosji?”. Jak widać, połowa Słowaków się zgadza (zielone pola), natomiast jest to tak zwana „mniejsza połowa”, bo wynosi 39,2%.

Po dłuższym zastanowieniu można dojść do wniosku, że autorzy po prostu zamienili etykiety 26% i 37,4%, ale jak się okazuje, liczby są prawidłowe.

Jak to poprawić? Cóż, po prostu narysować to dobrze. Mimo że wykres kołowy zwykle nie jest najlepszym wyborem (https://danetyka.com/wykresy-kolowe/), to w tym przypadku da się obronić (byle nie 3D). Mamy dwie główne odpowiedzi (zgadzam się lub nie zgadzam) i na takim wykresie dobrze widać, że na przykład połowa osób się nie zgadza. To znaczy byłoby widać, gdy nie ten błąd.

Wykres 14

Wykresy słupkowe powinny zaczynać się od zera? To zacznijmy od zera, tylko usuńmy trochę środka! Zabieg zastosowany na tym wykresie jest niestety dość popularny, ale zdecydowanie niepolecany. Mimo że zostaliśmy ostrzeżeni, że z osią Y coś jest nie w porządku (ukośne linie), to w dalszym ciągu zupełnie zaburza to percepcję różnic. I to podwójnie: liczby aptek w pierwszych sześciu krajach wydają się mniejsze niż w rzeczywistości oraz mniejsze są różnice między latami 2024 i 2017.

Jak to zrobić inaczej? Można po prostu nie manipulować długością słupków, ewentualnie przedstawić jak niżej. Dodatkowo zaznaczyłem kolorem czerwonym kraje, w których liczba aptek spadła (o co najmniej 5%), na zielono te, w których wzrosła (o co najmniej 5%) i na czarno pozostałe.

Minusem takiego rozwiązania jest pewna sugestia, że liczba aptek zmienia się liniowo między podanymi latami (choć w wersji ze słupkami wielu odbiorców i tak może w ten sposób o tym myśleć).

Ale zastanówmy się jeszcze nad liczbami, które prezentuje wykres. Nie jest żadnym zaskoczeniem, że zmiany wyrażone w bezwzględnych liczbach będą większe w większych państwach. I zapewne dlatego autorzy wykresu dodali informację o zmianie procentowej. Np. w Irlandii przybyło 11% aptek, najwięcej ze wszystkich krajów. Może w takim razie rozsądniej byłoby przedstawić te dane, odnosząc się do liczby mieszkańców? Poniżej rozkład liczby aptek na 100 tysięcy mieszkańców danego kraju.

Zauważmy, że teraz znika problem, z którym próbowali sobie poradzić autorzy, to znaczy długości słupków są wystarczająco podobne, żeby nie ucinać żadnego z nich.

Wykres 15

Drugi nominowany wykres z raportu Centralnego Zarządu Służby Więziennej, przedstawiający liczbę ucieczek z terenu jednostki. W zasadzie to dwa wykresy: w pierwszym mamy rozbicie na ucieczki z aresztu śledczego, zakładu karnego zamkniętego, półotwartego i otwartego, natomiast w drugim porównanie z rokiem 2023.

Cóż, jeśli chodzi o same dane, wygląda to bardzo dobrze! Sprawdziłem dołączone w raporcie tabele i rzeczywiście, całkowita liczba ucieczek w 2024 wyniosła zero. Autorzy postanowili przedstawić to na wykresie, z rozbiciem na miesiące i miejsca, z których więzień uciekł. Całe szczęście, że na pierwszym użyto formy trójwymiarowej, inaczej niczego nie byłoby widać! Zabawnie wyglądają też ułamki na osi Y, sugerujące możliwość ucieczki połowy więźnia.

Jak poprawić ten wykres? W skrócie, nie da się tego zrobić.

Wykres 16

Czy da się coś popsuć na takim wykresie? Tak, można źle policzyć procenty. Wykres powstał na podstawie tych danych. Jak czytamy w podsumowaniu pod tabelą, łączny czas wszystkich partii wyniósł 743 godziny, z czego 623,5 dla koalicji rządzącej, a 119,5 dla opozycji. Niestety, autorzy wykresu zamiast podzielić 623,5 przez 743, zestawili ze sobą te dwie liczby, tzn. 54% odpowiada wartości 743, a 46% to 623,5, co oczywiście nie ma sensu.

Zgłosiłem to do KRRiT i po miesiącu wykres został poprawiony:

Różnica jest diametralna. Najprawdopodobniej to był tylko głupi błąd, bo dane w tabelach i opisach były poprawne. Problem w tym, że wykresy mają znacznie większe oddziaływanie („zasięgi”) niż tabelki. I media tak właśnie skomentowały te dane, tzn. spojrzały jedynie na wykres:

  • „W Telewizji Polskiej S.A. w likwidacji rządzący koalicjanci też mieli przewagę, ale już nie tak znaczną. W TVP rządzący wykorzystali 54 procent czasu antenowego a 46 procent miała opozycja” (biznesalert.pl).
  • „Dane TVP za okres od stycznia do grudnia 2024 r. pokazują, że w jej programach na partie koalicji rządzącej przypadło 54 procent czasu antenowego, na partie opozycyjne — 46 procent” (wirtualnemedia.pl)

Dobry przykład, jaką siłę oddziaływania mają wykresy!

The post Plebiscyt na najgorszy wykres roku 2025 appeared first on Danetyka.

]]>
Egzamin ósmoklasisty 2025 https://danetyka.com/egzamin-osmoklasisty-2025/ Fri, 11 Jul 2025 08:16:52 +0000 https://danetyka.com/?p=8993 The post Egzamin ósmoklasisty 2025 appeared first on Danetyka.

Analiza wyników egzaminu ósmoklasisty z 2025 roku. Porównanie wyników matury 2025 z egzaminem ósmoklasisty 2021.

The post Egzamin ósmoklasisty 2025 appeared first on Danetyka.

]]>
The post Egzamin ósmoklasisty 2025 appeared first on Danetyka.

W niniejszej analizie pokazuję, jak ogromną różnorodnością cechują się szkoły podstawowe, jeśli podsumować je wynikami egzaminu ósmoklasisty z matematyki. Analizuję rok 2025, ale praktycznie identyczne wnioski można wyciągnąć na podstawie poprzednich lat.

Jako podsumowanie danej szkoły przyjmuję medianę uzyskanych w niej wyników egzaminu. Można ją interpretować jako “przeciętny wynik szkoły” (lub jak kto woli: wynik przeciętnego ucznia). Jeśli taka mediana wynosi np. 30%, połowa uczniów w takiej szkole uzyskała mniej niż 30% punktów, połowa więcej.

Biorę pod uwagę tylko szkoły, w których zdawało co najmniej 10 uczniów. To niewiele, natomiast – i to pierwsza ważna informacja – w 25% szkół w całej Polsce do egzaminu przystąpiło mniej niż 10 uczniów (a w 55% mniej niż 20). Trzeba pamiętać, że w takich małych grupach jest większa szansa uzyskania ekstremalnych wartości (bardzo niska lub wysoka mediana). Nie chcę jednak odrzucać takich szkół, bo nie uzyskamy wtedy pełnego obrazu (odpadnie bardzo dużo szkół np. na wsiach lub w mniejszych miejscowościach).

Oprócz tego pominąłem szkoły specjalne, integracyjne, dla dorosłych oraz Szkołę w Chmurze (tę ostatnią z kilku powodów, między innymi dlatego, że nie da się określić, skąd pochodzą zapisani do niej uczniowie — a w tej analizie będzie to ważny czynnik). Biorę pod uwagę szkoły publiczne i niepubliczne, choć w niektórych miejscach będę ograniczał się tylko do tych pierwszych.

Rozrzut przeciętności

Na poniższym wykresie rozkład median dla szkół z języka polskiego. W większości szkół przeciętny wynik znalazł się w przedziale 50-80%, z czego mniej więcej połowa w przedziale 60-70%.

Rozkład jest dość wąski, czego należało się spodziewać, bo nie analizujemy pełnego rozkładu wyników (dla każdego ucznia), ale już podsumowanie dla szkół. Mimo to, rozkład wyników z matematyki jest zupełnie inny, o bardzo dużym rozrzucie:

W niektórych szkołach mediana wynosi 20% (czyli połowa uczniów napisała jeszcze gorzej), w innych 80%. Dodam, że ponieważ połowę punktów można było otrzymać za zadania zamknięte z czterema odpowiedziami (jedna poprawna), to strzelając w tej części i nie rozwiązując żadnego zadania otwartego otrzymamy średnio 12,5%.

Można przypuszczać, że za te najwyższe mediany odpowiadają np. szkoły w największych miastach, a za najniższe w najmniejszych – i jeśli ograniczymy się do jednego miasta, ten rozrzut median nie będzie tak duży. Tak jednak nie jest. Poniżej wyniki dla Łodzi, Poznania i Wrocławia.

Czyli w jednym mieście mamy pełny przekrój szkół. Jeszcze raz podkreślę, że to nie są wyniki uczniów (wtedy nie byłoby to zaskakujące), ale przeciętne dla szkół.

W przypadku języka polskiego wygląda to zupełnie inaczej.

Duże i małe miasta

Porównam teraz wyniki w miastach powyżej 500 tys. mieszkańców (Warszawa, Kraków, Łódź, Wrocław, Poznań), poniżej 100 tys. oraz na wsi (gmina wiejska lub obszar wiejski w gminie miejsko-wiejskiej), ale ograniczając się tylko do szkół publicznych. Do miast 100-500 tys. odniosę się później.

Zamiast histogramów (które byłyby nieczytelne w takich porównaniach) prezentuję wykresy gęstości (ważone liczbą zdających). Jeśli Czytelnik nie zna tego rodzaju wykresu, to można na niego spojrzeć jak na “wygładzony” histogram, dodatkowo skalowany tak, że pole pod wykresem (dla każdej grupy) jest takie samo. Z tego powodu każda z grup zajmuje tyle samo miejsca, mimo że szkół w największych miast jest mniej (ok. 5% wszystkich, choć stanowi to 9% uczniów piszących egzamin, bo są to zwykle większe szkoły). Wartości na osi Y w takich wykresach nie mają żadnej praktycznej interpretacji (są skalowane tak, by pole pod wykresem dla każdej grupy wynosiło 1), dlatego ich nie pokazuję. Dodatkowo wyniki na krańcach osi X nie są interpretowalne, w szczególności nie ma żadnej szkoły z medianą 100% (jest to “artefakt” wykresu gęstości).

Jak widać na wykresie, rozkłady dla szkół na wsiach i w miastach poniżej 100 tys. mieszkańców praktycznie pokrywają się, natomiast w największych miastach wyniki są kompletnie inne.

Szkoły niepubliczne

A czy są szkoły w miastach poniżej 100 tys. mieszkańców o wynikach zbliżonych do tych z największych miast? Tak: szkoły niepubliczne. Medianę co najmniej 70% uzyskano w 47% szkół niepublicznych, a jedynie w 6% szkół publicznych.

Oczywiście szkół niepublicznych jest znacznie mniej: 13%, a liczba zdających egzamin w takich szkołach to ok. 5% (w miastach poniżej 100 tys. mieszkańców). Oprócz tego z tego wykresu NIE WYNIKA, że poziom nauczana w szkołach niepublicznych jest wyższych. Do niełatwej interpretacji tych danych przejdę w dalszej części.

Poniżej wyniki dla grup, które pominąłem wyżej.

Wyniki dla miast 100-500 tys. znajdują się “pomiędzy” największymi i najmniejszymi miastach, choć ich rozkład jest bardzo szeroki, czyli znajdziemy zarówno szkoły z wynikami lepszymi od tych z największych miast, jak i gorszymi od tych z najmniejszych (i nie będą to wyjątki).

Poniżej podział na szkoły publiczne i niepubliczne dla wszystkich kategorii miast.

Lepsze wyniki w szkołach niepublicznych są niezależne od wielkości miasta. W największych jest parę szkół z niższymi wynikami, są to między innymi szkoły sportowe.

W poprzednich latach też tak było

Taka sytuacja to nie jest wyjątek akurat w tym roku. Poniżej te same wykresy dla egzaminu z matematyki z lat 2021-25.

Interpretacja

Spróbujmy teraz powiedzieć, co z tych wykresów wynika, a co nie. Nie ma wątpliwości, że wyniki w największych miastach oraz w szkołach niepublicznych są znacznie lepsze. Natomiast czy jest tak dlatego, że poziom nauczenia jest tam wyższy, to zupełnie osobna sprawa. Jeśli to nie jest jasne, polecam Czytelnikowi artykuł o korelacji i przyczynowości (akurat w kontekście wyników egzaminu ósmoklasisty).

Ponieważ uczniowie w największych miastach różnią się od tych z mniejszych miast już zanim zaczną chodzić do takiej szkoły, to część z obserwowanych różnic między szkołami można wytłumaczyć właśnie tymi wstępnymi różnicami (w dalszej części pokażę, że kluczową cechą może być wykształcenie rodziców). Podobnie, do szkół niepublicznych nie chodzi reprezentatywny dla całej Polski podzbiór uczniów, ale mamy do czynienia z silną selekcją.

Z drugiej strony, poza poziomem szkoły (kadry nauczycielskiej) istotny jest poziom, jaki średnio reprezentują uczniowie w szkole/klasie. To po pierwsze ułatwia naukę, po drugie przyciąga coraz lepszych nauczycieli. W takim razie można się spodziewać, że jednak za część tych różnic albo już teraz odpowiada szkoła, albo będzie tak w przyszłości. Osobiście interpretuję te wykresy jako pokazujące pewien trend: prognozę, jak może wyglądać edukacja za parę lat.

Spróbuję teraz uzasadnić, dlaczego taka prosta interpretacja tych zależności jest niepoprawna i pokazać, jak duże znacznie ma wykształcenie rodziców.

Matura 2025 vs. egzamin ósmoklasisty 2021

Na poniższym wykresie zestawiłem średni wynik egzaminu ósmoklasisty z 2021 roku (oś X) ze średnim wynikiem matury z 2025 roku (oś Y) w danym mieście. Tym razem analizuję średnie, nie mediany, bo mają lepsze własności przy podsumowaniu wyników z wielu szkół (średnia z całego miasta). Rozmiar punktu jest proporcjonalny do liczby zdających. Wziąłem akurat takie lata, bo uczniowie zdający egzamin ósmoklasisty w 2021 to mniej więcej te same osoby, który zdawały maturę w 2025 (oczywiście jest to przybliżenie, w szczególności część uczniów mogła pisać maturę w innymi mieście; oprócz tego w przypadku techników należałoby wziąć wyniki z 2020 roku).

Korelacja jest bardzo duża (0,87), czyli średni wyniki egzaminu ósmoklasisty w danym mieście jest bardzo podobny do średniego wyniki matury. A mówimy tu przecież o zupełnie innych szkołach (podstawowe i licea/technika). Gdyby za wyniki uczniów odpowiadała głównie szkoła, korelacja między nimi powinna być znacznie niższa.

Na kolejnym wykresie korelacja między procentem mieszkańców z wykształceniem wyższym a średnim wynikiem egzaminu ósmoklasisty w danym mieście.

To nie jest przypadek, że wykres wygląda bardzo podobnie do poprzedniego: na podstawie wykształcenia jesteśmy w stanie z dobrą dokładnością przewidzieć średni wynik egzaminu.

Oczywiście trzeba być tu ostrożnym z wnioskami, bo nie analizujemy wyników uczniów, w szczególności nie mamy informacji o wykształceniu ich rodziców, ale zbiorcze wyniki dla całego miasta (i swoją drogą, większe znaczenie może mieć właśnie “wykształcenie miasta”, a nie konkretnych rodziców). Oprócz tego takie przeciętne wykształcenie jest wypadkową wielu innych efektów i każdy z nich może mieć znaczenie.

Na koniec spróbuję skorygować początkowy wykres z korelacją między wynikami egzaminu a wielkością miasta, uwzględniając przeciętne wykształcenie w danym mieście/gminie. Technicznie można to wykonać, modelując relację między medianą wyników egzaminu a wykształceniem (użyłem regresji liniowej, bo relacja jest w przybliżeniu liniowa), a następnie zestawić reszty z takiego modelu z wielkością miasta (do reszt dodaję średni wynik egzaminu, żeby zachować pierwotną skalę).

Rozkłady są teraz znacznie bliżej siebie. Innymi słowy, tę ogromną różnicę na pierwotnym wykresie da się w dużej mierze “wyjaśnić” przeciętnym wykształceniem w gminie.

Dodam, że ta korekta nie wpływa na różnice w wynikach między szkołami publicznymi i niepublicznymi. Tutaj potrzebne byłyby już indywidualne dane o wykształceniu.

Zależności z wykształceniem i wieloma innymi cechami zostały zbadanie znacznie obszerniej w tej analizie (wyniki egzaminu ósmoklasisty z lat 2021-24). Co ciekawe, po uwzględnieniu wykształcenia przestaje mieć znaczenie np. mediana wynagrodzeń w gminie.

Źródła

Obliczenia wykonałem w języku R i jeśli ktoś chciałby je powtórzyć, udostępniam kod.

The post Egzamin ósmoklasisty 2025 appeared first on Danetyka.

]]>
Błędy w analizie dr. Kontka https://danetyka.com/kontek-analiza-bledow/ Fri, 27 Jun 2025 05:42:13 +0000 https://danetyka.com/?p=8949 The post Błędy w analizie dr. Kontka appeared first on Danetyka.

Analiza błędów popełnionych przez dr. Kontka w jego podejściu do detekcji anomalii w wyborach prezydenckich 2025.

The post Błędy w analizie dr. Kontka appeared first on Danetyka.

]]>
The post Błędy w analizie dr. Kontka appeared first on Danetyka.

Dr. Kontek w swoim artykule używa dość ciekawej metody detekcji anomalii, opierającej się na założeniu, że w geograficznie bliskich komisjach wyborcy głosują podobnie, a przynajmniej brak jest komisji, która odstawałaby od reszty w sposób naturalny. Autor nie uzasadnia tego założenie i jak jest komentowane w innych miejscach, jest ono fałszywe.

W tym artykule pokażę, że nawet jeśli to założenie dałoby się wybronić, dr Kontek popełnił rażące błędy statystyczne, które dyskwalifikują jego podejście.

Ile anomalii możemy wykryć?

Autor zidentyfikował aż 3679 komisji, w których wystąpiły anomalie (a w mniej konserwatywnej wersji nawet 5453). Już te liczby budzą poważne wątpliwości, bo ta druga stanowi 17% wszystkich analizowanych komisji, więc nie można tu mówić o “anomaliach” (w statystycznym sensie). W modelowaniu statystycznym takie liczby są argumentem za tym, że przyjęto złe założenia, a nie, że w danych znajduje się dużo odstających obserwacji (anomalii).

Możemy też w ten sposób na to spojrzeć: próbujemy wykryć anomalie, bazując na parametrach, które są szacowane z danych. Ale czy można im zaufać, skoro znajdują się w nich anomalie? Tak, jeśli są one czymś wyjątkowym, bo wtedy nie mają istotnego wpływu na te parametry. Jeśli są typowe, nie jesteśmy w stanie wiarygodnie oszacować parametrów, które mają posłużyć do wyznaczenia anomalii. Innymi słowy, wskazując tak dużą ich liczbę (17%), zaprzeczamy założeniu, na którym opiera się detekcja anomalii.

Ten argument w zupełności wystarczy, mimo wszystko postaram się uzasadnić, dlaczego autor otrzymał aż tak duże liczby. Zaczynając od tego, że da się to podsumować jednym zdaniem: dr Kontek przyjął tak liberalne kryteria, że nawet lekkie niepodobieństwo skutkuje zakwalifikowaniem wyników w danej komisji jako anomalii.

Niski próg detekcji

Grupy komisji zostały tak zdefiniowane, że ich wielkość w większości przypadków zawiera się w przedziale 10-16 (są to więc małe grupy, co swoją drogą też jest problematyczne ze statystycznego punktu widzenia). Dla każdej komisji jest liczona pewna cecha, np. “poparcie dla Nawrockiego”. Jeśli to poparcie jest “nadmiernie” większe, niż w bliskich komisjach, jest to anomalia.

Według autora, nadmierne poparcie jest wtedy, kiedy po pewnej standaryzacji jest większe od ustalonego progu: 2, 2,5 lub 3 (ten ostatni próg autor traktuje jako “konserwatywne” podejście). Standaryzacja polega na tym, że od wyniku w danej komisji odejmuje się medianę z grupy, a następnie dzieli przez rozrzut w tej grupie, liczony jako MAD (mediana odchyleń bezwzględnych). Jest to alternatywa dla odchylenia standardowego, stosowana czasem dla niesymetrycznych rozkładów. Procedura przypomina zastosowanie tzw. reguły trzech sigm: w standardowym rozkładzie normalnym mamy jedynie ok. 0,13% wartości, które są większe od 3, przez co w niektórych zastosowaniach można takie wartości potraktować jako anomalie.

Pierwszy problem polega na tym, że ta reguła nie działa dla MAD. Należy przynajmniej uwzględnić, że np. dla rozkładu normalnego MAD jest ok. 1,5 razy mniejsze od SD. Innymi słowy, rzekomo konserwatywne podejście z progiem 3 wcale takie nie jest, bo de facto jest on równy 2. Takich “odstających” obserwacji jest w rozkładzie normalnym ok. 2%, co daje prawie 700 komisji uznanych za anomalie, mimo że oczywiście takimi nie są. Co więcej, w rzeczywistości rozkład wyników na pewno nie jest normalny, a np. w rozkładzie lognormalnym takich rzekomo odstających obserwacji będzie 21,5%, czyli prawie 7000 komisji.

Co prawda w pewnych sytuacjach rozkład może być taki, że obserwacji powyżej ustalonego powinno być mniej, w pracy nie ma jednak żadnego uzasadnienia, że mamy do czynienia z taką sytuacją. Autor po prostu przyjmuje pewne liczby i w ogóle tego nie komentuje.

Istnieje też pewna szansa, że ten współczynnik 1,5 został uwzględniony w obliczeniach (np. w języku R jest stosowany domyślnie), ale w pracy nie ma żadnej wzmianki na ten temat, a w definicji MAD żaden taki parametr nie występuje.

Problemem porównań wielokrotnych

Mamy tu do czynienia z tzw. problemem porównań wielokrotnych. Wykonujemy ponad 30 tysięcy porównań (każda komisja), więc powinno się ten fakt uwzględnić w przyjętym progu (inaczej musi to prowadzić do dużej liczby wyników fałszywie dodatnich). Pokrywa się to z tym, o czym pisałem wyżej, natomiast ten problem występuje dwukrotnie, bo autor sprawdza niezależnie cztery cechy mające świadczyć o anomalii i ostatecznie raportuje wszystkie przypadki, dla których choć jedna z nich miałaby świadczyć o anomalii (tzn. w pracy jest to rozbite, ale wnioski są wyciąganie na podstawie sumy). Jest oczywiste, że im więcej damy sobie możliwości kwalifikacji danej obserwacji jako anomalii, tym więcej ich będzie. To miałoby sens, gdyby za anomalię traktować tylko taką komisję, która została wskazane np. przy pomocy co najmniej trzech cech.

Flip

Jedna z cech, jakie bada autor, jest nazwana “flip” i nie ma nic wspólnego z wyżej podaną standaryzacją i progami. Autor za anomalię uznaje każdy przypadek, w którym “Nawrocki wygrywa lokalnie, mimo że mediana wyników w grupie wskazuje przewagę Trzaskowskiego”. Załóżmy, że procenty poparcia dla Nawrockiego w danej grupie wynoszą: 45, 46, 47, 48, 49, 51, 52, 53, 54. Mediana wynosi 49%, więc “mediana wyników w grupie wskazuje przewagę Trzaskowskiego”, a zatem te cztery komisje, w których Nawrockich otrzymał ponad 50% to anomalie, co oczywiście nie ma żadnego sensu. Ta cecha jest odpowiedzialna za ponad połowę (!) wskazań.

Jednostronność

Algorytm wyznacza jedynie anomalie na korzyść Nawrockiego. Nie ma żadnej wzmianki o tym, jakie wyniki otrzymamy, gdyby przeprowadzić podobną analizę na korzyść Trzaskowskiego.

Zostawiłem tę kwestię na koniec, bo jest tak oczywista, że nawet ciężko uznać, że to problem “statystyczny”. Od razu dodajmy, że jeśli autor otrzymałby zbliżoną liczbę anomalii, to nie byłby dowód, że w takim razie w ogromnej liczbie komisji doszło do naruszeń (tylko że symetrycznie), ale kolejny argument za tym, że przyjęto zły próg detekcji.

Warto tu jednak zaznaczyć, że należy spodziewać się, że tych “anomalii” na korzyść Trzaskowskiego będzie mniej. Autor szuka nadmiernych wzrostów poparcia, a ogólny wzrost poparcia Nawrockiego był większy oraz wygrał on w znacznie większej liczbie małych komisji. Łatwiej zatem wykryć “anomalie” na jego korzyść (przy tak liberalnym progu).

The post Błędy w analizie dr. Kontka appeared first on Danetyka.

]]>
Model detekcji anomalii wyborczych w wyborach prezydenckich https://danetyka.com/model-detekcji-anomalii/ Thu, 26 Jun 2025 07:12:55 +0000 https://danetyka.com/?p=8919 The post Model detekcji anomalii wyborczych w wyborach prezydenckich appeared first on Danetyka.

Model detekcji anomalii w wyborach prezydenckich 2025. W wytypowanych przy jego pomocy komisjach z dużym prawdopodobieństwem podano niepoprawne wyniki.

The post Model detekcji anomalii wyborczych w wyborach prezydenckich appeared first on Danetyka.

]]>
The post Model detekcji anomalii wyborczych w wyborach prezydenckich appeared first on Danetyka.

W artykule przedstawiam swoje podejście do detekcji komisji, w których z dużym prawdopodobieństwem podano nieprawdziwe wyniki. Opiera się ono na fakcie, że wyniki drugiej tury wyborów bardzo silnie korelują z wynikami pierwszej, uwzględniając przepływy głosów. Jeśli wyniki w danej komisji silnie odstają od tego wzorca, jest ona kwalifikowana jako anomalia.

Porównanie z wynikami pierwszej tury odbywa się na podstawie modelu regresji liniowej, przy pomocy którego możemy prognozować wyniki drugiej. Jeśli model jest wystarczająco dokładny (a tak jest w przypadku omawianego tutaj), duża różnica między prognozą a oficjalnie podanymi wynikami jest trudna do wyjaśnienia i istnieje duże prawdopodobieństwo, że podany wynik jest błędny.

Poza opisem proponowanego podejścia i wskazaniem podejrzanych komisji, w dalszej części artykułu porównuję uzyskane wyniki z rzeczywistymi błędami, które zostały potwierdzone dzięki ponownemu przeliczeniu głosów w 250 komisjach. Ponadto analizuję, jakie rodzaje nieprawidłowości jesteśmy w stanie wykryć przy pomocy takiego modelu, samemu wprowadzając fałszerstwa w wynikach wyborów z 2020 roku.

Najważniejsze cechy modelu

  1. Rozważam tylko komisje, w których w drugiej turze zagłosowało co najmniej 200 osób (oszustwa w mniejszych są raczej nie do wykrycia). Oprócz tego pominąłem komisje, w których nastąpił duży skok/spadek frekwencji (co najmniej 25 p.p.), liczby uprawnionych (25%) lub liczby głosujących (25%; to nie jest to samo, co różnica we frekwencji, bo liczba uprawnionych może się zmieniać). Jeśli w drugiej turze głosowały inne osoby niż w pierwszej, to różnice w wynikach mogą wynikać właśnie z tego.

  2. Sprawdzałem, jak model się zachowa, jeśli zmienię każdy z tych parametrów (na wypadek przyjęcia przeze mnie błędnych założeń). Na przykład minimalna liczba głosujących została zmieniona na 100, 500, łącznie z przypadkiem, gdy nie ograniczałem się w żaden sposób (również co do pozostałych parametrów). Oczywiście miało to wpływ na liczbę wskazanych komisji, ale nie na symetrię oraz tylko minimalny wpływ na współczynniki modelu. Liczba wskazanych komisji się zwiększyła, bo po poluzowaniu ograniczeń dopuszczam więcej takich, w których różnice między pierwszą a drugą drugą da się łatwo wyjaśnić (np. niewielką liczbą głosujących).

  3. Ograniczenia przyjęte w punkcie 1 praktycznie wyeliminowały komisje zagraniczne, znajdujące się w szpitalach, DPSach itp., natomiast wciąż zostało ich ok. 0,7%. Nie usuwałem ich, zakładając, że być może w nich też uda się wykryć anomalie, przyglądając się im bardziej szczegółowo (jeśli algorytm je wytypuje). Zrobiłem również analizę bez tych komisji, otrzymując bardzo podobne wyniki.

  4. Dopasowuję model regresji liniowej, w której zmienną zależną jest procent głosów oddanych na Trzaskowskiego w drugiej turze, a zamiennymi niezależnymi wyniki procentowe każdego z kandydatów w pierwszej turze (oprócz Nawrockiego, bo jest on liniowo zależny od pozostałych) oraz różnica we frekwencji (p.p.) i liczbie uprawnionych (%). Pominąłem różnicę w liczbie głosujących, bo wynika z pozostałych.

  5. Nie ma znaczenia, czy pominę wynik Nawrockiego, czy innego kandydata (zostało to sprawdzone). Ważne tylko, by nie był to ktoś, kto otrzymał bardzo mało głosów, bo wtedy pominięcie go nie zlikwiduje współliniowości. Dopasowałem też model, w której zmienną zależną był wynik Nawrockiego w drugiej turze, a nie Trzaskowskiego, i otrzymałem te same wyniki (ale to wynika z matematyki). W modelu uwzględniam różnicę we frekwencji i liczbie uprawnionych, gdyż część różnic można wyjaśnić właśnie tymi zmiennymi. Natomiast ich wpływ jest niewielki, w szczególności sprawdziłem, że pominięcie ich nie zmienia wyników.

  6. Współczynnik R^2 dla modelu wynosi 98,5%, średni błąd bezwzględny 1,5 p.p. (prognozując wyniki drugiej na podstawie pierwszej, mylimy się średnio jedynie o 1,5 p.p.). Czyli model jest bardzo dokładny i już ten fakt pokazuje, że – poza pewnymi bardzo wyszukanymi scenariuszami – nie mogło dojść do masowych fałszerstw (wtedy wyniki drugiej tury nie byłyby aż tak zgodne z pierwszą). Dodajmy, że nie ma możliwości, by model nadmiernie dopasował się do danych (to uniemożliwiłoby detekcję anomalii), bo jest bardzo mało elastyczny (regresja liniowa, 14 zmiennych niezależnych).

  7. Model bazuje na wynikach kandydatów, których nie ma w drugiej turze, więc w pewnym sensie szacuje przepływy głosów. Zakłada on jednak, że są one takie same w całej Polsce (np. w każdej gminie), co prawie na pewno nie jest prawdą. To powoduje, że część anomalii wykrytych przez taki model może dać się wyjaśnić przez inny przepływ głosów akurat w tym miejscu. Zbudowałem dodatkowy model, w którym dla każdego województwa przepływy mogły być inne (interakcja wszystkich zmiennych z województwem), ale wpływ na wyniki był minimalny. Schodzenie niżej, na poziom powiatów lub gmin, jest już problematyczne, bo bardzo mocno rośnie liczba parametrów, więc model może nadmiernie dopasować się do danych. Natomiast takie lokalne różnice można uwzględnić w błędzie losowym (autokorelacja przestrzenna) i wydaje się, że taki model byłby w tym problemie lepszy. Z drugiej strony, jeśli mielibyśmy do czynienia z lokalnymi fałszerstwami (dokonano ich w wielu komisjach, które są blisko), wtedy lepsze jest zaprezentowane tutaj podejście.

  8. Anomalie są wskazywane na podstawie reszt z modelu (studentyzowanych). Reszta dodatnia oznacza, że oficjalny wynik Trzaskowskiego jest większy niż prognozowany, a takim razie – jeśli jest to wynik pomyłki lub oszustwa – jest ona na jego korzyść. Jeśli reszta jest ujemna, potencjalna pomyłka lub oszustwo były na korzyść Nawrockiego. Ponieważ wiemy, jak takie reszty powinny się rozkładać (rozkład t-Studenta; przy założeniu poprawnej specyfikacji modelu), możemy dla każdej z nich policzyć p-wartość. W uproszczeniu, przy jej pomocy możemy określić komisje, którym wynik drugiej tury jest ekstremalnie mało prawdopodobny, porównując z wynikami pierwszej. Następnie jest stosowana korekta Benjamini-Hochberga i za anomalię traktuję tę obserwację (komisję), dla której p-wartość jest mniejsza od 0,05.

  9. Model nie wychwytuje wszystkich anomalii, ale tylko takie przypadki, w których wyniki drugiej tury w wystarczający sposób różnią się od pierwszej. W szczególności nie wykrywa sytuacji, w której oszustwa dokonano w obu turach (wystarczająco konsekwentnie). Oprócz tego niektóre anomalie mogą świadczyć o tym, że to w pierwszej turze popełnione błąd, nie w drugiej. W dalszej części artykułu analizuję, jak dużo nieprawidłowości jesteśmy w stanie wykryć przy pomocy takiego podejścia.

  10. Reszty z modelu mają rozkład symetryczny. Po usunięciu anomalii (tych, co do których możemy mieć dużą pewność, czyli 97 obserwacji), ich rozkład nie jest normalny, kurtoza jest większa (0,97). Może to wynikać z tego, że w pozostałych obserwacjach o dużych resztach wciąż kryje się wiele takich, które mogą być rezultatem pomyłki lub oszustwa — natomiast pewność co do tego jest mniejsza. Powody mogą być też inne, łącznie z takim, że liniowe przybliżenie zależności z wynikami pierwszej tury jest niewystarczające.

  11. Na podstawie modelu można wskazać ograniczoną liczbę anomalii, bo ostatecznie wszystkie reszty muszą się zerować, co między innymi wskazywałoby na pełną symetrię (podobna liczba anomalii na rzecz obu kandydatów). Natomiast nie ma żadnego powodu, żeby ta symetria wystąpiła, gdy analizujemy największe reszty. Ten temat zostanie omówiony niżej (“Co jesteśmy w stanie wykryć przy pomocy takiego modelu?”).

Współczynniki modelu

W tabeli współczynniki modelu, błąd standardowy, wynik testu t oraz p-wartość (prawie w każdym przypadku znacznie poniżej 0,001).

ZmiennaWspółczynnikSEtp
(Intercept)-6.010.139-43.260e+00
Bartoszewicz_10.390.03311.530e+00
Biejat_10.880.01182.580e+00
Braun_10.110.00617.610e+00
Hołownia_10.950.009110.720e+00
Jakubiak_10.210.0287.460e+00
Maciak_10.410.0498.270e+00
Mentzen_10.180.00444.990e+00
Senyszyn_10.920.02635.260e+00
Stanowski_10.620.02326.510e+00
Trzaskowski_11.150.002612.330e+00
Woch_10.240.0733.319e-04
Zandberg_10.990.007135.110e+00
Nupr_roznica0.170.00625.610e+00
Frekwencja_roznica-0.020.006-3.554e-04

Współczynniki przy poszczególnych kandydatach korelują z przepływami (ile procent osób, które zagłosowało na daną osobę, w drugiej turze zagłosowało na Trzaskowskiego), natomiast to nie są przepływy, ponieważ model nie ma natury przyczynowej. Tylko część osób głosujących w pierwszej turze zagłosowało też w drugiej, stąd takiego modelu nie da się zbudować przy pomocy regresji (jeśli liczba głosujących jest taka sama, mogły głosować te same osoby, ale równie dobrze 10 osób mogło nie przyjść, a zamiast nich przyszło 10 nowych). Innymi słowy, jest to model jedynie prognostyczny. W szczególności wyraz wolny nie ma żadnej praktycznej interpretacji.

Wyniki

Poniżej 30 komisji z najniższą p-wartością. Reszta_s to reszta studentyzowana, przy pomocy której szukam danych odstających, Różnica_pp to różnica między oficjalnym wynikiem Trzaskowskiego a prognozowanym.

GminaKomisjaReszta_sp-wartośćRóżnica_pp
gm. Magnuszew120.355.92e-8742.23
m. Kraków95-16.961.00e-59-35.26
gm. Strzelce Opolskie9-16.791.72e-58-34.92
gm. Bychawa412.672.84e-3226.42
gm. Staszów412.473.46e-3126.01
m. Tychy35-12.274.30e-30-25.59
m. Mińsk Mazowiecki13-12.171.47e-29-25.38
gm. Olesno3-12.142.16e-29-25.31
m. Łódź15711.103.69e-2423.16
m. Grudziądz25-10.581.13e-21-22.07
m. Gdańsk17-10.521.97e-21-21.96
gm. Sępopol410.444.66e-2121.79
gm. Brześć Kujawski4-8.477.06e-13-17.68
gm. Telatyn28.448.63e-1317.63
m. Ostrów Mazowiecka78.206.62e-1217.12
m. Bielsko-Biała30-7.752.42e-10-16.20
m. Grybów37.521.54e-0915.70
gm. Kłodawa8-7.122.89e-08-14.87
gm. Sadowie1-6.969.44e-08-14.53
m. Bielsko-Biała61-6.832.34e-07-14.27
m. Kobyłka12-6.724.88e-07-14.04
m. Kamienna Góra6-6.695.91e-07-13.98
gm. Rychwał56.601.08e-0613.80
gm. Stanin16.211.45e-0512.97
gm. Biszcza2-6.191.60e-05-12.94
m. Ciechocinek95.966.74e-0512.45
gm. Braniewo1-5.947.56e-05-12.42
gm. Choczewo55.947.83e-0512.40
gm. Barlinek85.861.20e-0412.26
gm. Skarszewy4-5.501.00e-03-11.50

W sumie 50 anomalii jest na korzyść Trzaskowskiego, 47 na korzyść Nawrockiego. Porównując wartości oficjalne z prognozowanymi (czyli zakładając, że w każdym przypadku doszło do nieprawidłowość i model wskazuje poprawny wynik), Trzaskowski stracił 1051 głosów.

Zastosowałem to podejście do innych wyborów prezydenckich: w 2020 roku (zmienna zależna to też wynik Trzaskowskiego) i 2015 (Komorowski). Model dla 2020 jest bardzo podobny: R^2 wynosi 98,8%, średni błąd bezwzględny 1,36 p.p. Zwraca 109 anomalii: 49 na korzyść Trzaskowskiego, 60 na korzyść Dudy (Trzaskowski stracił przez to 291 głosów).

Model dla 2015 roku jest słabszy, R^2 wynosi 96,4%, błąd bezwzględny 2,21 p.p. Zwraca 50 anomalii: 18 na korzyść Komorowskiego, 32 Dudy (Komorowski stracił przez to 868 głosów).

Walidacja

27 czerwca 2025 zostały opublikowane opinie biegłych (dr hab. Jacka Hamana i dr hab. Andrzeja Torója) w sprawie potencjalnych nieprawidłowości w wynikach wyborów. Przedstawiono w nich dwa inne modele detekcji anomalii. Następnie zarządzono ponowne przeliczenie głosów w 250 komisjach wskazanych jako najbardziej podejrzane przez model dr. hab. Jacka Hamana (zwany dalej modelem JH). Model ten jest prawie identyczny z zaproponowanym przeze mnie (główna różnica polega na nieodrzuceniu niewielkich komisji, tzn. brak warunku “co najmniej 200 głosów”). Daje to możliwość oceny poprawności opisanego w tym artykule podejścia.

Taka ocena oczywiście ma swoje ograniczenia, a główny problem to fakt, że przeliczono głosy nie w komisjach wskazanych przeze mnie, ale przez inny model. To uniemożliwia pełne sprawdzenie liczby prawdziwych i fałszywych wskazań.

Zacznijmy od tego, że z 250 ponownie przeliczonych komisji do jakichś nieprawidłowości doszło w 84. W 18 z nich były to pomyłki na poziomie jednego głosu, między innymi dotyczące kwalifikacji jako nieważny lub ważny. Takich przypadków nie traktuję jako “błędy”, w tym sensie, że nie mają one nic wspólnego ze wskazaniami modelu (nie da się ich wykryć), zdarzają się zawsze i nie mają praktycznie żadnego wpływu na ostateczny wynik (odsyłam do raportu z wyników wyborów do sejmików 2014).

W dwóch komisjach (Ostrów Mazowiecka i Łęczna) prawie na pewno prokuratura popełniła błąd, odwracając głosy. Zostały one wskazane jako te, w których najprawdopodobniej głosy oddane na jednego kandydata zostały przypisane drugiemu, a według raportu prokuratury było odwrotnie. Byłby to ekstremalny zbieg okoliczności i traktuję te wyniki jako błąd prokuratury, który poprawiam.

Podsumowując, błędy (poważne) odnotowano w 66 komisjach. Zamiana wszystkich głosów wystąpiła w 17 komisjach, w 48 jakaś część głosów oddanych na jednego kandydata została zaliczona jako głosy na drugiego, a w jednej komisji część głosów na jednego kandydat nie została uwzględniona w wyniku (wynik drugiego kandydata był poprawny z dokładnością do jednego głosu).

Poniżej najważniejsze statystyki dla mojego podejścia na podstawie wyników ponownego przeliczenia.

  • Z 97 komisji wskazanych komisji (korekta Benjamini-Hochberga dla poziomu istotności 0,05) ponownie przeliczonych zostało 75. W 46 z nich rzeczywiście wystąpiły błędy, w pozostałych 29 podane wyniki okazały się prawidłowe (z dokładnością do 1-3 głosów).

  • Przeoczyłem 17 komisji, w których wystąpiły błędy. W ośmiu z nich p-wartość z korektą B-H wyniosła 0,05-0,1, w kolejnych ośmiu 0,1-0,2 — czyli te komisje zostałyby wskazane przy bardziej liberalnym podejściu. P-wartość dla jednej z komisji (Otwock) wynosi 0,654, na dodatek bez żadnej korekty, a mimo to 25 głosów na jednego kandydata zostało zaliczonych drugiemu (pierwotnie Trzaskowski otrzymał 612 głosów, Nawrocki 637, a powinno być odwrotnie). Model JH również nie wykrył tego przypadku (czyli ponowne liczenie w tej komisji odbyło się na podstawie innych przesłanek). Analiza, jak dużo może być takich niewykrytych komisji z błędami, znajduje się w dalszej części artykułu.

  • Dzięki ograniczeniu się do komisji o liczbie głosów co najmniej 200 aż 117 komisji (z 250 przeliczonych) nie zostałoby niepotrzebnie wskazanych (wyniki fałszywie dodatnie). Natomiast przez to ograniczenie trzy komisje z błędami nie zostałyby wykryte (byłyby, gdyby zmniejszyć próg do 185).

Liczba błędów we wszystkich komisjach

Można się spodziewać, że w niektórych komisjach, w których nie dokonano ponownego przeliczenia, również wystąpiły błędy, ale były one zbyt małe, by je wykryć. Mogła też zdarzyć się sytuacja, że w danej komisji, gdyby podano poprawne wyniki, reszta z modelu byłaby np. ujemna (nawet na tyle, że zostałaby wykryta jako anomalia), ale przez błąd w liczeniu znak reszty się odwrócił — ale nie na tyle, by została wykryta.

Pytanie, czy jesteśmy w stanie oszacować liczbę komisji z błędami? Poniżej proponuję, jak można do tego podejść, bazując na modelu JH. Odtworzyłem go na podstawie opisu z opinii biegłego. Następnie dla każdej komisji obliczyłem standaryzowany błąd przewidywania, który posłużył do wskazania komisji w wysokim prawdopodobieństwem wystąpienia nieprawidłowości. Na podstawie wyników ponownego przeliczenia wyznaczyłem różnicę między podanym pierwotnie procentem głosów oddanych na Trzaskowskiego a rzeczywistym wynikiem. Na poniższym wykresie zależność między taką różnicą a błędem przewidywania (oś X odwrócona).

Typowane były komisje o błędzie powyżej 3, dlatego wykres urywa się w tym miejscu. Im mniejszy błąd, tym mniejsza różnica między podanym a prawdziwym wynikiem. Co więcej, zależność jest mniej więcej liniowa: niebieska linia to prosta regresji wyznaczona tylko dla przypadków, w których w danej komisji popełniono błąd. Jak widać, wielkość tych błędów w nieprzeliczonych komisjach powinna być niewielka (procentowo). Oprócz tego coraz więcej jest komisji, w których nie popełniono żadnego błędu (punkty na poziomie ).

Z drugiej strony, komisji z coraz mniejszym błędem przewidywania jest coraz więcej. Stąd, mimo że zmniejsza się prawdopodobieństwo wystąpienia błędu w liczeniu, liczba komisji z takimi błędami może się zwiększać. Na poniższym wykresie zaznaczono skumulowaną liczbę komisji z błędami (np. wartość 50 dla standaryzowanego błędu przewidywania 3,5 oznacza, że było 50 komisji o błędzie 3,5 lub większym). Na podstawie tempa wzrostu liczby komisji możemy oszacować, ile może ich w całej Polsce, czyli gdy błąd przewidywania wynosi 0.

Dopasowałem wielomian piątego stopnia i z wykresu można odczytać, że liczba komisji z błędami wynosi 270 (czyli ok. 200 więcej, niż policzono). Spodziewam się jednak, że w rzeczywistości od pewnej wartości błędu przewidywania tempo wzrostu liczby komisji powinno być wolniejsze, dlatego tę wartość 200 traktuję jak ekstremalne oszacowanie. Oprócz tego pamiętajmy, że mówimy już o niewielkich różnicach między podanym wynikiem a prawdziwym, co wynika z pierwszego wykresu (na tę liczbę 200 składają się głównie komisje w okolicach błędu prognozy równego 0, a dla nich taka różnica powinna być minimalna).

Trzeba też dodać, że analiza tyczy się tylko obwodów stałych (ok. 93% wszystkich) i jedynie tych, dla których szacowana przez model JH różnica między prognozą a podaną wartością wynosiła co najmniej 10 głosów (tzn. takie ograniczenie wprowadził autor modelu). Ten drugi warunek mniej więcej sprowadza się do pominięcia bardzo małych komisji.

Oprócz tego typu ekstrapolacji możemy dopasować model regresji logistycznej, w której prawdopodobieństwo popełnienia błędu przez komisję powiążemy ze standaryzowanym błędem przewidywania. Współczynnik AUC dla takiego modelu wynosi 0,72. Następnie wykorzystujemy go do prognozy popełnienia błędu w każdej komisji i sumujemy szacowane prawdopodobieństwa. Otrzymujemy oczekiwaną liczbę komisji z błędami, która wynosi 204.

Podsumowując, w części komisji, w których nie policzono ponownie głosów, najpewniej też popełniono błędy, ale po pierwsze niewielkie, po drugiej jest ich na tyle mało, że ich wpływ na ostateczny wyników wyborów powinien być minimalny.

Co jesteśmy w stanie wykryć przy pomocy takiego modelu?

Ważne pytanie, jakie warto zadać, to jakie są możliwości zaproponowanego podejścia. W szczególności, czy jeśli dokonano fałszerstw głównie na rzecz jednego kandydata (wtedy już raczej można mówić o fałszerstwach, bo pomyłki są zwykle symetryczne), to czy jesteśmy w stanie to wykryć?

Można to sprawdzić, samemu wprowadzając fałszerstwa (np. odwrócenie wyników), a następnie badając, czy da się je odnaleźć. Bazuję na wynikach wyborów z 2020 roku i w pierwszym kroku usuwam z danych 109 podejrzanych przypadków. Otrzymuję model, dla którego współczynnik R^2 wynosi 99,0%, błąd bezwzględny (MAE) 1,32. Zakładam, że w takich danych nie ma już nieprawidłowości, a następnie wprowadzam je sam.

Scenariusz 1

W pierwszym scenariuszu wylosowałem 100 komisji, w których Trzaskowski zdobył od 55 do 60% głosów, i zamieniam jego wynik z Dudą. Wprowadzam zatem asymetryczne fałszerstwo, tylko na korzyść jednego kandydata. Następnie stosuję zaproponowane przeze mnie podejście: dopasowuję model regresji i znajduję anomalie przy pomocy reszt i p-wartości, stosując korektę B-H dla dwóch progów: 0,05 i 0,1. W obu przypadkach znajduję wszystkie fałszerstwa i nie dostaję żadnego wyniku fałszywie dodatniego (co jednak jest naturalne, bo wcześniej usunąłem podejrzane przypadki właśnie przy pomocy tej korekty).

Wszystkich komisji, w których Trzaskowski otrzymał od 55 do 60% jest 2579, więc powyższą symulację można powtórzyć dla innych 100 wylosowanych komisji. Wykonuję 50 takich powtórzeń (oczywiście częściowo wylosowane komisje będą się pokrywać), dzięki czemu otrzymane wyniki będą pewniejsze. Dla progu 0,05 znajduję średnio 99,2% fałszerstw i 0 wyników fałszywie dodatnich, a dla progu 0,1 99,4% fałszerstw i 0,04% wyników fałszywie dodatnich (spośród wszystkich odkryć).

Rozważmy teraz bardziej ekstremalną sytuację, w której w 1000 takich komisji dokonano fałszerstw na korzyść Dudy. Przy pomocy progu 0,05 wykrywamy ich 79,8%, bez wyników fałszywie dodatnich (FP), a dla 0,1 wykrywamy 87,0%, również bez FP. Ten brak FP świadczy to o tym, że korekta B-H jest w tym przypadku konserwatywna.

Scenariusz 2

Rozpatrzmy teraz znacznie trudniejszą sytuację, w której do zamiany wyników doszło w przypadku, gdy Trzaskowski otrzymał od 53 do 55% (jest 1069 takich komisji). Mimo że fałszerstwa są niewielkie, dla progu 0,05 wykrywamy średnio 69,8% z nich (2,98% wyników FP), a dla progu 0,1 79,9% (38,5% FP). Warto dodać, że tego typu fałszerstwa mają mniejszy wpływ na ogólny wyników wyborów, więc niewykrycie ich ma mniejsze konsekwencje.

Rozszerzmy ten scenariusz na ekstremalną sytuację, w której tego typu fałszerstw dokonano w 5000 komisjach, w których Trzaskowski otrzymał co najmniej 50% głosów. W takim wypadku nie ma szans, żeby odnaleźć anomalie, bo nie mamy do czynienia z anomaliami, ale systematycznym oszustwem. Natomiast jesteśmy w stanie wykryć taką sytuację, analizując ogólne statystyki modelu: R^2 wynosi jedynie 61,8%, MAE 6,55. Oprócz tego problem jest bardzo dobrze widoczny w rozkładzie reszt. Poniżej wykres gęstości dla reszt ujemnych i dodatnich: silnie asymetryczny, z długim ogonem dla reszt ujemnych (fałszerstwa na korzyść Dudy).

Scenariusz 3

Tym razem wprowadzam inny rodzaj fałszerstwa: jednemu z kandydatów (Trzaskowskiemu) w 100 komisjach zabieram tylko część głosów (np. 5 p.p.) i przekazuję drugiemu (Dudzie). Oczywiście im większy będzie odsetek fałszywie przypisanych głosów, tym łatwiej powinniśmy go wykryć. Zmieniam ten parametr od 1 do 15 p.p. i na poniższych wykresach prezentuję procent odnalezionych fałszerstw oraz jaką część wszystkich odkryć stanowią wyniki fałszywie dodatnie. Są to średnie wartości z 50 symulacji dla każdego przypadku (wraz z błędami standardowymi).

Jak należało się spodziewać, zamiana paru procent głosów jest nie do wykrycia. Dopiero przy różnicy 6 p.p. i progu 0,1 odnajdujemy ok. 40% fałszerstw, choć połowa wszystkich wskazań to fałszywe odkrycia.

Na koniec przeanalizujemy jeszcze przypadek, gdy zamiana części głosów tyczy się jedynie 3 punktów procentowych. Nie jesteśmy w stanie wykryć takich komisji, z drugiej strony, patrząc w liczbach bezwzględnych, stanowi to co najwyżej kilkadziesiąt głosów na komisję. Można założyć, że aby takie fałszerstwo mogło mieć wpływ na końcowy wyniki, powinno zostać przeprowadzone w tysiącach komisji (oczywiście poza przypadkiem, gdy różnica między kandydatami jest bardzo mała).

Wprowadźmy takie fałszerstwa w 5000 komisji. Współczynnik R^2 dla modelu regresji wciąż jest bardzo wysoki (98,5%) i nie wskazuje na to, że coś jest nie tak. Wystarczy jednak zbadać rozkład reszt, na którym wyraźnie widać problem z symetrią.

Możemy też spojrzeć na procent potencjalnych nieprawidlowości na korzyść jednego z kandydatów, zmieniając próg detekcji. Symuluję 20 takich sytuacji (3 p.p., 5000 komisji), ale tym razem nie uśredniam wyników, ale pokazuję wszystkie — bo poza tym, że dana metoda powinna działać “średnio dobrze”, musimy mieć pewność, że zadziała w jednej konkretnej sytuacji.

Jak widać, wykresy są bardzo podobne i pokazują silną asymetrię: większość wykrytych anomalii na korzyść jednego kandydata.

Zbiór treningowy i testowy

Na koniec przedstawię jeszcze jedno podejście, które wydaje mi się interesujące. W podanym wyżej można mieć wątpliwości, czy jeśli do oszacowania parametrów modelu używamy danych, w których występują anomalie, to czy te parametry są wiarygodne. Od razu odpowiedzmy, że tak, co wynika głównie z tego, że takich odstających przypadków jest bardzo mało (a model, po zastosowaniu ograniczeń, był budowany na ponad 26 tysiącach obserwacji). Dodatkowo bazujemy na resztach studentyzowanych, które są liczone z pominięciem “podejrzanej” obserwacji.

Czasem stosuje się takie podejście, że obserwacje odstające usuwa się iteracyjnie, tzn. po usunięciu jednej (lub więcej) buduje się model od nowa. Problem z tym podejściem jest taki, że w pewnym sensie zaczynamy sztucznie zawyżać stopień dopasowania modelu (zaniżać błąd standardowy), bo usuwamy akurat te przypadki, które najbardziej mu przeszkadzają. To może skutkować nadmiarową liczbą odstających obserwacji w kolejnych iteracjach. Oprócz tego trzeba uważać, by model nie miał zbyt dużej liczby parametrów (nie był zbyt elastyczny), bo wtedy może nadmiernie dopasować się do danych – na tyle, że anomalie staną się dla niego “wyjaśnialne” (pozornie).

Dlatego możemy zastosować podejście, które jest typowe w uczeniu maszynowym. Losujemy połowę (lub inną proporcję) obserwacji, która staje się zbiorem treningowym, na którym budujemy model. Następnie używamy go na zbiorze testowym (pozostałe obserwacje) i tylko tam szukamy anomalii. W ten sposób nie wytypujemy wszystkich, ale wystarczająco dokładnie określimy ich liczbę oraz oszacujemy liczbę straconych głosów dla każdego z kandydatów: wystarczy obliczone wartości pomnożyć przez 2 (lub inną liczbę, gdy wybierzemy inny podział na zbiory).

Co nam to daje? Ponieważ model nie zna danych ze zbioru testowego, nie jest w stanie się do nich dopasować. Dzięki temu mamy znacznie więcej możliwości, jeśli chodzi o jego budowę. Możemy np. pogrupować komisje geograficznie i dorzucić taką informację do modelu jako interakcję. Zamiast regresji możemy skorzystać ze znacznie bardziej elastycznych, nieliniowych modeli. Innymi słowy, możemy przeprowadzić więcej eksperymentów, czego skutkiem będzie budowa modelu, który lepiej przybliża rzeczywiste zależności.

Następnie stosujemy taki model na drugiej połowie danych i szukamy anomalii przy pomocy reszt. Możemy podejść do tego bardziej liberalnie i zostawić nietypowe komisje (np. małe lub zagraniczne), które następnie odrzucimy po pogłębionej analizie. Na przykład, po zastosowaniu przeze mnie takiego podejścia dla wyborów z 2025 roku, została wytypowana komisja nr 3 w Ustroniu Morskim, w której Trzaskowski otrzymał znacznie mniej głosów, niż prognozował to model. Natomiast w tej komisji radykalnie zwiększyła się liczba uprawnionych: z 730 do 1441, co dobrze tłumaczy taki wynik. Oczywiście warto się w takich wypadkach zastanowić, czy sam wzrost liczby uprawnionych nie jest podejrzany, natomiast w tym przypadku najpewniej są to osoby będące na urlopie, które zostały dopisane do listy.

Podsumowanie

Przy pomocy zaproponowanego podejścia jesteśmy w stanie typować komisje, w których z dużym prawdopodobieństwem oficjalne wyniki są nieprawidłowe. Bazujemy przy tym na pewnym progu, który jest dostosowany do jakości modelu. Jeśli jest on dokładny, jesteśmy w stanie wykryć więcej anomalii (mamy większą pewność, że konkretna różnica między prognozą a oficjalnym wynikiem to nie jest kwestia przypadku, ale błędu lub oszustwa). To dostosowanie następuje automatycznie, wynika z teorii statystyki, dzięki czemu nasza ingerencja w ustalenie progu jest mocno ograniczona.

Wytypowano 97 anomalii: 50 anomalii na korzyść Trzaskowskiego, 47 na korzyść Nawrockiego. Porównując wartości oficjalne z prognozowanymi (czyli zakładając, że w każdym przypadku doszło do nieprawidłowość i model wskazuje poprawny wynik), Trzaskowski stracił 1051 głosów.

Referencje

Kod modelu wraz z najważniejszymi analizami jest dostępny w języku R, pod adresem https://github.com/pmszulc/anomalie_wyborcze.

The post Model detekcji anomalii wyborczych w wyborach prezydenckich appeared first on Danetyka.

]]>
Analiza dowodów manipulacji w wyborach 2025 https://danetyka.com/protest-wyborczy-2025/ Sun, 15 Jun 2025 15:14:12 +0000 https://danetyka.com/?p=8833 The post Analiza dowodów manipulacji w wyborach 2025 appeared first on Danetyka.

Analiza merytoryczna dowodów, na które powołano się w proteście wyborczym przeciwko ważności wyborów Prezydenta RP z dnia 1 czerwca 2025 roku.

The post Analiza dowodów manipulacji w wyborach 2025 appeared first on Danetyka.

]]>
The post Analiza dowodów manipulacji w wyborach 2025 appeared first on Danetyka.

Artykuł jest analizą merytoryczną dowodów, na które powołano się w proteście wyborczym przeciwko ważności wyborów Prezydenta RP przeprowadzonych w dniu 1 czerwca 2025 roku. Jest ich kilka, wszystkie statystyczne, i jak pokażę, powoływanie się na nie jest błędem.

Jeden z dowodów opiera się na modelu opisanym na stronie defoliator.pl, który rzeczywiście może być użyty do wskazania komisji, w których mogło dojść do naruszeń. Jak jednak pokażę, nie pozwala na wyciąganie wniosków, że było ich wiele i głównie na korzyść jednego z kandydatów. Przy okazji zaprezentuję swoje podejście do budowy tego typu modeli.

Dodatkowo w tym artykule omawiam błędy popełnione przez dr. Krzysztofa Kontka w jego modelu detekcji anomalii.

Rozkład Benforda

Przy pewnych założeniach, częstość występowania pierwszych cyfr w liczbach rozkłada się w pewien określony sposób: cyfra 1 występuje w około 30,1% przypadkach, cyfra 2 17,6% itd. Główne założenia:

  • liczby mają wiele rzędów wielkości (setki, tysiące, miliony itd.),
  • liczby powstają w pewnym naturalnym procesie (nie są sztucznie ograniczone).

Przykłady to długości rzek, rozmiary populacji zamieszkujących określony teren czy stałe fizyczne.

Według autorów protestu, fakt, że dane wyborcze nie są zgodne z tym rozkładem, ma być „silną przesłanką manipulacji”. Jak pokażę, nie tylko nie jest to silna przesłanka, ale powołanie się na ten rozkład jest błędem.

Liczba uprawnionych

Aby porównanie z rozkładem Benforda miało sens, trzeba najpierw uzasadnić, że mamy do czynienia z liczbami, które powinny się w ten sposób rozkładać. Nie znajduję dobrego uzasadnienia w przypadku liczby głosów oddanych w każdej komisji na danego kandydata. Przeciwnie: liczba głosów silnie koreluje z liczbą uprawnionych, a wielkość komisji jest tak “zaprojektowana”, aby nie była ani za duża, ani za mała. Z danych PKW wynika, że liczba uprawnionych do głosowania to w 55,9% przypadków liczba 3-cyfrowa, a w 40,5% liczba 4-cyfrowa, czyli mamy dwa rzędy wielkości. Dodatkowo liczby 4-cyfrowe są w prawie 90% przypadków z przedziału 1000-1999, stąd można się spodziewać nadreprezentacji cyfry 1.

Na poniższym wykresie porównanie z rozkładem Benforda dla liczby uprawnionych. Jak widać, rozkład ten nie ma tutaj zastosowania (zgodnie z przewidywaniami, cyfra 1 występuje zdecydowanie zbyt często). Stąd moim zdaniem nie mamy prawa zakładać, że przy tylko dwóch kandydatach liczba głosów na któregoś z nich będzie z takim rozkładem zgodna.

Liczba głosów

Mimo powyższych wątpliwości (które moim zdaniem są wystarczające), przejdźmy do analizy liczby głosów. Poniżej rozkład pierwszej cyfry dla Nawrockiego w 2. turze. To ten wykres pojawia się w proteście wyborczym.

Odstępstwo jest bardzo duże, co ma świadczyć o tym, że “manipulacje dotyczyły wyników tego kandydata” (cytat z protestu). Porównajmy z liczbą głosów na Trzaskowskiego.

Odstępstwo już również duże, choć mniejsze. Zaraz pokażę, z czego to wynika, ale sprawdźmy jeszcze, czy liczba głosów oddanych na Dudę w poprzednich wyborach jest zgodna z rozkładem Benforda.

Jeśli brak zgodności z tym rozkładem miałby świadczyć o manipulacjach, to wygląda na to, że w poprzednich wyborach były znacznie większe. Tak naprawdę musiałyby być systemowe (w większości komisji).

Dlaczego liczba głosów dla Trzaskowskiego odbiega od rozkładu Benforda w mniejszym stopniu? W poniższej tabeli podaję, jak często liczba głosów na danego kandydata jest liczbą n-cyfrową (w procentach).

Liczba cyfrDuda 2020Nawrocki 2025Trzaskowski 2025
10.681.101.68
26.4610.2629.38
392.0688.0864.88
40.800.574.06

Jak podano wcześniej, 4-cyfrowa liczba uprawnionych to były głównie liczby 1000-1999, w takim razie liczba głosów na kandydata bardzo rzadko jest liczbą 4-cyfrową. W przypadku Dudy w aż 92% mamy tylko liczby 3-cyfrowe (stąd rozkład w ogóle nie przypomina Benforda), dla Nawrockiego w 10% przypadków występują też liczby 2-cyfrowe, a dla Trzaskowskiego w 29% — stąd rozkład dla niego najbardziej przypomina Benforda. A te różnice wynikają stąd, że Duda i Nawrocki wygrywali głównie w mniejszych komisjach (na wsi).

Dodam, że jeśli zdecydowana większość liczb jest tego samego rzędu, to rozkład pierwszej cyfry jest po prostu przybliżeniem histogramu. Rozkład liczby głosów oddanych na Dudę jest mniej więcej normalny, z maksimum w przedziale 300-399, stąd cyfra 3 jest najpopularniejsza.

Podsumowując, liczba głosów rzeczywiście znacznie odbiega od rozkładu Benforda. Powodem jest to, że w ogóle nie powinna tak się rozkładać.

Ruski ogon

Poniższy wykres prezentuje rozkład frekwencji w drugiej turze: w ilu komisjach odnotowano daną frekwencję, po zaokrągleniu do jednego procentu. W większości komisji zagłosowało od 60% do 80% uprawnionych.

Według autorów protestu wyborczego, na tym wykresie ma być widać tzw. “ruski ogon”, czyli nadwyżkę komisji z bardzo wysoką frekwencją, bliską 100%. Ma być to “sygnałem możliwych korekt kart lub innych anomalii w procesie wyborczym”.

Przybliżmy wykres, skupiając się na jego prawym ogonie (frekwencja co najmniej 90%).

Rzeczywiście, wydaje się, że jest pewna nadreprezentacja komisji z frekwencją 100% po zaokrągleniu (liczba komisji dla 99% odpowiada tempu spadku). Jest 119 takich komisji.

Zacznijmy od tego, że w ponad połowie z nich frekwencja w pierwszej turze również była bardzo wysoka (powyżej 90%). Po drugie, 63% z nich to komisje z liczbą uprawnionych poniżej 100. Po trzecie, spójrzmy, co to za komisje:

Typ komisjiN
zakład leczniczy64
dom pomocy społecznej25
zagranica15
stały10
oddział zewnętrzny zakładu karnego3
dom studencki1
statek1

Oczywiście nie ma w tym nic dziwnego, że w zakładach leczniczych i DPSach frekwencja może być bardzo wysoka (powodów jest wiele, między innymi wszystkie osoby są często na miejscu). W przypadku komisji zagranicznych wyborcy specjalnie muszą się zapisać, więc wysoka frekwencja też jest naturalna (we wszystkich tych komisjach w pierwszej turze też taka była). Zostało 10 stałych komisji, ale zauważmy, że tylko część komisji z bardzo wysoką frekwencją można uznać za “nadmiarowe”. Poza tym, gdyby wybory odbyły się tylko w tych “podejrzanych” stałych komisjach, Trzaskowski otrzymałby ok. 62% głosów (a 68% we wszystkich komisjach z frekwencją co najmniej 90%).

Głosy nieważne

Jak twierdzą autorzy protestu, w drugiej turze wyborów wystąpił “ponadstandardowy wzrost głosów nieważnych, gdzie podwójnie zaznaczono kandydatów”, na dodatek w komisjach, w których w pierwszej turze wygrał Trzaskowski.

Procent głosów XX (nieważnych z podwójnym X) rzeczywiście się zwiększył, w drugiej turze było ich 3,75 razy więcej niż w pierwszej. W poprzednich wyborach prezydenckich (2020) również tak było, a nawet wzrost był jeszcze większy, wynosił 4,85 razy. Nie wiadomo zatem, co autorzy mają na myśli jako “ponadstandardowy” wzrost. Z jakim standardem się porównują?

Dodajmy, że taki wzrost jest logiczny, bo część osób może nie znaleźć swojego kandydata w drugiej turze, o co łatwiej w pierwszej, gdy jest ich więcej. W takim wypadku można albo nie pójść na wybory, albo oddać nieważny głos.

Ale jak rozumiem, kluczowym argumentem jest tu to, że ten wzrost “zależał” od tego, kto wygrał w pierwszej turze: jeśli Trzaskowski, wzrost był większy. Napisałem “zależał” w cudzysłowie, bo autorzy nawet nie próbują pokazać, że jest to zależność przyczynowa, po prostu informują o korelacji. A cóż z tego, że ona istnieje? Przecież nie ma żadnych powodów, żeby wzrost głosów XX był równomierny. Skoro komisje różnią się poparciem dla Nawrockiego i Trzaskowskiego, to dlaczego nie miałyby się różnić wzrostem nieważnych głosów w drugiej turze? To zadaniem autorów analizy jest przekonanie nas, że jest to nienaturalne.

Mimo wszystko, pociągnijmy ten temat. Po pierwsze, mimo wielu prób, nie byłem w stanie otrzymać liczb, które podano w proteście. Jeśli ktoś jest w stanie wytłumaczyć, co oznacza np. wzrost 27,6% w dolnośląskim (w komisjach, w których wygrał Nawrocki), prosiłbym o wiadomość. Wbrew podpisowi tabeli, to raczej nie jest wzrost głosów XX, bo on był znacznie większy.

Poniżej liczę to inaczej: sumuję wszystkie głosy XX z drugiej tury i sprawdzam, ile razy jest ich więcej w stosunku do pierwszej tury, w zależności od tego, kto wygrał w pierwszej turze. Dla porównania robię to samo dla poprzednich wyborów.

RokWygranaWzrost XX
2025Nawrocki3.32
2025Trzaskowski4.04
2020Duda3.19
2020Trzaskowski4.83

W komisjach, w których wygrał Trzaskowski (tzn. zdobył więcej głosów od Nawrockiego), podwójnych X jest 4,04 razy więcej, a w komisjach, w których wygrał Nawrocki, 3,32 razy. W 2020 roku różnica była większa, więc podobnie jak z rozkładem Benforda, trzeba by uznać, że w tamtych wyborach problem był jeszcze większy.

Natomiast w tych liczbach nie widać niczego niepokojącego, bo jak pisałem, nie ma żadnych powodów, żeby wzrost podwójnych X był równomierny. Mimo wszystko, spróbuję wskazać jedną z potencjalnych przyczyn tych różnic.

(Ta część analizy jest dość zaawansowana i wymaga wiedzy, czym jest kontrola czynników zakłócających w modelach statystycznych).

Najpierw przedstawmy problem inaczej. Na osi X zaznaczyłem różnicę poparcia między Trzaskowskim i Nawrockim w pierwszej turze (w punktach procentowych), na osi Y różnicę w procencie nieważnych głosów (nie iloraz, jak wcześniej; w ten sposób łatwiej będzie zbudować model).

Niebieska krzywa to model GAM; wartości na tej krzywej możemy interpretować jako średnią różnicę w nieważnych głosach w komisjach, w których przewaga Trzaskowskiego wynosiła konkretną wartość, np. 25 p.p. Ograniczyłem się do komisji, w których zagłosowało co najmniej 400 osób oraz odrzuciłem odstające przypadki, gdy przewaga Trzaskowskiego wynosiła ponad 50 p.p. Dodatkowo rozważam tylko komisje, w których zarówno w pierwszej, jak i drugiej turze, pojawił się choć jeden głos XX, bo poprzednie obliczenia też były wykonywane tylko dla takich komisji.

Widzimy coś rzekomo niepokojącego: im więcej głosów otrzymał Trzaskowski w pierwszej turze, tym więcej nieważnych głosów pojawiło się w drugiej. Czy da się to wyjaśnić?

Na kolejnym wykresie widzimy, że w komisjach, w których Trzaskowski zdobył więcej głosów w pierwszej turze, Zandberg również.

Czyli informacja, że Trzaskowski otrzymał więcej głosów od Nawrockiego, jest też informacją, że w danej komisji było więcej sympatyków Zandberga. Co zrobiły te osoby w drugiej turze? Zapewne większość zagłosowała na Trzaskowskiego, ale być może część stwierdziła, że odda nieważny głos (Zandberg nikogo nie poparł). Dodajmy, że wystarczy niewielka liczba takich osób, by wytłumaczyć zaprezentowane wcześniej “podejrzane” różnice.

Czy da się to zweryfikować na podstawie dostępnych danych? Spróbujmy wyjść poza proste korelacje i zbudujmy model, w którym uwzględnimy więcej zmiennych jednocześnie. Różnicę w głosach XX wyjaśniam przy pomocy wyników pierwszej tury: różnicy poparcia Trzaskowskiego i Nawrockiego, poparcia Zandberga, Mentzena itd. (pominąłem jedynie Maciaka i Wocha, bo otrzymali bardzo mało głosów). Poniższe zależności powstały na bazie takiego modelu (zależności dla pozostałych kandydatów są bardzo słabe).

Jak widać, im więcej głosów otrzymało tych trzech kandydatów (Zandberg, Hołownia, Stanowski), tym średnio więcej nieważnych głosów pojawiło się w drugiej turze. Jednym z wyjaśnień może być to, że część z wyborców, którzy poparli tych kandydatów, zdecydowała się w drugiej turze oddać głos nieważny. Ale najważniejsze, że znika zależność z różnicą poparcia Trzaskowskiego i Nawrockiego.

Dodajmy, że R2 dla modelu wynosi jedynie 8%, a w takim razie procentu głosów XX nie da się wyjaśnić przy pomocy wyników pierwszej tury. Natomiast jest to wystarczające, by zniknął “podejrzany” wzrost takich głosów w komisjach, w których wygrał Trzaskowski.

Model detekcji anomalii

W tej części analizuję model opublikowany na blogu defoliator.pl, który będę nazywał modelem Def. Jest to najbardziej zaawansowane podejście do szukania potencjalnych nieprawidłowości i w zasadzie jedyne w proteście, które potencjalnie ma sens. Co więcej, właśnie przy pomocy tego typu modeli wytypowano komisje, w których zamieniono wyniki kandydatów w drugiej turze, co następnie zostało potwierdzone.

Rozumowanie opiera się na założeniu, że na podstawie wyników pierwszej tury w danej komisji oraz ogólnopolskiego (szacowanego) przepływu głosów da się wystarczająco dokładnie przewidzieć wyniki drugiej tury. Na tyle, by wskazać przypadki tak odstające, że rozsądnie jest przeliczyć tam głosy jeszcze raz.

Autor przyjmuje pewien próg, przy którym uznaje, że wyniku drugiej tury nie da się wyjaśnić wynikiem pierwszej. Na tej podstawie kwalifikuje ok. 1000 komisji jako anomalie. Co ważne, okazuje się, że nie ma w nich symetrii: w 80% z nich potencjalne pomyłki wystąpiły na korzyść Nawrockiego, a w 20% Trzaskowskiego.

Tutaj prezentuję moje podejście, przy pomocy którego doszedłem do zupełnie innych wniosków: co najwyżej kilkadziesiąt komisji, które można uznać za anomalie, oraz symetryczny ich rozkład (podobna liczba z korzyścią dla Trzaskowskiego i Nawrockiego). Istotą mojego podejścia jest typowanie komisji, w których z dużym prawdopodobieństwem oficjalne wyniki są nieprawidłowe. Podkreślam tu słowo prawdopodobieństwo, bo w modelu Def mówienie o nim jest utrudnione, a wnioskowanie odbywa się na ocenie, czy różnica między oficjalnym wynikiem a symulowanym jest “duża”. W szczególności, nie jesteśmy w stanie oszacować, ile fałszywie dodatnich wyników powinniśmy się spodziewać. Jeśli wyniki modelu mają być argumentem za tym, że doszło do poważnych naruszeń – takich, które mogły zmienić ogólnopolski wynik — musimy zadbać o to, by fałszywie dodatnich wyników było jak najmniej. Co prawda w niektórych przypadkach możemy sobie pozwolić na większą ich liczbę (np. jeśli mamy inne mocne argumenty, że doszło do fałszerstw), ale w dalszym ciągu powinniśmy mieć kontrolę nad liczbą takich błędów.

Oprócz tego, w przypadku reszt studentyzowanych, z których korzystam, istnieją powszechnie przyjęte progi, przy których uzasadnione jest mówić o anomalii. Co ważne, ten próg jest dostosowany do jakości modelu. Jeśli jest dokładny, jesteśmy w stanie wykryć więcej anomalii (mamy większą pewność, że konkretna różnica między prognozą a oficjalnym wynikiem to nie jest kwestia przypadku, ale błędu lub oszustwa).

Drugim problemem z modelem Def (który przy pewnych założeniach może być traktowany jako zaletę, o czym zaraz) jest fakt, że bardzo mocno zależy on od przyjętych parametrów opisujących przepływy, które muszą pochodzić z sondażu. Jeśli nie będą wystarczająco bliskie rzeczywistym, model może zwyczajnie nie działać, wskazując złe komisje. Co gorsza, w konkretnym kierunku, tzn. więcej na korzyść jednego z kandydatów. Moim zdaniem to jest niedopuszczalne.

Zauważmy też, że tak dużo obserwacji odstających wskazanych przez model Def (ponad 1000) oraz brak symetrii w różnicach między prognozą a rzeczywistymi wartościami są zwykle w statystyce argumentem za tym, że przyjęto złe założenia. Dlatego takie modele nadają się raczej tylko do wskazywania pojedynczych anomalii.

Dodajmy jednak, że przy założeniu, że przyjęte parametry są poprawne, takie podejście umożliwia wykrycie również systemowych oszustw, w znacznie większej liczbie komisji, niż w moim podejściu. W szczególności można oszacować “prawdziwy” wynik wyborów. Ale nie widzę możliwości, byśmy mogli być wystarczając pewni tego założenia i nie zachęcam do stosowania takiego podejścia.

Referencje

Obliczenia wykonano w języku R, kod dostępny tutaj.

The post Analiza dowodów manipulacji w wyborach 2025 appeared first on Danetyka.

]]>
Analiza wyników egzaminu ósmoklasisty 2021-24 https://danetyka.com/egzamin-osmoklasisty/ Sat, 24 May 2025 06:06:11 +0000 https://danetyka.com/?p=8795 The post Analiza wyników egzaminu ósmoklasisty 2021-24 appeared first on Danetyka.

Raport z analizy wyników egzaminu ósmoklasisty z matematyki z lat 2021-2024.

The post Analiza wyników egzaminu ósmoklasisty 2021-24 appeared first on Danetyka.

]]>
The post Analiza wyników egzaminu ósmoklasisty 2021-24 appeared first on Danetyka.

Udostępniam raport z analizy wyników egzaminu ósmoklasisty. Poniżej najważniejsze wnioski.

1) Około połowy różnic w średnich wynikach dla gmin da się wyjaśnić przy pomocy ogólnych charakterystyk gmin, takich jak procent osób z wyższym wykształceniem (im większy, tym wyższa średnia), frekwencja w wyborach (im większa, tym wyższa średnia), procent małżeństw posiadających dzieci (im większy, tym wyższa średnia), liczba rozwodów (im większa, tym niższa średnia).

2) Związek między medianą wynagrodzeń w gminie a średnim wynikiem egzaminu znika, gdy uwzględnimy procent osób z wyższym wykształceniem. Średnie wyniki egzaminu w gminach z wysokimi wynagrodzeniami nie są większe, niż w gminach z niskimi wynagrodzeniami (gdy porównujemy gminy z podobną strukturą wykształcenia).

3) Opisany w raporcie model umożliwia ilościowe oszacowanie, na ile szkoła wyróżnia się wynikami. Możemy porównać średni wynik egzaminu w szkole z przeciętnymi wynikami, które uzyskuje się w szkołach usytuowanych w “podobnym otoczeniu” (tzn. w gminach o podobnej charakterystyce do gminy, w której znajduje się dana szkoła). W udostępnionych materiałach obliczono taki wskaźnik dla każdej szkoły.

4) Za niewielką część niewyjaśnionych przez charakterystykę gmin różnic odpowiada wielkość szkoły i liczebność klas. Co ciekawe, wyniki nie pogarszają się wraz ze wzrostem wielkości szkoły i klas, a w pewnych przedziałach zależność jest raczej odwrotna (mimo że uwzględnia się fakt, że większe szkoły są zwykle w miastach itd.). Oprócz tego zdecydowanie lepsze wyniki osiągnęły szkoły prowadzone przez organizacje wyznaniowe, choć jest ich bardzo mało (0,6%).

The post Analiza wyników egzaminu ósmoklasisty 2021-24 appeared first on Danetyka.

]]>
Czas antenowy w TVP przed i po wyborach https://danetyka.com/czas-antenowy/ Mon, 10 Feb 2025 16:14:06 +0000 https://danetyka.com/?p=8624 The post Czas antenowy w TVP przed i po wyborach appeared first on Danetyka.

Jak zmienił się -- albo nie zmienił -- udział partii w czasie antenowym w TVP przed i po wyborach.

The post Czas antenowy w TVP przed i po wyborach appeared first on Danetyka.

]]>
The post Czas antenowy w TVP przed i po wyborach appeared first on Danetyka.

czas antenowy partie TVP

Wykres powstał na podstawie poniższych danych:

Do PiS zaliczyłem też Suwerenną Polskę. Procenty liczyłem na podstawie czasów dla wszystkich partii, nie tylko tych, które są na wykresie, dlatego suma jest trochę mniejsza od 100%.

Poniżej bardzo podobny wykres, ale z bezwzględnymi czasami (w godzinach).

czas antenowy partie godziny TVP

Na ostatnim wykresie partie tworzące koalicję KO + TD + Lewica zaznaczone osobno.

czas antenowy Trzecia Droga KO Lewica TVP

Na koniec spójrzmy jeszcze na wykres kołowy, który został umieszczony pod tabelą dla danych za rok 2024 (link).

Wynika z niego, że czas antenowy dla partii opozycyjnych i koalicji rządzącej jest mniej więcej równy, podczas gdy jest zupełnie inaczej. Jak czytamy w opisie pod tabelą, łączny czas wszystkich partii wyniósł 743 godziny, z czego 623,5 dla koalicji rządzącej, a 119,5 dla opozycji. Niestety, autorzy wykresu zamiast podzielić 623,5 przez 743, zestawili ze sobą te dwie liczby, tzn. 54% odpowiada wartości 743, a 46% to
623,5, co oczywiście nie ma sensu.

Warto to odnotować, bo niestety media tak właśnie skomentowały te dane, tzn. spojrzały jedynie na wykres, na przykład:

(Aktualizacja. Zgłosiłem to do KRRiT i po miesiącu wykres został poprawiony).

The post Czas antenowy w TVP przed i po wyborach appeared first on Danetyka.

]]>
Wpływ frekwencji na wyniki wyborów https://danetyka.com/frekwencja/ Wed, 29 Jan 2025 11:30:26 +0000 https://danetyka.com/?p=8542 The post Wpływ frekwencji na wyniki wyborów appeared first on Danetyka.

Czy da się przewidzieć wyniki wyborów na podstawie frekwencji.

The post Wpływ frekwencji na wyniki wyborów appeared first on Danetyka.

]]>
The post Wpływ frekwencji na wyniki wyborów appeared first on Danetyka.

Frekwencja w wyborach parlamentarnych w 2023 wyniosła rekordowe 74%. W jaki sposób wpłynęło to na wyniki?

Trudno na to pytanie odpowiedzieć, ale spróbujmy się chociaż nad tym zastanowić.

Na powyższym wykresie porównanie frekwencji w 2023 i 2019 dla każdej gminy. Jeśli w którejś z nich frekwencja nie uległa zmianie, punkt powinien leżeć na zaznaczonej prostej. Jak widać, wszystkie punkty leżą powyżej, co oznacza, że frekwencja zwiększyła się w każdej gminie.

Oczywiście nie w każdej tak samo. Na kolejnym wykresie różnice naniesione na mapę.

Kolejny wykres to zależność między frekwencją a poparciem dla danej partii.

Wziąłem rok 2023, ale dla roku 2019 wygląda to bardzo podobnie. Jak widać, gdyby wybory odbyły się tylko w gminach o wysokiej frekwencji, wyniki byłyby zupełnie inne.

Co się w takim razie stanie, jeśli w kolejnych wyborach frekwencja będzie jeszcze wyższa? Ach, gdyby życie było takie proste i z korelacji wynikałaby przyczynowość! Spójrzmy na ostatni wykres.

Oś Y jak poprzednio, ale na osi X zaznaczyłem RÓŻNICĘ między frekwencją w 2023 i 2019. Gdyby wybory odbyły się tylko w gminach o dużym wzroście frekwencji, wyniki byłyby zupełnie inne.

Gdy się nad tym zastanowić, nie jest to zaskakujące. W gminach o wysokiej frekwencji mogło wystąpić pewne „wysycenie” (poza tym jeśli w 2019 głosowało 90% osób, bo w 2023 nie mogło zagłosować o 20 p.p. więcej). Jeśli chcemy oszacować wpływ dalszego wzrostu frekwencji na wyniki, korelacja między frekwencją a wynikami jest raczej bezużyteczna.

Komentarz

Napisałem, że korelacja między frekwencją a wynikami jest raczej bezużyteczna, choć na podstawie tej analizy można argumentować, że niekoniecznie: tylko trzeba ją „odwrócić” (czyli spodziewać się takich wyników, jakie są dotychczas w gminach o niskiej o frekwencji). Ale jest to oczywiście znacznie bardziej skomplikowane. To, w jaki sposób frekwencja wpłynie na wyniki, zależy od tego, jakie osoby zostaną zmotywowane.

Do wyznaczenia krzywych wykorzystuję model GAM i ważę liczbą oddanych głosów w danej gminie – także uwzględniam fakt, że wysoka frekwencja w Warszawie oznacza co innego, niż w niewielkiej gminie.

The post Wpływ frekwencji na wyniki wyborów appeared first on Danetyka.

]]>