Benutzer:Rüdiger/LQFB
Inhaltsverzeichnis
Quellen
Sebastian Jabbusch Magisterarbeit
Sockenpuppen
Stellen wir einmal den Verdacht in den Raum, daß jemand die Kontrolle über etliche Accounts erhalten hat, und jetzt Abstimmungen manipuliert. Dise Accounts würden dann im LQFB ein ähnliches Verhalten zeigen. In einer geeigneten Statistik würden sie als Gruppe auftauchen, die ein "ungewöhnliches" Verhalten zeigt. Eine Schwierigkeit wäre es, sie von einem normalen politischen "Flügel" zu unterscheiden.
Vorgehen
Wir nehmen den DB Dump vom 12.10 und beschränken uns auf die letzten 300 abgeschlossenen Themen. Also alle zwischen lfpp.de/t1758 und lfpp.de/t2852.
Dann definieren wir uns eine "politische Entfernungen" zwischen je zwei Accounts: Die Summe der absolute Abweichungen zwischen je zwei Stimmen (Enthaltungen zählen wie ein Ja/Nein Paar) zur gleichen Initiative geteilt durch die Anzahl aller von beiden abgestimmten Initiativen Dabei berücksichtigen wir sowohl die direkt abgegebenen Stimmen, als auch jene durch Delegation.
Hat eine Gruppe von Accounts einen Abstand von fast 0 kann es sich also um Sockenpuppen handeln.
Vorbereitung
Wir sammeln zunächst alle abgegebenen Stimmen
create table ext_all_votes as select member_id,weight,issue_id,initiative_id,grade,delegated from ( select dvo.member_id, dvo.weight,dvo.issue_id,v.initiative_id, v.grade, 1 delegated from delegating_voter dvo join vote v on dvo.issue_id=v.issue_id and v.member_id =dvo.delegate_member_ids[array_length(dvo.delegate_member_ids,1)] and dvo.issue_id>=1758 union select dv.member_id, dv.weight, dv.issue_id, v.initiative_id, v.grade, 0 delegated from direct_voter dv join vote v on dv.issue_id=v.issue_id and dv.member_id=v.member_id and dv.issue_id>=1758 ) Sub order by initiative_id,member_id
Und prüfen einmal was wir haben
select count(1) votes, count(distinct member_id) member, avg(weight) weight, count(distinct issue_id) issues, count(distinct initiative_id)inis, avg(grade) grade, avg(delegated) delegated from ext_all_votes
Votes Member Weight Issues Inis Grade delegated 206538 3310 1.8563896232170351 300 506 0.38269470993231269791 0.46331909866465250947
Die 300 Themen bestanden also aus 506 Inis und wurden von 3310 Accounts abgestimmt. Ca 46% aller Stimmen wurden von Delegierten abgegeben.
Dann aggregieren wir nach Accounts
create table ext_member_stat as select member_id, count(1) votes, avg(weight*1.0) weight, sum(delegated) delegated from ext_all_votes group by member_id order by 1
Und schauen uns einmal kurz an, wieviele Accounts wieviele Stimmen abgegeben haben:
select votes, count(1) member, avg(votes) votes, avg(weight) weight, avg(delegated) delegated from ext_member_stat group by votes order by 1
Bild: membernach votes
Bild Member nach Votes Cumu
20% aller Accounts haben also nur ein oder zwei mal abgestimmt. 50% aller Accounts haben also nur 16 mal oder weniger abgestimmt.
Und berechnen die Abstände
create table ext_member2member as select m1, m2, (diff +2.0*(ems1.votes+ems2.votes-2.0*c))/(1.0*ems1.votes+ems2.votes-c) dist, (diff*1.0/c) dist2, diff, c,ems1.votes votes1, ems2.votes votes2 from ( select v1.member_id m1, v2.member_id m2, sum(abs(v1.grade-v2.grade)) diff, count(1) c from ext_all_votes v1 join ext_all_votes v2 on v1.initiative_id=v2.initiative_id and v1.member_id<v2.member_id group by v1.member_id, v2.member_id ) Sub join ext_member_stat ems1 on m1=ems1.member_id join ext_member_stat ems2 on m2=ems2.member_id insert into ext_member2member (m1,m2,dist,dist2,diff,c, votes1,votes2) select m2, m1,dist, dist2,diff, c, votes2, votes1 from ext_member2member where m1<m2
Delegationsempfehler
Mit vergleichbaren Abstimmungsverhalten
LQFB Bugtracker Das kann Feature kann man nur ausprobieren, wenn man sich den DB Dump lädt, und in einen PostgreSQL Server einspielt. Dann die vorgeschlagene Prozedur anlegen und mit der eigenen member_id und einer area_id aufrufen.
ggf Schalter ob nur "direct_voter" oder auch die transitiv weiterdelegierten Votes
Nach Abstimmung zu kontroversen Inis
[ http://dev.liquidfeedback.org/trac/lf/ticket/1240 LQFB Bugtracker ]
Kann man vermutlich auch asynchron anbieten. Sich also irgendeinen Code basteln, der da statisches HTML (oder Wiki) generiert, daß man mal einfach irgendwo hinlegt.
Liste der Top Delegierten
[ http://dev.liquidfeedback.org/trac/lf/ticket/1309 LQFB Bugtracker ]
Auf den BPTs
Wo sich sowas finden läßt
Chemnitz
| LQFB | BPT | Anträge | In Prozent (als Bruch) |
|---|---|---|---|
| ok | ok | 20 | 77% (20/26) |
| ok | abgelehnt | 6 | 33 % |
| nein | ok | 3 | 30% (3/10) |
| nein | abgelehnt | 7 | 70% |
| Quorum nicht erreicht | ok | 3 | 100% (3/3) |
| Quorum nicht erreicht | abgelehnt | 0 | 0% |
| ohne LQFB | ok | 9 | 56% (9/16) |
| Ohne LQFB | abgelehnt | 7 | 44% |
Offenbach
| Gruppe | Anträge | davon in Offenbach angenommen | Erfolgsquote |
|---|---|---|---|
| Antragsfabrik | 21 | 8 | 38% |
| LQFB angenommen | 17 | 9 | 53% |
| 3 oder mehr Antragsteller | 9 | 4 | 44% |
| Antrag von AG | 4 | 3 | 75% |
| LQFB abgelehnt oder Quorum ne | 4 | 0 | 0% |
| von Einzel Pirat | 39 | 17 | 44% (8 Anträge von 17 zurückgezogen!) |
| mehr als eine Gruppe | 8 | 6 | 75% |
| Alle Anträge in Offenbach | 79 | 33 | 42% |
Quelle waren die beiden inoffiziellen Ergebnislisten die hier
http://wiki.piratenpartei.de/Bundesparteitag_2011.2 verlinkt sind.
Danach bin ich durch das Antragsportal gesurft, um mir die
entsprechenden Infos zusammen zu suchen. Datei:Bpt20112.ods
LPTNDS in Delmenhorst
Hauptquelle waren die Ergebnisse des ELWS Verfahrens aus NDS:Landesparteitag/2012.3 , die ich anhand des Protokolls ergänzt habe. Es wurden bis kurz vor Beginn des LPTs Anträge eingereicht, was teilweise auf Missmut stieß. Anträge die während des LPTs heftig bearbeitet wurden, habe ich nicht in die Auswertung aufgenommen, da mich ja primär der Weg vor einem PT interessiert.
Mein Arbeitssheet (Open Office) liegt hier Datei:NDS-LPT-2012.3-ELWS-extended.ods
| Gruppe | Anträge | davon behandelt | davon angenommen | ELWS Meinungsbild |
|---|---|---|---|---|
| Die zuerst eingereichten P001-P060 | 60 | 14 | 11 (78%) | 71% |
| Die zweiten P061-P120 | 60 | 20 | 17 (85%) | 75% |
| Die dritten P121-P180 | 60 | 21 | 19 (90%) | 71% |
| Die zuletzt eingereichten P181-P240 | 60 | 21 | 18 (85%) | 75% |
| Alle Anträge | 240 | 77 | 65 (84%) | 73% |
Zu Beginn der Veranstaltung wurden Anträge im Losverfahren auf die TO gesetzt. Nach der Auszählung wurde im zweiten Teil das ELWS Verfahren angewendet.
| Gruppe | Anträge | davon behandelt | davon angenommen | ELWS Meinungsbild |
|---|---|---|---|---|
| Los | . | 28 | 19 (67%) | 74% |
| ELWS | . | 48 | 46 (95%) | 89% |
LQFB Inis habe ich nur für die behandelten Anträge rausgesucht
| Gruppe | Anträge | davon behandelt | davon angenommen | ELWS Meinungsbild |
|---|---|---|---|---|
| Im LQFB abgelehnt oder Quorum n.e. | . | 4 | 3 (75%) | 77% |
| Im LQFB angenommen | . | 27 | 24 (88%) | 86% |
Da zweitweise die TO gelost wurde, kann man das EWLS Meinungsbild ebenfalls zur Gruppenbildung nutzen:
| Gruppe | Anträge | davon behandelt | davon angenommen | ELWS Meinungsbild |
|---|---|---|---|---|
| ELWS Meinungsbild >=85% | 59 | 57 | 55 (96%) | 90% |
| 65%<=ELWS Meinungsbild <85% | 107 | 10 | 6 (60%) | 76% |
| ELWS Meinungsbild <65% | 69 | 9 | 4 (44%) | 56% |
Nach Typus des/der Antragssteller
| Gruppe | Anträge | davon behandelt | davon angenommen | ELWS Meinungsbild |
|---|---|---|---|---|
| AG | 21 | 9 | 8 (88%) | 80% |
| Sonstige Gruppen | 39 | 14 | 10 (71%) | 84% |
| Einzel Piraten | 175 | 53 | 45 (84%) | 72% |