百分率の推定

例えば、こんな報道があったとしましょう。*1

アメリカの対イラク政策支持率は 68.4% です。」

「随分高い支持率だな」などと呑気な事を言っているあなた、この数字が
\frac{13}{19}=0.6842\ldots
から作られたものだったとしたらどうですか。途端に「何だ、19 人中の 13 人か」と思うでしょう。
本題はここからです。「19 人中 13 人が支持した」という事実から、全体の支持率が大体どのくらいなのか計算できないでしょうか。
まず、「あなたはアメリカの対イラク政策を支持しますか ?」という質問に、Yes か No かのいずれかで答えてもらうことにします。そうしておいて
\Omega=\{\text{Yes},\text{No}\}
という確率空間を作り、確率変数 X_i:\Omega\to\mathbb{R}
X_i(\omega)=\left\{\begin{array}{cl}1&(\omega=\text{Yes})\\0&(\omega=\text{No})\end{array}\right.
で定義します。このとき、全体の対イラク政策支持率を p とすれば X_i\sim B(1,p)、これはベルヌーイ(Bernoulli)試行です。従って n 人にこの質問をして、「Yes」と答える人の数は
X=\sum_{i=1}^n X_i\sim B(n,p)
と、二項分布に従うことになります。二項分布の確率は、確率密度関数をうまいこと変形してやることで、F 分布の確率を用いて計算できます。今、第 1 自由度 n , 第 2 自由度 m の F 分布の上側 \alpha% 点を F^n_m(\alpha) で表すことにします。
さて、上記の質問を n 人に行って、x 人が「Yes」と答えたとしましょう。このとき
F_1=F^{2(n-x+1)}_{2x}(0.025),F_2=F^{2(x+1)}_{2(n-x)}(0.025)
とすると、信頼係数 95% の信頼限界は
\frac{x}{(n-x+1)F_1+x},\frac{(x+1)F_2}{(x+1)F_2+n-x}
で求められます。n = 19 , x = 13 として計算してみましょう。青木さんのサイト「おしゃべりな部屋」にある CGI で計算してみると
F_1=2.41708,F_2=2.97926
です。従って信頼係数 95% の信頼区間は [0.434,0.874] となります。このようにして作った区間が、本当の支持率 p を含んでいる確率が 95%、というわけです。*2だから、実際の支持率は半分を切っているかもしれませんし、逆に 8 割近い人が支持している可能性もあるわけです。大体、高々 19 人に聞いたくらいで支持率がわかるなら苦労はしません。だから実際には、無作為に選んだ、もっと多くの人に答えてもらって、より信頼できる数字を出そうとするわけです。

*1:これはあくまでもたとえ話であって、実話ではないので真に受けないでください。

*2:勘違いする人が多いのですが、この場合、p は私達が知らないと言うだけで先天的に与えられており、確率変数ではありません。むしろ信頼区間の方が確率変数なのです。