はしくれエンジニアもどきのメモ

情報・Web系技術・Englishの勉強メモ・備忘録です。

どの党派が小池百合子氏を再選させたかをベイズ推定する

[選挙統計]どの党派が小池百合子氏を再選させたかをベイズ推定する

都知事選が2020年7月5日にありました. 大差で小池百合子氏が再選しました. 今回は小池百合子氏に投票した内どの党派が多いかをベイズ推定で計算します.

結論からいうと無党派層(小池氏に投票した5割が無党派層)です.

※なお,筆者は都内在住ではないので投票に参加していません

※また,この記事は選挙開票が終わった後にpublishしており公職選挙法に反するものではないことを明記しておきます.

計算するための定義・仮定

ベイズで計算するために以下を定義します.

  • 今回の都知事選のX氏の得票率(確率)を$P(X氏)$とする.
  • 都内で選挙権のある人がY党派である割合(確率)を$P(Y派)$とする
  • 都内でY党派のうちX氏に投票した割合(確率)を$P(X氏|Y派)$とする.
  • X氏の得票率のうちY派である割合(確率)を$P(Y派|X氏)$とする.(今回求めるもの)

X氏の得票率のうちY派である割合を求めるベイズの式は


\begin{eqnarray}
P(Y派|X氏)
&=& \frac{P(X氏,Y派)P(Y派)}{P(X氏)}\\
&=& \frac{P(X氏|Y派)P(Y派)}{P(X氏)}
\end{eqnarray}

となります.

※ここで$P(X氏,Y派)$は都内の選挙権がある人中でX氏に投票してかつY党派である割合(同時確率)

例えば,小池氏の得票率のうち自民派である割合(確率)は以下の式で求められる.


\begin{eqnarray}
P(自民|小池)
&=& \frac{P(小池,自民)}{P(小池)} \\
&=& \frac{P(小池|自民)P(自民)}{P(小池)}
\end{eqnarray}

この計算にあたって特に必要なデータは

  • 都内で選挙権のある人がY党派である割合
  • 都内でY党派のうちX氏に投票した割合

になる.が,正確なデータはないので以下の仮定をおく.

  • 都内で選挙権のある人がY党派である割合$P(Y派)$ ≒全国の政党支持率(つまり,都内の政党支持率と全国区の政党支持率がほぼ等しい)
  • 都内でY党派のうちX氏に投票した割合$P(X氏|Y派)$≒都内でY党派のうちX氏に投票する予定の割合 (東京新聞が投票予定先を調査していたのでこれを使う.)

データ

NHKによる政党支持率

全国の政党支持率データとしてNHKの最新のものを利用する.

調査概要: - 調査期間 6月19日(金)~21日(日) - 調査方法 電話法(固定・携帯RDD) - 調査相手 全国18歳以上 2,202人 - 回答数(率) 1,270人(57.7%)

NHKによる政党支持率

整形処理として,"支持なし"と"わからない、無回答"をまとまめて「無党派」とする. また,東京新聞の投票予定先データと合わせるために"日本維新の会","社民","N国"をまとめてその他にまとめる.

表にまとめ直すと以下になる.

政党名 支持率[%]
自民党 32.5
公明党 4.3
立憲民主党 5.6
国民民主党 0.6
共産 1.7
れいわ 0.6
その他 5.1
無党派 49.6

投票予定先(東京新聞

今回は東京新聞が調査したデータを使う.

【調査の方法】6月26~28日、都内の有権者を対象にコンピューターで無作為に選んだ番号に電話をかける方法で行い、実際に有権者がいる家庭につながった1457件のうち1030人から回答を得た。各設問の回答の比率は小数点以下第2位で四捨五入しており、総計が100%にならない場合がある。

東京新聞の調査した投票先予定データ

※今回の0%になっている(ex.国民民主党派の中で宇都宮氏に入れる予定が0)のはデータが足りなく観測ができていないと考えるべきである.

※この0%はナイーブベイズではよく誤差をもたらす.対処としてカウントデータではsmoothing処理を入れることが多いが,今回は0のまま扱う.

小池氏に入った割合

小池氏の得票率は59.70[%]でした.

小池氏の得票率のうち各党派の割合の計算式は以下のようになります.


P(小池 | 自民) = 73.4[\%] \\\\
P(自民) = 32.5[\%] \\\\
P(小池) = 59.70[\%]

\begin{eqnarray}
P(自民|小池)
&=& \frac{P(小池,自民)}{P(小池)} \\\\
&=& \frac{P(小池|自民)P(自民)}{P(小池)} \\\\
&=& \frac{0.734 \cdot 0.325}{0.5970} \\\\
&=& 39.96[\%]
\end{eqnarray}

\begin{eqnarray}
P(公明|小池)
&=& \frac{P(小池|公明)P(公明)}{P(小池)} \\\\
&=& \frac{0.873 \cdot 0.043}{0.5970} \\\\
&=& 6.29 [\%]
\end{eqnarray}

\begin{eqnarray}
P(無党派|小池)
&=& \frac{P(小池|無党派)P(無党派)}{P(小池)} \\\\
&=& \frac{0.601 \cdot 0.496}{0.5970} \\\\
&=& 49.93 [\%]
\end{eqnarray}

\begin{eqnarray}
P(立憲民主|小池)
&=& \frac{P(小池|立憲民主)P(立憲民主)}{P(小池)} \\\\
&=& \frac{0.561 \cdot 0.056}{0.5970} \\\\
&=& 5.26 [\%]
\end{eqnarray}

\begin{eqnarray}
P(国民民主|小池)
&=& \frac{P(小池|国民民主)P(国民民主)}{P(小池)} \\\\
&=& \frac{0.629 \cdot 0.006}{0.5970} \\\\
&=& 0.63 [\%]
\end{eqnarray}

\begin{eqnarray}
P(共産|小池)
&=& \frac{P(小池|共産)P(共産)}{P(小池)} \\\\
&=& \frac{0.214 \cdot 0.017}{0.5972} \\\\
&=& 0.61 [\%]
\end{eqnarray}

\begin{eqnarray}
P(れいわ|小池)
&=& \frac{P(小池|れいわ)P(れいわ)}{P(小池)} \\\\
&=& \frac{0.075 \cdot 0.006}{0.5972} \\\\
&=& 0.08 [\%]
\end{eqnarray}

5位で四捨五入

この計算結果を表にまとめる.

P(Y派|小池) 割合[%]
P(無党派|小池) 49.93
P(自民|小池) 39.96
P(公明|小池) 6.29
P(立憲民主|小池) 5.26
P(国民民主|小池) 0.63
P(共産|小池) 0.61
P(れいわ|小池) 0.08
102.76

※今回は正確なP(X氏|Y派)とP(Y派)を使ってないのでぴったり100にならない.

最も高いのは約50%の無党派層であることがわかります.

計100にならないので無党派を1とする比で見てみます.

P(Y派|小池)
P(無党派|小池) 1
P(自民|小池) 0.800
P(公明|小池) 0.126
P(立憲民主|小池) 0.105
P(国民民主|小池) 0.0126
P(共産|小池) 0.0122
P(れいわ|小池) 0.0016

可視化すると,

ベイズによる小池氏の得票率の推定

今回は,X氏に投票したかつY党派である同時確率の周辺化により, 実は小池氏の得票率を前もってベイズ推定できました.

式にすると


\begin{eqnarray}
P(X氏)
&=& \sum_{i=1}^{N} P(X氏, Y_{i}派)\\
&=& \sum_{i=1}^{N} P(X氏|Y_{i}派)P(Y_{i}派)
\end{eqnarray}
  • ※$N$を全党派の数とする(今回は7).
  • ※なお,"日本維新の会","社民","N国","その他の党派"の方々が誰に投票予定かのデータはないので$P(X氏|その他の党派)=0$としているに等しい.

例えば,小池百合子氏の得票率をベイズ推定すると,


\begin{eqnarray}
P(小池)
&=& \sum_{i=1}^{N} P(小池|Y派)P(Y派)\\\\
&=& P(小池|自民)P(自民)\\\\
&+&P(小池|公明)P(公明)\\\\
&+&P(小池|立民)P(立民)\\\\
&+&P(小池|国民)P(国民)\\\\
&+&P(小池|共産)P(共産)\\\\
&+&P(小池|れいわ)P(れいわ)\\\\
&+&P(小池|無党派)P(無党派)\\\\
&=& 61.3 [\%]
\end{eqnarray}

なんと誤差+2%程である.

このことから, - 小池氏への投票予定先データ通りに投票行動した人が多かった - また,全国区の政党支持率と都内の政党支持率はほぼ変わらなかった

といえる.

※ただし,他の候補者例えば宇都宮氏や山本氏で同様に計算すると, P(X氏|Y派)=0の部分もあるので誤差は大きめになる.

まとめ

今回の計算が可能になったキモは, 東京新聞の行った投票予定先データです. 一応,公職選挙法の138条の2で規定されている"人気投票の公表の禁止"では 実際の投票結果でなければセーフとという判断のようですが,今回の計算結果をみると予定先のデータでもかなり情報として有用かつ危険であることがわかります.

今回のようにベイズ推定できると,投票の意義を感じず投票行動を阻害する可能性があるので今後規制が入ってもおかしくないような..

計算に使ったコード: GitHub - Cartman0/tochijisen-20200705: 選挙統計 20200705の都知事選の分析