Sugeneravęs diagramą apie Laisvės Partijos kandidatus į Seimą prisiminiau savo ankstesnę tinklo diagramą apie patį Seimą. Tada kilo idėja palyginti Seimo koalicijų paveikslą prieš karantiną ir po jo. Nežinau ko iš tokio palyginimo galima buvo tikėtis. Tokių duomenų analizių visas žavesys ir yra tas, kad iki pat tos minutės, kol paspaudi “run” nelabai žinai ką tiksliai pamatysi.
Intrigos sugadintuvas: kažkokių ypatingų netikėtumų nėra. Bet, nežiūrint to yra kažkas ir įdomaus.
Papostinęs į socialinius tinklus šias savo diagramas vis dar gaunu pastebėjimų, kad viskas čia labai sudėtinga ir neaišku. Na, man, kai jų tiek prigeneravau, tai beveik viskas aišku 🙂 Bet suprantu, kad reikia paaiškinimų kas kartą, kai ką nors panašaus padarau.
Pradėsiu nuo to kaip susirinkau duomenis. Čia gali būti ne visiems įdomu, tai pasiscrolinkit iki diagramų tiesiai 😉
Man šios mano diagramos labai įdomios ir labai patinka dar ir dėl to, kad kas kartą vis kažką išmokstu. Šį kartą išmokau patogiau susirinkti atvertus duomenis iš lrs.lt per jų pateiktą API. O tiksliau per va šitą servisą. Paprastai aiškinant, tai yra tiesiog kiekvieno balsavimo rezultatai pateikti XML formatu. Kiekviename tame XML’e yra ir jo schema, kuri yra visiškai tokia pati. Ūkiškai tariant: įvedus URL į browserio adresų langelį – gauni konkretų xml’ą – keičiant gale esantį skaičiuką – gausi vis kito balsavimo rezultatą. Tie skaičiai eina chronologiškai. Pvz. šių metų sausio mėnesio visi balsavimai yra nuo 37254 iki 37408 (viso 154 balsavimai). Ten taip pat yra ir šiek tiek šiukšlių – tuščių, kitokios schemos xml’ų. Bet juos lengva atskirti iš jų dydžio ir juos ištrinti.
Galvaskausmis yra šimtus tų balsavimų susirinkti. Copy/pastint į browserį ir siunčiant po vieną į kompą – labai ilgu. Aš tiesiog žinojau, kad yra paprastas būdas tą automatizuoti – reikia tik šiokių tokių programavimo įgūdžių. Bet aš jų neturiu, o jei turėjau, tai užmiršau. Man padėjo mano pažįstamas, partijos bičiulis, programuotojas – Rokas. Ačiū, Rokai! Rokas sako:
Aš dabar tik pagalvojau – tu Linux arba bash’a turi? Nes ten bashinis scriptas
Nu. Bash’as ir bashinis scriptas. Nu. Kas neaišku? 😉 Tai va tas bashinis scriptas, kurį jis man parašė:
for N in {-37254..-37408} do curl 'https://apps.lrs.lt/sip/p2b.ad_sp_balsavimo_rezultatai?balsavimo_id='$N --output $(echo "$N" | sed "s/-//")'.xml' done
Kodas labai neilgas ir gan aiškus: “N” yra kintamasis, kurio reikšmė gali būti aibė tarp {-37254..-37408}, tada tas “curl” atidaro url’ą, kurio pabaiga nuolat keičiasi, o kiekvienas xml’as atsisiunčia į tą katalogą iš kurio leidžiamas šitas scriptas. YZY! 😉 Ane?
Kita problema – ką daryti su tais šimtais, tūkstančiais XML’ų. Man reikia juos susidėti į excelį, kad galėčiau pasifiltruoti pagal balsavimus, užklijuoti frakciją prie vardo ir pan. Čia man padėjo visagalis Internetas. Kiek pavargus su paieškų frazėmis susiradau ADB merge excelio addin’ą. Tai yra olando, kuris dirbo Microsoft’e excelio developeriu ar kažkuo panašiu darbo vaisius. Ir tas daiktas daro būtent tai, ko man reikia! Paima daugybę xml’ų, iššifruoja jų schemą ir sudeda viską į excelį! Valio!
Visa kita jau įprasta rutina – sudėti duomenis į Gephi, paleisti “Force Atlas 2” algoritmą, paspalvinti pagal frakcijas, patiuninti šį bei tą ir – vualia!
Šis nuostabus tinklo diagramų apps’as ir tas dar nuostabesnis algoritmas išdėlioja duomenis diagramoje taip, kad panašius ryšius turintys apskritimai būriuojasi šalia. Jei norite detalesnių paaiškinimų, tai juos galite rasti mano ankstesniuose paaiškinimuose apie tas diagramas. Arba paklauskite čia komentaruose.
Tiems, kam neįdomu kaip, bet įdomu kas – čia sustokite scrolinti.
Pradžioje dvi diagramos apie tai kaip Seimo nariai nebalsavo iki karantino ir kaip nebalsavo jo metu. Tuose atsipūstuose duomenyse apie Seimo narių balsavimus yra ir duomenų apie nebalsavimus. Daugeliu atveju tai yra klausimai, kurie tiesiog nesvarstyti, bet yra ir tikrų nebalsavimų. Tiesa, nežinau ar ten registruotų į posėdį narių nebalsavimai ar ir neregistruotų. Tai gali reikšti šiek tiek skirtingus dalykus: jei registruotas posėdyje narys nebalsuoja, tai arba taip išreiškia savo poziciją arba miega, o jei neregistruotas – reiškia neatėjo į posėdį. Tai aš ir nežinau ką tai reiškia, bet gal kas nors iš LRS IT, jei netyčia čia užklys – galės gal pasakyti kas tuose xml’uose tiksliau?
Kaip iki karantininį laikotarpį ėmiau balsavimus nuo 2019-11-01 iki 2020-03-12, o kaip karantininį laikotarpį: nuo 2020-03-17 iki 2020-06-18. Man pasirodė, kad tai panašus kiekis balsavimų/nebalsavimų, kuriuos galima sulyginti.
Tas skaičiukas gale rodo dėl kiek balsavimų Seimo narys nebalsavo.
Šiek tiek refleksijos šioms diagramoms:
- Saulių Skvernelį iki karantino pakeitė Bronius Bradauskas karantino metu. Bet šitą visi, man regis, pastebėjo netgi televizoriuose.
- Agnė Bilotaitė viena iš lyderių tiek prieš tiek per karantiną. Kaip ir ponas Jaroslav Narkevič. Kaip ir Valerijus Simulik. Žodžiu didesni apskritimai ties 1 valanda.
- Viktoras Pranckietis irgi konsvervatyviai elgiasi – nebalsuoja panašiai tiek pat 🙂
- Valstiečių žali rutuliukai dauguma yra maži ir jie daugiau-mažiau panašioje vietoje, o tai reiškia, kad pareigingi ir nebalsuoja labai panašiai – tikriausiai strategiškai.
- Koalicijos nebalsavimuose yra ir konservatorių koalicijoje, bei visame kitame žvėryne.
Kiek nebalsavimų yra normalu, o kiek rodo pareigingesnį Seimo narį ar labiau tinginį padės štai šios diagramos:
Nepareigingiausi (viršutinė kvartilė) iki-karantininio laikotarpio Seimo nariai (skaičius rodo dėl kiek balsavimų Seimo narys nebalsavo):
TS-LKDF_MonikaNavickienė 844 LVŽSFMG_EgidijusVareikis 845 LVŽSF_KęstutisSmirnovas 846 LSDDFMG_PetrasČimbaras 857 LSF_VirgilijusAlekna 864 TS-LKDF_MantasAdomėnas 865 LSDPF_LiudasJonaitis 866 LSDPF_RamintaPopovienė 873 LVŽSF_RamūnasKarbauskis 878 TS-LKDF_GintarėSkaistė 882 LVŽSFMG_VirgilijusPoderys 903 TS-LKDF_LaurynasKasčiūnas 904 TS-LKDF_KęstutisMasiulis 905 FLGMG_AlgirdasButkevičius 911 LLRA-KŠSF_RitaTamašunienė 915 LSF_ViktorijaČmilytė-Nielsen 916 TS-LKDF_GabrieliusLandsbergis 926 LSDDF_ArtūrasSkardžius 943 LSDDF_GediminasKirkilas 962 MG_GintarasSteponavičius 967 LSDDF_AndriusPalionis 969 _ViktorasPranckietis 985 TS-LKDF_ŽygimantasPavilionis 998 LSF_KęstutisGlaveckas 1003 TS-LKDF_DainiusKreivys 1006 TS-LKDF_VytautasKernagis 1006 TS-LKDF_AndriusNavickas 1019 LSDPF_BroniusBradauskas 1027 MG_RemigijusŽemaitaitis 1057 TS-LKDF_EmanuelisZingeris 1110 LVŽSF_ValerijusSimulik 1118 LLRA-KŠSF_JaroslavNarkevič 1146 TS-LKDF_AgnėBilotaitė 1153 LSDDF_Linas AntanasLinkevičius 1180 TS-LKDF_RadvilėMorkūnaitė-Mikulėnienė 1181 LVŽSF_SauliusSkvernelis 1228
Nepareigingiausi (viršutinė kvartilė) karantino metu:
TS-LKDF_MonikaNavickienė 962 MG_MindaugasPuidokas 969 MG_AlgirdasButkevičius 975 LSDDFMG_ArtūrasSkardžius 976 LSDDFMG_PetrasČimbaras 980 LLRA-KŠSF_IrinaRozova 993 TS-LKDF_IngridaŠimonytė 996 LLRA-KŠSF_LeonardTalmont 1008 LSF_ViktorijaČmilytė-Nielsen 1010 LSDPF_AlgimantasSalamakinas 1011 MG_GintarasSteponavičius 1019 TS-LKDF_JustasDžiugelis 1025 TS-LKDF_KazysStarkevičius 1025 TS-LKDF_LaurynasKasčiūnas 1034 LVŽSMG_VirgilijusPoderys 1034 LSDDF_AndriusPalionis 1039 MG_KęstutisBartkevičius 1048 MG_Rimantas JonasDagys 1062 _ViktorasPranckietis 1064 TS-LKDF_IrenaDegutienė 1079 LSF_VirgilijusAlekna 1079 LVŽSFMG_EgidijusVareikis 1087 LSDPF_RamintaPopovienė 1110 MG_PetrasGražulis 1132 TS-LKDF_RadvilėMorkūnaitė-Mikulėnienė 1144 LLRA-KŠSF_JaroslavNarkevič 1151 TS-LKDF_AgnėBilotaitė 1157 TS-LKDF_DainiusKreivys 1165 TS-LKDF_AndriusNavickas 1169 LVŽSF_ValerijusSimulik 1198 LVŽSF_SauliusSkvernelis 1200 LSF_KęstutisGlaveckas 1213 LSDDF_Linas AntanasLinkevičius 1221 MG_RemigijusŽemaitaitis 1249 LSDPF_BroniusBradauskas 1397
Čia štai abu exceliukai, kur galima rasti kiekvieną Seimo narį su jo nebalsavimų skaičiumi:
Iki karantininiame periode buvo ~102 tūkstančiai nebalsavimų (arba nebalsavimo aktų ;)), o karantino periodu ~118 tūkstančių. Gal reikėjo dar kelias sesijas užgriebti iki-karantininio periodo, kad skaičius susilygintų labiau, bet manau, kad vidurkių statistikai tai žymios reikšmės neturi.
Jeigu jūs turite kokių nors kitokių ar tiesiog daugiau pastebėjimų – labai jų laukiu komentaruose.
Toliau – balsavimai “UŽ”. Arba tikrosios koalicijos, siekiant įgyvendinti savo dienotvarkes.
Pastebėjimai:
- Žymių skirtumų kaip ir nėra. Čia apie ką ir rašiau, kad intrigos didelės nėra.
- Viktoras Pranckietis gan užtikrintai juda tolyn nuo LVŽSF.
- Artūras Skardžius gan užtikrintai lenda gilyn į LVŽSF vidurį.
- Du rudi rutuliukai: Antanas Vinkus, Rimantė Šalaševičiūtė – stabiliai LVŽSF’e
- Rimantas Jonas Dagys pajudėjo link LVŽSF labiau.
Šiaip visi tie šviesiai pilki (mišri grupė) ir tamsiai pilki (matuojamu periodu pakeitę frakcijas) yra įdomiausi tikriausiai. Kokios jų trajektorijos. Žodžiu visos intrigos yra kažkur tarp 11 ir 1 valandos.
Balsavimai “PRIEŠ” – protesto koalicijos
Pastebėjimai:
- Protestų koalicijos beveik nepasikeitę per matuojamus periodus.
- Iki karantininiame periode didžiausias protestuotojas yra LVŽSF narys Jonas Jarutis. Gan keista sakyčiau. Prieš ką ir kodėl jis protestuoja?
- Iki karantininiame periode ir Tomas Tomilinas labai didelis protestuotojas. Tikriausiai prieš Neo-Liberalizmą protestuoja.
- Iki karantininiame periode gan ryški ir Aušrinė Armonaitė. Bet taip turi būti – gi opozicijoje. Ko nepasakytum apie konservatorių frakciją. Ji gan ryški ir perkarantininį periodą 😉
- Per karantininiame periode padaugėjo protestuotojų LVŽSF’e.
Na, o čia nuosaikiųjų, arba neapsisprendėlių koalicijos:
Pastebėjimai:
- Vytautas Bakas susilaiko truputėlį mažiau per karantiną. Savo pirmąją vietą iš iki karantino į per karantiną atiduoda Rimui Andrikiui
- Čia labiau sužimba konservatoriai savo nuosaikiuoju protestu (lyginant su balsais “prieš”).
Tiesą sakant šiek tiek pavargau žiūrėti ir galvoti ką šios diagramos dar įdomaus gali parodyti. Gal kiek pailsėjęs prisėsiu ir parašysiu daugiau pastebėjimų. Na, arba galbūt mano skaitytojai ką nors čia parašys. Labai laukiu.
Ir kaip visada, daugiau mano visokių schemų čia:
Schema #61
Schema #60
Schema #59
Schema #58