[EM] Proportionality vs utility: redoing 2008 with better units
Toby Pereira
tdp201b at yahoo.co.uk
Thu Sep 12 05:33:34 PDT 2024
Thanks again for producing all this. One thing I've just realised is that according to this metric, harmonic (and psi) voting continue to get more proportional as you go from D'Hondt to Sainte-Laguë and pass out the other side. Could this be a failing of the metric? Surely it should peak with Sainte-Laguë.
I'm also surprised at how much worse psi voting seems to perform than harmonic voting (which you mentioned). I would have expected harmonic to be better, but not by that much. I always told Warren that Reweighted Range Voting would be better with the KP-transformation though!
Toby
On Wednesday 11 September 2024 at 16:32:45 BST, Kristofer Munsterhjelm <km-elmet at munsterhjelm.no> wrote:
On 2024-09-11 14:32, Toby Pereira wrote:
> I have another couple of questions. You said that the zero points are
> what you'd get by picking candidates at random. But does this not depend
> on how the candidates are distributed?
Yes, that's right. All the results depend on the model, which currently
is a very simple binary one.
> Are they just uniformly spread across the voting space?
This is how the model works:
Let n be the number of issues for the issue space for this round. First
draw n random uniform numbers for where the ith number is how likely a
random voter is to hold the "yes" opinion on the ith issue. Call this
the bias vector.
Then assign the voters their issues by flipping biased coins, where the
bias is given by the bias vector.
Calculate the correct proportions of yes opinions across all the voters
and update the bias vector. Since the second step is random, we'll
hardly ever get an exact match to the bias vector proportions from the
first step. The bias vector needs to reflect the proportion of voters
who actually hold the yes position for proportionality calculations to work.
The first k voters are candidates, so the voters and candidates come
from the same distribution. This also means that the candidates
paricipate in the election too.
Random candidate just picks these k candidates at random. They're not
uniformly spread across the voting space since their yes/no opinions are
influenced by the bias vector just like the voters' are.
Each voter rates each candidate according to their Hamming distance,
i.e. number of points equals number of issues that they agree upon, plus
some small amount of noise.
> How did repeatedly electing the plurality loser end up so
> proportional?
I was thinking the reason was something like: if the opinion space is
flat (i.e. some issues are liked by some voters, others are liked by
other voters, with little correlation), then if you were to repeatedly
elect someone hated by a polarizing method, you would be electing
favorites of the "other camp".
But it turned out that wasn't actually the case. What I had called
"Worst Plurality" (electing the Plurality loser) was in fact worst
*Anti*plurality (electing the Antiplurality loser). And I suppose that
since Antiplurality has high VSE awful proportionality, reflecting it
got something that had proportionality but not utility.
That's why review is so important: it helps identify slip-ups and bugs.
Thanks for prompting me to investigate this.
With the bug fixed, I get the following results after 900 rounds, same
parameters:
Prop'ty Utility
-1.0518 -0.64366 Worst Plurality
0.36886 -0.86348 Worst Antiplurality
which makes a lot more sense. (They'll be slightly off compared to the
attached results since I didn't run more rounds, but the quadrants are a
lot more sensible.)
I'm not entirely sure why "elect the loser" flips the sign on both
proportionality and utility, though. You'd expect proportionality to be
more fragile and thus show bad results (VSE < 0) if you go around
electing hated candidates... but apparently not.
> Also would it be possible to post the result as the raw numbers in addition to the graph?
Sure. I've attached the following files:
harmonic.txt: Harmonic voting with different delta values
harmonic_extended.txt: Harmonic voting with delta > 1 (dashed line on graph)
isoelastic.txt: Isoelastic
psi.txt: Psi voting
qpq.txt: QPQ
others.txt: Other methods, for the full graph
selected.txt: Selected methods for the detailed graph
These are with 377k rounds.
I've marked the mistakenly thought to be Plurality loser results #Worst
Antiplurality#, to show that they're really electing Antiplurality losers.
The names in others.txt in particular require some explanation:
Method names containing a question mark have been imported more or less
directly from my old source; I have not fully checked them for bugs.
Maj[base]: Majoritarian/bloc voting using the "base" method. This just
elects the winner, second place, third place, etc. according the base
method.
Maj[Eliminate[base]]: Bloc voting using sequential loser elimination
with "base" as the base method. E.g. Eliminate[Plurality] is IRV,
Eliminate[Antiplurality] is Coombs.
Maj[AVGEliminate[base]]: As above, but eliminates every candidate with
below-average score for the round. Maj[AVGEliminate[Plurality]] is Craig
Carey's IFPP.
Cardinal-20: Range voting with a 0...20 scale. Absolute scale.
Cardinal-20(norm): Same, but normalized scale.
Ext-Minmin: the "max A>B" method: the winner is the one with the
greatest pairwise defeat over someone else.
ReweightA[positional method]: Like reweighted Range voting, but using
the positional method's points instead of ratings. Each voter's weight
is adjusted to be C / (C + Q), where Q is the sum of contributions to
elected candidates, with each contribution normalized so that maximum
number of points is mapped to 1, and minimum to 0; and C is an
adjustable parameter.
ReweightM[positional method]: When someone is elected, each voter's
current weight is multiplied by C / (C + Q), where Q is the sum of
contributions to that candidate.
Range-Auction, Q-Range STV, Linear Range STV, Quota Bucklin, Set PR
Bucklin, Compat-QLTD-PR, M-Set Webster: methods from my 2008 simulator;
I'm not quite sure how they work; they thus need more investigation. Of
these, only the Range STV versions and M-Set Webster seem to be good,
and I can probably throw out the rest unless other simulations show them
to be good.
DHwL[base]: D'Hondt without lists. The base method is used to pick the
next winner according to the modified pairwise matrix.
PSC-CLE: https://electowiki.org/wiki/PSC-CLE. "Quota = x" uses the quota
(num voters)/(num seats + x) instead of the Droop quota.
C-Elim[base]: As PSC-CLE, but using the base method's elimination order.
PSC-CLE is C-Elim[Schulze].
STV-ME (base): Generalization of BTR-IRV. Let N = (number of seats -
number already elected) + 1. When a candidate needs to be eliminated,
conduct an election between the N candidates with the least first
preference count, using the base method. Eliminate the loser of this
election. Note that STV-ME (Plurality) is not the same thing as plain STV.
R-Birational: Birational with a relative scale. (Just "birational" uses
an absolute scale.)
For positional methods, ER means equal-rank is counted whole, but this
rarely comes into play due to the noise being added to voters' ratings.
/fd means "first differences", i.e. ties for elimination are broken by
the first round where the candidates were not tied.
-km
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electorama.com/pipermail/election-methods-electorama.com/attachments/20240912/ebf76ab4/attachment.htm>
More information about the Election-Methods
mailing list