開発のヒホ

iOSとかAndroidとかのアプリを開発するのに四苦八苦するブログ

”大阪都構想の賛否を問う住民投票”に有意差はあったのか

 2015年5月17日、大阪都構想に賛成するか反対するかで住民投票が行われ、反対705585票、賛成694844票となり、「大阪市は都構想に反対する」という選択をしました。
 http://www3.nhk.or.jp/news/html/20150517/k10010082861000.html

 投票数1400429あるなか、票数の差は10741と0.77%しか違いません。1%未満の差に民意は反映されているのでしょうか。練習がてら、統計的に調べてみます。使用言語はMATLABです。

sansei = 694844;
hantai = 705585;
all = sansei + hantai
% all = 1400429

 検定は、賛成か反対をランダムに選ぶ(確率0.5)のときの二項検定で行います。対立仮説を「反対票数は賛成票数より有意に多い」、帰無仮説を「反対票数は賛成票数より有意に多いとは言えない」とします。この場合、片側検定なのでP値は『全票数1400429のうち、反対票数が705585より少なくなる確率』を1から引いてやれば求まります。有意水準を5%にすると、このP値が0.05以下であれば、反対票数は賛成票数より有意に多いことになります。

 MATLABは二項分布関数をbinocdfで求められます。

P = (1-binocdf(hantai-1,all,0.5))
% P = 2.8866e-15

 ・・・。もっとわかりやすく表示してみます。

P = num2str(P, '%0.20f')
% P = 0.00000000000000288658

 P値は約0.000000000000003です。有意水準5%よりも圧倒的に低いです。つまり反対票数は賛成票数より有意に多いことになります。

 数が多いとここまで有意な差が見られるんですね。非常に驚きました。1%未満の差ですが、まあ間違いなく偶然の産物ではないでしょう。