2019年7月21日の参議院選挙で興味深いデータがあったので統計解析してみた.データはツイッター(@PokersonT)で見つけたものであるし,選挙のくわしい事情などは確認してないので,あくまでデータ解析の練習と考えてほしい.データは新潟県の投票総数と山田太郎の得票数である.次のように37の市や区に分かれている.
このデータを整数に丸めて統計解析する.横軸に投票総数,縦軸に得票数をプロットする.1=長岡市,2=上越市,...,37=粟島浦村と番号をつけてある.赤い直線は平均得票率=0.797%を表している.2番の上越市だけが大きく下にずれているようにみえる.そこで「新潟県のすべての地域で投票傾向が同じでミスなどもなかったという前提条件」を仮定したうえで,統計解析をしてみる.
上の図で,緑の線分は95%の確率で得票数がとる値の範囲を示している.つまり同じ条件で選挙を何度もやったとき,95%の確率でこの区間に得票数がはいる.上越市以外はすべて95%区間にはいっているが,上越市だけが大きく下にずれている.詳細を確認するために,上越市の得票数の確率分布(ヒストグラム)をみると...
この図では赤い直線が実際に観測した上越市の得票数=82である.ヒストグラムの左端にギリギリはいるくらいの位置に赤い直線がある.82かそれより小さい値をとる確率を計算すると0.0083%であった.82は平均より大幅に小さいが,逆に平均より大きくなる可能性も考えて確率を2倍したものを,事後確率=0.017%とする.つまり,82という得票数になることは,きわめてめずらしい現象ということになる.ほんとうに珍しいことが起こったのかもしれないが,前提条件が満たされてなかった,と判断するのが自然だろう.
参考のために,3番めの中央区の得票数の分布をみると,実際の得票数=830を示す赤い直線は分布の平均よりすこし右にあって,これが珍しい得票数でないことがわかる.事後確率も22.5%と普通にありえる数値だ.つまり中央区ではとりたてて気になることはない.
ただしここでは多重検定の調整を行っていない.新潟県でも37地域あり,それぞれ候補者が何人かいる.だから個別に見ると珍しい現象でも,全体でみればどこかでそれが起こる確率はかなり大きくなる.事後確率=0.017%の場合,37地域のどこかでこれがおこるとした調整はもとの数値を37倍して0.62%となる.候補者も何人かいるし,全国どこかでそのような事が起こる確率は結構大きくなるはずだ.いわゆるp-hackingなどともいわれる行為と同じになるため,判断は慎重にする必要がある.
ここでの統計解析はベイズ推測を行っているが,一種の統計的仮説検定による推測も行った.検定のp値は中央区では21.1%とベイズ事後確率とほぼ同様の値になる.上越市以外ではすべてベイズ推測の事後確率と仮説検定のp値はほとんど同じ値になる.上越市の場合だけは2つの値がややことなるが,どちらも十分に小さい,という点で結論は一致する.用いた手法の性質上,事後確率が非常に小さい場合はその値自体の信頼性はややおちる.事後分布のサンプリングでは144000回の得票数を乱数を用いて生成しており,事後確率=0.017%という値の精度(標準誤差x2)はせいぜい0.007程度と見積もれる.
統計モデルでは投票総数は固定しておき,得票数は各地域で2項分布に従うことを仮定している.2項分布の成功確率は地域ごとに異なる値をとり,それはベータ分布に従うことを仮定している.ベータ分布のパラメータは新潟県全体で同じと仮定している.
データ解析はRのstanを用いて行った.プログラムコードとデータをまとめたzipファイルはここからダウンロードできる.そこに含まれる分析結果のHTMLファイルとPDFファイルもそれぞれダウンロードできる.
追記(2019/7/26)上越市の82票が外れ値かどうかを調べるための追加のデータ解析として,2番の上越市を取り除いて36地域のデータだけから事後分布をつくり,そのうえで上越市の得票数の予測分布と事後確率を計算してみた.本来の予測分布のつかいたとしては,このほうが正しい.
すると,上越市の得票数82は事後分布のヒストグラムから外れすぎていて,確率が0と計算される.サンプリング数が144000だから,1/144000よりずっと小さければ0と計算されてしまう.p値も極めて小さい.当初の計算では上越市の得票数が外れ値だったとすると,その影響が大きすぎて得票数の分散が過大評価されていたため予測分布がひろがっていた.それを取り除くと上越市の得票数はますます珍しい結果とみなされる.したがって結論は昨日の分析と変わらない.
追加したプログラムコードをまとめたzipファイルはここからダウンロードできる.そこに含まれる分析結果のHTMLファイルとPDFファイルもそれぞれダウンロードできる.
追記(2019/07/27)プロットに矢印をいれてわかりやすくしました.