Koreliacijos tarp partijų

Manoseimas.lt pateikia duomenis apie partijų balsavimus dvylika klausimų. Sudėjus visus duomenis į vieną CSV (kurį galima rasti http://petras.kudaras.lt/notebooks/manoseimas.csv) galima paskaičiuoti koreliacijas tarp partijų balsavimo:

data = read.csv2('/Users/petras/dev/manoseimas.csv', sep=',', header=T, row.names=1)
data = data/100
t(data[1:7,])
##                           TT   DP LSDP   AW LRLS   MG TSLK
## Šauktiniai              0.92 0.89 0.96 0.72 0.95 0.79 0.91
## Meras                   0.82 0.94 0.89 0.85 0.31 0.89 0.55
## Internetinis_balsavimas 0.49 0.80 0.91 0.11 1.00 0.74 0.22
## Darbo_kodeksas          0.91 0.79 0.98 0.15 0.95 0.41 0.42
## Švietimas               0.91 0.92 0.86 0.60 0.29 0.63 0.42
## Vaiko_teisės            0.74 0.78 0.91 0.44 0.76 0.40 0.34
## Alkoholis               0.59 0.53 0.55 0.68 0.44 0.75 0.82
## Pensijos                0.79 0.85 0.89 0.25 0.88 0.24 0.30
## Pabėgėliai              0.96 0.91 0.97 0.89 0.59 0.84 0.84
## Dviguba_pilietybė       0.94 0.90 0.94 0.83 0.91 0.81 0.64
## Asmenvardžiai           0.81 0.61 0.69 0.83 0.51 0.29 0.15
## Privati_informacija     0.76 0.76 0.81 0.59 0.75 0.63 0.74
kable(round(cor(t(data[1:7,])), 2))
TT DP LSDP AW LRLS MG TSLK
TT 1.00 0.57 0.50 0.45 -0.08 0.04 0.30
DP 0.57 1.00 0.85 0.07 0.10 0.36 0.13
LSDP 0.50 0.85 1.00 -0.23 0.51 0.12 0.00
AW 0.45 0.07 -0.23 1.00 -0.57 0.48 0.52
LRLS -0.08 0.10 0.51 -0.57 1.00 -0.19 -0.06
MG 0.04 0.36 0.12 0.48 -0.19 1.00 0.68
TSLK 0.30 0.13 0.00 0.52 -0.06 0.68 1.00

Mano paties rezultatai manoseimas.lt svetainėje mane nustebino, nes, pasirodo, mane geriausiai atstovauja Tvarkos ir Teisingumo partija. Iš tiesų, jų koreliacija su mano nuomone yra tampriausia.

kable(round(cor(t(data)), 2))
TT DP LSDP AW LRLS MG TSLK PETRAS
TT 1.00 0.57 0.50 0.45 -0.08 0.04 0.30 0.61
DP 0.57 1.00 0.85 0.07 0.10 0.36 0.13 0.12
LSDP 0.50 0.85 1.00 -0.23 0.51 0.12 0.00 0.07
AW 0.45 0.07 -0.23 1.00 -0.57 0.48 0.52 0.41
LRLS -0.08 0.10 0.51 -0.57 1.00 -0.19 -0.06 -0.01
MG 0.04 0.36 0.12 0.48 -0.19 1.00 0.68 -0.24
TSLK 0.30 0.13 0.00 0.52 -0.06 0.68 1.00 -0.07
PETRAS 0.61 0.12 0.07 0.41 -0.01 -0.24 -0.07 1.00

Pagrindinių komponenčių analizė

Nenuostabu, jog Facebooke daugelis save laikančių liberalais pamatė, jog jiems geriausiai atstovauja LSDP: liberalų koreliacija su šia partija tikrai geriausia. Bet matyt koreliacijos nėra viskas. Gal galima nupiešti partijų pozicijas vienoje koordinačių erdvėje? Tam galima panaudoti pagrindinių komponenčių analizę (principal component analysis) ir išskirti tiesiškai nepriklausomas komponentes. Tada galima pabandyti pavaizduoti partijas viename dvidimensiniame grafike.

  ggbiplot(prcomp(data[1:7,]/100, center=T), scale=0, 
           labels=rownames(data[1:7,]), var.axes=F)

Nieko keisto, kad koalicijos partnerės LSDP, TT ir DP balsuoja labai panašiai - jos ir glaudžiasi viename grafiko kampe. Tuo tarpu LRLS yra labai skirtinga opozicinė partija, ji patenka visai į kitą kampą nuo TSLK ar kitų opozicinių partijų. Kita vertus, nors LRLS ir geriausiai koreliuoja su LSDP, ji tolokai nuo jos nutolusi. Lygiai kaip ir nuo TSLK.

Tai į ką aš panašus?

Padariau interaktyvų grafiką: pastumdžius atsakymus, galima pastebėti, kaip artėjama ar tolėjama nuo vienos ar kitos partijos. Labiausiai nuo liberalų skiriuosi tuo, kad esu prieš internetinį balsavimą. Būtent šitas klausimas geriausiai atspindi radikalų skirtumą ašyje tarp lenkų AW ir LRLS ir labai stipriai mane atitolina nuo liberalų. Žaistis bus žymiai patogiau, jei atsidarysite šią nuorodą naujame lange: https://petras.shinyapps.io/manoseimas/