Statystyka ideowości
- 13 minut czytania - 2751 słów [Misc] , [Statystyka] , [tl;dr]Motto:
“Statystycznie to można badać średnią krajową, a nie zbieżność ideowości”
Tym razem zająłem się wynikami ankiety, które wśród kandydatów na posłanki i posłów przeprowadził świetny portal Mam Prawo Wiedzieć. Ankietę dobrowolnie wypełniło ponad 700 posłów, a spora liczba pytań z ankiety polega na wybraniu jednej z dostępnych opcji – zatem można je poddać łatwej analizie statystycznej. Tym razem, obok PCA, zastosuję “uczenie nadzorowane” (supervised machine learning).
Głównym problemem w analizie danych z ankiety jest jej podział na części i to, że większość polityków odpowiadała na tylko na mniej niż sześć z szesnastu części ankiety. W dodatku różne partie odpowiadały w różnym stopniu na różne części ankiety, na przykład na pytania z części “Prawa i wolności obywatelskie” odpowiedziało 2/3 kandydatów RPP, ale mniej niż połowa kandydatów SLD. W tej sytuacji zastąpienie brakujących odpowiedzi np. zerem powoduje powstawanie istotnych artefaktów.
Jak już wspominałem, kandydaci odpowiadali działami. Jeśli wybrać do analizy tylko pojedyncze działy, najczęściej nie mamy dostatecznej liczby pytań do sensownej analizy. Tym niemniej jednak zaczniemy od wszystkich pytań, zastępując brakujące odpowiedzi zerem, które najczęściej oznacza “nie mam zdania”.
Po lewej lewica, po prawej PiS, u góry Korwin-Mikke. A pośrodku gęsto. PC1 to głównie rozdział kościoła od państwa, eutanazja, legalizacja miękkich narkotyków, ograniczenie swobód obywatelskich w imię walki z przestępczością, związki partnerskie, religia w szkołach, religia i uroczystości państwowe, parytety i suwaki. PC2 to głównie różnice między JKM a resztą. Zastanawia tutaj gęste centrum – czy kandydaci w centrum ilustracji nie wybrali działu, którego dotyczą pytania, czy może są inne powody? Wybieram do analizy tylko tych posłów, którzy odpowiedzieli na większość z pierwszych 20 pytań znaczących w komponencie PC1 plus pierwszych 20 w komponencie PC2 na powyższym diagramie. Pozostaje 302 posłów i 33 pytań.
Chociaż w miarę lewica oddziela się od szeroko pojętej prawicy, nadal nie można mówić o jakimś bardzo wyrazistym podziale; kandydaci różnych ugrupowań zachodzą na siebie. Odstaje właściwie tylko JKM.
Są jednak dwa działy, na które odpowiadali wszyscy posłowie: “Motywy kandydowania i planowana działalność” (takie trochę blabla) oraz “Ustrój państwa i funkcjonowanie instytucji publicznych”.
Nie ma tu wyraźnych podziałów, ale widać różnice (mało intuicyjnie, lewica jest po prawej stronie PC1). W PC1, głównie chodzi o parytety (dwa pytania: o podniesienie i o zniesienie), suwak (na listach na przemian kobiety i mężczyźni) i finansowanie partii z datków (tutaj wyróżnia się RPP i JKM, gdzie prawie wszyscy są za; PSL, PJN i PO raczej za, a PiS raczej przeciw; SLD pół na pół). W PC2 (oś pionowa) dominują kwestie obniżenia progu wyborczego (JKM za, PO, PiS, PSL i SLD przeciw, RPP pół na pół, PJN raczej przeciw), zniesienie parytetów, finansowanie partii z datków i jednomandatowe okręgi wyborcze (większość partii jest w dużej mierze za, wyjątkiem są PiS i… SLD).
Byłem zaskoczony, jak duża jest rozpiętość poglądów w obrębie ugrupowań, zważywszy na wyraźne podziały w głosowaniach, jakie posłowie zademonstrowali w poprzedniej kadencji Sejmu.
Niestety, nie da się przeprowadzić PCA dla wszystkich działów pytań jednocześnie. Pewnym kompromisem jest grupowanie działów. Na przykład, spośród ponad 700 kandydatów, 134 odpowiedziało na pytania z trzech działów: “Prawa i wolności obywatelskie”, “Edukacja” oraz “Polityka społeczna i rynek pracy”. Dodatkowo znalazły się też odpowiedzi na niektóre pytania z innych grup, na które większość z tych kandydatów odpowiedziała. Wyniki PCA są takie, jak można się spodziewać:
W PC1, po lewej Palikot i SLD, po prawej PiS, PO pośrodku. W PC2, od wszystkich odstają korwiniści. PC1, jak można się spodziewać, opisuje głównie odpowiedzi na pytania o związki partnerskie, eutanazję, legalizację miękkich narkotyków, in vitro itd., oraz parytety. Korwiniści w PC1 są pośrodku, bo np. są przeważnie za legalizacją miękkich narkotyków, pół na pół gdy idzie o eutanazję, i zdecydowanie przeciw związkom partnerskim. W osi PC2 dominują poglądy na politykę społeczną i rynek pracy oraz edukację. Tutaj JKM się wyróżnia, np. jest przeciwko prowadzeniu przez państwo polityki zwiększającej liczbę urodzin oraz świadczeniom społecznym, uważają, że kodeks pracy powinien być elastyczniejszy (w pozostałych ugrupowaniach zdanie jest tu podzielone) i że szkoły nie powinny być wyłącznie publiczne.
Kolejna przebadana grupa odpowiedzi to “Uczestnictwo obywateli w sprawowaniu władzy” oraz “Polityka gospodarcza”. Tutaj różnice nie rzucają się w oczy:
W PC1 na powyższym obrazku słabo widać różnicę między lewicą a prawicą. Chodzi głównie o zwalczanie bezrobocia za wszelką cenę (w PJN i PO, a także w RPP zdania są podzielone, PiS raczej przeciw, JKM zdecydowanie przeciw, SLD zdecydowanie za), prywatyzację wszystkich przedsiębiorstw (JKM za, PO i PJN raczej za, RPP raczej przeciw, SLD jeszcze bardziej, ale nie zdecydowanie przeciw, PiS zdecydowanie przeciw) oraz napływ zagranicznego kapitału (wszyscy za, ale PiS i PJN w większym stopniu “raczej”, a reszta – “zdecydowanie za”).
Ponieważ nie jest to blog polityczny, wykorzystam aktualny temat żeby zaprezentować kolejną rodzinę metod, które można stosować w tego typu analizach, czyli “supervised machine learning algorithms”. Tego typu algorytmy uczą się na pewnym zestawie danych, a następnie wykorzystują swoją “wiedzę” by dokonywać kolejnych przewidywań. Na przykład wykorzystuje się je w diagnostyce chorób na podstawie jakiejś licznej grupy biomarkerów (dajmy na to, poziomu różnych substancji we krwi).
Jednym z algorytmów w tej grupie, i zdecydowanie mój ulubiony nazywa się “random forests” (nazwa pochodzi od sposobu działania algorytmu, którego tutaj nie będę opisywał). Ma on trzy ogromne zalety.
Po pierwsze, w przeciwieństwie do niektórych innych algorytmów (jak np. support vector machines), umożliwia stosowanie więcej niż dwu kategorii (a więc np. nie tylko “chory/zdrowy”, ale też np. “chory/zainfekowany/zdrowy”).
Po drugie, można łatwo sprawdzić, jakie ze zmiennych wejściowych mają dla tego algorytmu znaczenie (co w przypadku np. sieci neuronowych jest bardzo trudne). To ma olbrzymie znaczenie, jeśli chcemy zrozumieć, co właściwie się dzieje. Dajmy na to, wyuczymy algorytm, żeby rozróżniał SLD od Palikota; algorytm udowadnia nam (mniejsza jak), że całkiem nieźle się nauczył. Ale na czym te różnice polegają? Które różnice są istotne dla rozróżnienia tych dwóch ugrupowań? Algorytm RF dostarcza tych odpowiedzi automatycznie.
Po trzecie, z bootstrapping jest integralną częścią algorytmu i nie ma potrzeby dokonywać go zewnętrznie, co jest bardzo czasochłonne. Bootstrapping (patrz poprzednia notka) to technika której zazwyczaj używa się do sprawdzania efektywności wyuczonego algorytmu (tzn. jak dobrze algorytm potrafi rzeczywiście przewidywać klasyfikację).
W dalszej części zajmę się kilkoma konkretnymi porównaniami.
Różnice między SLD a RPP
W analizie brałem pod uwagę tylko pytania o “Ustrój państwa i funkcjonowanie instytucji publicznych” oraz “Prawa i wolności obywatelskie” (30 kandydatów z SLD i 64 z RPP odpowiedziało na obie te części ankiety).
Analiza random forests wskazała na trzy lub cztery pytania, które rozróżniały te dwa ugrupowania. Po pierwsze, możliwość finansowania z budżetu (Tak:Nie wiem:Nie, SLD: 37:14:42, RPP: 156:6:5), dalej jednomandatowe okręgi (SLD: 30:10:53, RPP: 113:34:20) oraz legalizacja miękkich narkotyków – co prawda, liczba kandydatów SLD którzy odpowiadali na to pytania z tego działu była niewielka, ale odpowiedzi rozkładały się po równo, tymczasem w RPP zdecydowana większość kandydatów opowiadała się za legalizacją.
Różnice między PO a SLD i RPP.
Wybrałem tylko te 244 głosowania, w których przynajmniej 100 posłów z tych formacji udzieliło odpowiedzi, a następnie ograniczyłem liczbę posłów do 273, którzy udzielili odpowiedzi na przynajmniej 100 spośród 244 pytań. PCA pokazuje nam różnice między ugrupowaniami w obu komponentach: PC1 to SLD+RPP vs PO, PC2 to RPP vs SLD+PO.
Wyniki RF są frapujące. Otóż RF rzadko myli kandydatów PO z innymi (63 zaklasyfikowanych poprawnie, 13 wziętych za lewicę). Również RPP najczęściej jest klasyfikowane prawidłowo (18 błędnie, 115 prawidłowo). Natomiast kandydaci SLD (prawidłowo zaklasyfikowani: 24) są często brani za RPP (30), a nawet PO (10)! Ponieważ różnice między SLD i RPP już omówiliśmy, wrzucę teraz SLD i RPP do jednego wora.
Ciekawe; teraz to posłowie PO bywają błędnie klasyfikowani (31 jako lewica, 45 jako PO), natomiast lewica jest klasyfikowana poprawnie. Główne wyróżniki to nauczanie religii w szkołach (PO: 20 za, 13 przeciw, 9 się wstrzymało), obniżenie progu wyborczego (RPP się wyróżnia), wieszanie krzyży w urzędach (PO; 26 za, 11 wstrzymało się, 5 przeciw), udział duchownych w państwowych uroczystościach (znów, w PO wielu się wstrzymało), rozdział kościoła i polityki (PO w sumie też jest za, ale częściej odpowiada “raczej” niż lewica, która zawsze odpowiada “zdecydowanie”) i związki partnerskie (tutaj PO jest podzielone, a lewica zdecydowanie za).
Różnice między PO a PiSem.
Po odfiltrowaniu (podobnie jak powyżej) pozostało 210 kandydatów i 68 pytań, głównie dotyczących edukacji i ustroju państwa. PCA prawie tylko w pierwszej komponencie pokazuje na różnice między PO a PiSem:
Analizę RF zrobiłem na całym zestawie pytań, zastępując brakujące odpowiedzi zerem, które w pytaniach oznacza “nie mam zdania”. Klasyfikacja wyszła całkiem przyzwoita (błąd ogólny na poziomie 10%, dużo lepiej niż w przypadku klasyfikacji lewica vs. PO). Ciekawe są główne kryteria wyróżniające obie partie: wprowadzenie głosowania przez internet (PO niemal jednomyślnie za, PiS raczej przeciw), zmiana finansowania partii (PiS przeciw, PO raczej za), jednomandatowe okręgi wyborcze, szkoła dla sześciolatków (PiS przeciw, PO raczej za), zezwolenie funkcjonariuszom PRL na zajmowanie wysokich stanowisk (PiS przeciw, PO pół na pół), i wreszcie bezwzględny zakaz aborcji (PiS 28 za, 14 przeciw; PO 3 za, 39 przeciw).
Podsumowując, najbardziej w tych analizach zaskoczyło mnie to, do jakiego stopnia deklarowane poglądy kandydatów z różnych formacji mogą się pokrywać. Jestem też zaskoczony tym, że kwestia aborcji nie staje się głównym wyróżnikiem (ani wszyscy na lewicy nie są za całkowitą dopuszczalnością, ani wszyscy w PiSie czy JKM nie są za całkowitym zakazem). Ciekawe jest też to, że główne różnice w deklarowanych odpowiedziach dotyczą światopoglądu, stosunku do kościoła itp., a wyjąwszy JKM nie dotyczą spraw gospodarki, edukacji i całego mnóstwa spraw.
To ostatnie wynika po części też z faktu, że posłowie rzadziej wybierali te dziedziny do odpowiedzi (więc w mniejszym stopniu można zaobserwować różnice). Jest to niestety efekt sposobu w jakim przeprowadzono ankietę. Ledwie 151 kandydatów (z 718, których mam w zestawie danych) odpowiadało na pytania o politykę zagraniczną albo sprawy europejskie; tylko 129 na pytania o rolnictwo, 122 na pytania o energetykę, 76 na pytania o politykę migracyjną. Ochrona zdrowia? Odpowiedziało 220 kandydatów. Racja, przecież to taki niezbyt ciekawy temat (w analizie PCA tego działu główna komponenta odpowiada jednemu tylko pytaniu: o finansowaniu służby zdrowia ze środków prywatnych).
Co zrobić, przecież nie można wymagać od kandydata czy kandydatki na posła Sejmu RP, żeby informowali swoich potencjalnych wyborców o wszystkich swoich poglądach na różne sprawy – bądź ich braku.
Jeszcze by ich nie wybrali.
Komentarze
Komentarz: asmoeth, 2011-10-06 17:59:15:
January! Jak pięknie, że wróciłeś. W tych mrocznych czasach, wypełnionych smutkiem, obawami o przyszłość i rozgoryczeniem z powodu meltdownu TTDKN, twój blog jaśnieje jak supernowa.
Komentarz: robmar, 2011-10-06 18:09:06:
Szybkim wnioskiem z tego i z poprzedniej notki o głosowaniach wydaje się być potwierdzenie podejrzenia, że większość z posłów nie ma poglądów, bo nic nie rozumie. Jeśli coś zdoła zapamiętać, to powtarza, ale tak zasadniczo to chcą się dostać i głosować tak jak im każą, reszta pikuś. Ale może wyciągam zbyt daleko idące wnioski…
Komentarz: January, 2011-10-06 21:18:18:
No wielkie dzięki, ale nie pokładaj we mnie nadziei. To wyborcze wydanie specjalne, wynika z tego, że akurat blog był pod ręką. Nie mam czasu, żeby go regularnie prowadzić.
Komentarz: January, 2011-10-06 21:19:59:
Z drugiej strony, powyższe wyniki falsyfikują tezę lansowaną przez prawicę, że istnieją dwie grupy ludzi, które nigdy się nie dogadają. Ani tych grup wyraźnie nie widać, ani – jeśli już – nie są tylko dwie. Czyli nawet optymistycznie.
Komentarz: anuszka, 2011-10-06 21:30:31:
Gdy przeglądałam paru przykładowych kandydatów na mamprawowiedziec.pl, to zauważyłam, że wypełniali oni ankietę dość mało wiarygodnie:
Nie tak, jak głosowaliby w sejmie. Np. ktoś z PSL zaznaczył, że najważniejsza jest dla niego energetyka jądrowa, podczas gdy skądinąd wiadomo, że szef PSL jest związany z przemysłem węglowym. Wiadomo, że w razie głosowania osobiste poglądy pana posła mogą pójść w kąt.
Pod wyborców:
- Np. ktoś z PO odpowiadał na jakieś pytanie na “nie” (nie pamiętam, co to było za pytanie, ale bo był to temat, w którym większość wyborców raczej byłaby na nie), po czym w komentarzu napisał objaśnienie, które wskazywało, że w rzeczywistości jest właśnie na “tak”.
- A np. ktoś z PiS zignorował (nie zrozumiał?) polecenia “wybierz tylko jedną odpowiedź” i zakreślił wszystkie.
Punkt 2. są to wybiegi, dzięki którym gdy internauta się przetestuje na zgodność poglądów na tym portalu, to wyjdzie mu większa zgodność z kandydatem stosującym wybieg. Podobne sztuczki widziałam na innym polskim portalu oferującym takie testy. Więc niestety ja bym tych ankiet nie traktowała poważnie. Analiza treści głosowań byłaby moim zdaniem jednak bardziej miarodajna.
Komentarz: January, 2011-10-07 07:56:59:
Ad (1) tak, to prawda! Dlatego obrazki tutaj i w poprzednim wpisie są takie różne. Oczywiście. Ale mnie bardziej interesowało badanie ich światopoglądu.
(2) to zapewne też, niestety, prawda. Jestem przekonany np. że PO de facto zbliżyłoby się do JKM w wielu kwestiach, gdyby odpowiadali szczerze.
Ale tym ciekawsze będzie porównanie wyników ankiety i głosowań dla tych kandydatek i kandydatów, którzy dostaną się do Sejmu – oby ich było jak najwięcej, bo im większa grupa, tym lepsza analiza :-)
Analiza treści głosowań, no kurczę, gdybym miał na podorędziu narzędzia do takiej analizy (a nie musiał się najpierw wgłębiać w literaturę)… ale tak na kolanie i w przerwie między głównymi zajęciami to nie da rady.
Komentarz: globalnysmietnik, 2011-10-07 09:15:13:
Słuchałem kiedyś audycji radiowej poświęconej ankietowaniu posłów - było tam pytanie o czytaną literaturę. Wielu posłów wymieniło Marię Konopnicką.
Komentarz prowadzącego badania był taki, że to deklaracja ideowa i sygnał do potencjalnego wyborcy a nie rzeczywiste zainteresowanie twórczością Marii Konopnickiej.
Podobnie jest z tą ankietą. Nie wiem jaki procent potencjalnych posłów rzeczywiście przemyślało swoje stanowisko w sprawach ładu społecznego, koncepcji państwa, wie co na ten temat mówił Monteskiusz a co Franklin, Adam Smith, Keynes, czy Francis Fukuyama.
Większość kandydatów jak też i wyborców (mam takie wrażenie) tak naprawdę opowiada się za koncepcją ustroju klienckiego (jak w XVIII w). Władza państwowa ma rozdawać różne dobra (przede wszystkim dawać pracę w quasi-rynkowych instytucjach) i przez to zjednywać sobie wyborców. Z różnych powodów koncepcje państwa klienckiego często podobają się wyborcom i zwyciężają - częściowo stało się to u nas.
Komentarz: January, 2011-10-07 09:24:40:
Po części tak, i dlatego ciekawie będzie sprawdzić w przyszłości, jakim predyktorem głosowań są odpowiedzi w ankiecie.
Niemniej jednak gdyby tak naprawdę w stu procentach było, to odpowiedzi w obrębie partii byłyby chyba bardziej jednolite.
Komentarz: Maciej Zientarski, 2011-10-11 17:54:41:
na wstępie szczere gratulacje z mojej strony za zajęcie se tematem analiz sceny politycznej z zastosowaniem statystyki.
Co do samych analiz dziwi mnie, że cały czas posługujesz się techniką głównych składowych, przecież ta technika, służy bardziej tworzeniu skal i redukcji baterii wielu zmiennych do kilku wyjaśniających składowych (czynników).
Z tego co czytam, próbujesz klasyfikować, grupować (przyszłych) posłów, czy nie lepiej do tego celu użyć analiz klasyfikacyjnych? ja bym tu widział trudno interpretowalną analizę hierarchiczną, bądź pasującą jak ulał analizę k-średnich.
Komentarz: anuszka, 2011-10-11 19:55:21:
Już pisałam, jak to fajnie poczytać tutaj o różnych metodach, których dotąd nie znałam. Mam takie pytanie z ciekawości: Właśnie rzuciłam okiem na opis analizy k-średnich i nie do końca rozumiem - z tego co widzę, ta metoda wymaga założenia z góry, ilu klastrów szukamy. Ale w problemie opisywanym tutaj liczba klastrów nie jest znana i ją właśnie chcielibyśmy poznać. Czy mógłbyś to skomentować?
Komentarz: January, 2011-10-12 07:30:52:
Analizę hierarchiczą zastosowałem w poprzedniej notce.
Nie zgodzę się, że k-means pasuje “jak ulał”. W skrócie: po pierwsze, nie chcemy klastrować. Po drugie, nawet jeśli, to akurat k-means nie pasuje. Po trzecie, związki między k-means i PCA oznaczają, że tak naprawdę nie możemy oczekiwać nowych odpowiedzi. Po czwarte – jeśli już, to albo zrobiłbym k-means na zredukowanych wymiarach, albo przynajmniej użył PCA do wizualizacji. Inaczej k-means też byłyby trudne do interpretacji.
Klasyfikację już mam (komitety wyborcze), interesuje mnie czym się – i do jakiego stopnia – te klasy różnią (dlatego później stosuję uczenie nadzorowane, a konkretnie random forests).
K-means w tym wypadku w ogóle mogłoby być problematyczne, bo k-means oczekuje klastrów podobnej wielkości.
W ogólności, te dwie techniki (klastrowanie i PCA) nie są zamienne. Można powiedzieć, że przy pomocy PCA wizualizujesz zmienność w danych, żeby klastrować “na oko”. Klastrowanie może zastąpić taką analizę “na oko”, ale nie pozwoli Ci na dobrą wizualizację w kilkusetwymiarowej przestrzeni, dlatego często kombinuje się PCA i klastrowanie używając PCA do wizualizacji utworzonych klastrów.
PCA i k-means są i tak ze sobą matematycznie powiązane (patrz np. Ding & He tu czy tu). Czasem najpierw redukuje się wymiary przy pomocy PCA, a następnie przeprowadza klastrowanie za pomocą k-means.
PCA jest więc moim zdaniem znakomitą metodą do rozpoczęcia analizy takich danych, ponieważ naszym pierwszym celem jest redukcja wymiarów. Dobra wizualizacja, łatwa interpretacja. K-means zrobiłbym co najwyżej dodatkowo. Moim następnym krokiem – po PCA i RF – byłoby jednak PLS-DA albo coś podobnego.
@Anuszka: to nie jest problem, przeprowadza się analizę dla szeregu parametrów przyjmując jakąś diagnostykę – miarę dobrego podziału na klastry i patrzy się, jak ta miara zmienia się w zależności od liczby klastrów.