[EM] Modeling elections

Blake Cretney blake at condorcet.org
Wed May 1 18:54:30 PDT 2002


  I've recently been experimenting with modeling elections.  I'm 
particularly interested in models that take the view that there is a 
right answer, with voters varying in their ability to see the best 
solution.  This is quite different than looking at the election as an 
opportunity for each person to express the utility of an option to them, 
in the hopes of maximizing perceived utility.

Anyway, I approached the problem in an admittedly simplistic way.  I 
established 1 as being the ideal.  Each of 101 voters and 10 candidates 
were randomly assigned a value less than 1.  I assigned these numbers 
based on the left side of a normal distribution.  That is, I created a 
normal distribution with a mean of 1, and a standard deviation of .5, 
and ignored all values above 1.  I used a normal distribution on the 
assumption that voters tend to be drawn toward better solutions.

All votes are sincere in my model.  I assumed that people would prefer 
the candidate whose assigned value was closest to their own.  And when 
ranking, people would rank the closer candidates above those further 
away.  When "approving" of candidates for an approval election, voters 
approved of all candidates that were closer than the average for that voter.

I compared Borda, Plurality, Approval, Random Candidate, and Condorcet. 
 After randomly constructing a population of voters and candidates, I 
was able to find a winner according to each method.  That winning 
candidate has a value equal to its desirability.  The higher this value, 
the better the method was doing.  

Here's some example data.  The simulation was run for 10,000 rounds, the 
score is the average value of the winning candidate.  I wouldn't pay 
much attention to anything after the first two digits.

plurality 0.645185742888
approval 0.631756074554
borda 0.683807453742
random 0.597920774971
condorcet 0.664473653125

Borda does the best.  All methods do better than random.  One reason 
Borda does well is because the model assumes that the candidates (as 
well as the voters) are skewed to the good.  Since Borda encourages the 
running of candidates, and since there are in fact more good candidates, 
it isn't surprising that Borda comes out well.  To test this, I ran an 
example where the standard deviation of the candidate values, but not 
the voter values, is changed to 1.  This still skews candidates toward 
good, but it creates a much greater tail to the curve, which will result 
in more low and negatively valued candidates.

plurality 0.739428387791
approval 0.358133016904
borda 0.620321020809
random 0.204792214674
condorcet 0.662755661463

Condorcet is affected the least.  Borda drops behind Condorcet. 
 Plurality does much better, since the vote rich area at the top of the 
curve is split between fewer candidates.  Approval and random both 
suffer greatly from the change.  Next I tried selecting candidate values 
from an even distribution between 0 and 1.

plurality 0.755861511252
approval 0.556967014313
borda 0.628313630398
random 0.499027658001
condorcet 0.661973160665

Here's one last one.  I went back to the normal distribution, but set 
the candidate standard deviation to 0.25, resulting in a candidate field 
superior to the voters.

plurality 0.540424844931
approval 0.767877868695
borda 0.747518871757
random 0.788082777819
condorcet 0.668325197385

Not surprisingly, random candidate becomes the best.

Anyway, I hope I didn't make any errors.  If anyone is interested in my 
Python code, I'll post it on my web site.  I have a feeling not everyone 
is going to agree with the assumptions of my model, so let the debate begin.

---
Blake Cretney (vote.sourceforge.net)


----
For more information about this list (subscribe, unsubscribe, FAQ, etc), 
please see http://www.eskimo.com/~robla/em



More information about the Election-Methods mailing list