正しい選挙結果の見方

今回の参議院選では、121の議席が改選されました。73名が選挙区、48名が比例区です。参院選の選挙区は一票の格差衆院選より更に大きく、今回も鳥取県民は神奈川県民の5倍の権利を与えられました。

http://d.hatena.ne.jp/Chikirin/20100713

一目瞭然ですよね。今回の選挙で自民党がなぜゾンビのように復活してきたのか。権利富裕層の多く住む地方の“一人区”(定員一名のみの選挙区)で、今回、自民党は29戦21勝と圧勝しました。“一人が何票も持っている田舎を根こそぎ抑えたこと”、これが自民党勝利の大きな、そして唯一の理由です。

実は、この結果は肝心なことを忘れている。一人区と複数人区では、やっぱり価値が違うのだ。


では、一票の格差も地区ごとの人数の差もなかったときの選挙結果を見積もるにはどうしたらいいだろう。

選挙区についてこう考える。すべての都道府県には人口に比例した議席が与えられたとする。そして選挙区はすべて所属する都道府県から無作為抽出された一人区だけでできているとする。これならば、都道府県について対等な立場になっている。

つまり、するべきことは都道府県ごとの地域第一党を求めて、その都道府県の有権者数を数え上げることだ。そうすると以下のようになる。

都道府県名 その都道府県の有権者 地域第一党
北海道 4604561 民 主
青森県 1159140 自 民
岩手県 1109235 民 主
宮城県 1908319 民 主
秋田県 927048 自 民
山形県 966232 自 民
福島県 1659432 民 主
茨城県 2425880 民 主
栃木県 1630549 自 民
群馬県 1627796 自 民
埼玉県 5814689 民 主
千葉県 5045486 民 主
東京都 10620508 民 主
神奈川県 7294561 民 主
新潟県 1968798 民 主
富山県 903328 自 民
石川県 944297 自 民
福井県 653503 自 民
山梨県 702067 民 主
長野県 1758294 民 主
岐阜県 1688224 民 主
静岡県 3076711 民 主
愛知県 5829921 民 主
三重県 1503886 民 主
滋賀県 1106114 民 主
京都府 2098897 民 主
大阪府 7089288 民 主
兵庫県 4542923 民 主
奈良県 1154020 民 主
和歌山県 848458 自 民
鳥取県 485912 自 民
島根県 593860 自 民
岡山県 1577416 民 主
広島県 2326269 民 主
山口県 1208999 自 民
徳島県 658828 自 民
香川県 829698 自 民
愛媛県 1197915 自 民
高知県 640959 民 主
福岡県 4094102 自 民
佐賀県 688271 自 民
長崎県 1177396 自 民
熊本県 1488495 自 民
大分県 990648 民 主
宮崎県 933881 自 民
鹿児島県 1400358 自 民
沖縄県 1073963 自 民

これを集計すると、結果は

政党名 獲得有権者 この制度での議席 今回の議席 選挙制度による差
自民党 25492029 18 39 -21
民主党 78537106 55 28 17
みんなの党 0 0 3 -3
公明党 0 0 3 -3

となり、自民党の18議席に対して、民主党の55議席と圧勝になる。

ちなみに、比例代表は以下の通り。

党名 比例
民主 16
自民 12
みんな 7
公明 6
共産 3
社民 2
改革 1
たち 1

最後に、得票数第一党である都道府県を見比べておこう。

政党名 都道府県数 都道府県名 有権者
自民党 22 青森県秋田県山形県、栃木県、群馬県富山県、石川県、福井県和歌山県鳥取県島根県山口県徳島県香川県愛媛県、福岡県、佐賀県長崎県熊本県、宮崎県、鹿児島県、沖縄県 25492029
民主党 25 北海道、岩手県宮城県福島県茨城県、埼玉県、千葉県、東京都、神奈川県、新潟県山梨県、長野県、岐阜県静岡県、愛知県、三重県滋賀県京都府大阪府兵庫県奈良県岡山県広島県高知県大分県 78537106

民主党が大都市圏で強いことがよくわかる。そして、自民党は勝った22都道府県のうち、21都道府県が一人区だ。また、比例区の得票数にして、3割程度しか変わらないにも関わらず、議席数にすると3倍ほどの差にまでふくれあがる、一人区制の特徴がよく表れているよね。


7/15追記。
この話には続きがあって、二人区とみなすと、大阪で公明が3議席分とり、自民34議席、民主36議席となる。(ドント方式)

三人区だと、みんなの党と公明が3議席とり、自民が30議席、民主が37議席、という結果となる。


ようするに、選挙制度が政治をしているのであって、国民は政治に参加なんてしていないんですよー。

データ解析のお供に

perl -e 'for($i=1;$i<10;$i++){print `wget http://www.yomiuri.co.jp/election/sangiin/2010/kaihyou/ye0$i.htm`;sleep 3}'
perl -e 'for($i=10;$i<48;$i++){print `wget http://www.yomiuri.co.jp/election/sangiin/2010/kaihyou/ye$i.htm`;sleep 3}'
#!/usr/bin/ruby -Ku

require 'rubygems'
require 'hpricot'
require 'nkf'
require 'kconv'

h = Hash.new

open("voters.txt"){|io|
  while l=io.gets
    a,b = l.chomp.split(/\t/)
    h[a]=b.to_i
  end
}

s = (1..47).to_a.map{|i|
  i = if i < 10 then "0" else "" end + i.to_s

  a=Hpricot(open("ye"+i+".htm"){|io|io.gets(nil).toutf8})

  name = a.search("span[@class='f120']").inner_text
  voters = h[name] || h[name.chop] || h[name.chop.chop] || h[name.chop.chop.chop]
  j=0
  r = a.search("table[@id='candidates']").map{|b|
    h1=Hash.new{|hash,key|hash[key]=0}
    [
      (b.search("tr")[1..-1].
      map{|c|
      e = c.search("td[@class=vote]")
      e.search("div").remove
      e = e.inner_text.gsub(/[^0-9]/,"").to_i
      g = c.search("td[@class=party]").inner_text.toutf8
      g.gsub!(/\(.*\)/,"")
      g.gsub!(/[\s]/,"")
      if g == "諸 派" || g == "無所属" then g+=j.to_s;j+=1 end
      next if g==""
      h1[g] += e
      [
	e,
	g
      ]
    }),
    (a0=Array.new
     h1.each{|k,v|a0.push([v,k])}
     a0.sort{|a,b|b[0]<=>a[0]})
    ]
  }[0]

  [name,voters,r]
}
s.map{|name,voters,r|
  (r[1]+
   r[1].map{|x,y|[x/2,y]}+
   r[1].map{|x,y|[x/3,y]}).
   sort{|a,b|b[0]<=>a[0]}[0..2].map{|x,y|
    print name+"\t"+
      voters.to_s+"\t"+
      y+"\n"
  }
}

=begin
print "["+s.map{|name,voters,r|
  "(\"" + name + "\", " + voters.to_s + ",["+r.map{|a,b|"("+a.to_s+",\""+b+"\""+")"}.join(",")+"])"
}.join(",")+"]"
=end

一票の格差の許容限度

私は「一票の格差」の許容限度では「ルート2倍説」を提唱している。これは、日本の憲法学者があまりに平凡な数字しか出さないので、無理数である説もあっていいだろうと考えて提唱したものだ。
ルート2倍説の根拠は、一番人数の多い選挙区を二つに割るか、小さい選挙区を合併するかを繰り返すことによって、差をルート2倍以下にするアルゴリズムが存在することである。ルート2をとるかはともかく、アルゴリズムによって修正できるかを基準にするのは重要な視点だと思う。
ちなみに、アメリカの下院では1.4倍とほぼルート2倍が許容限度となっている。