0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

統計学の基礎 二項分布・正規分布・信頼区間

Last updated at Posted at 2022-08-27

この記事は、正規分布の説明と利用方法を記載しています。

読者は、次の問題がわかる人を前提にしています。
Q.「平均60点で標準偏差15点の算数のテストがあったとき、偏差値60だった人は何点をとっていますか?」
A. 正解は「75点」


二項分布

参考: 統計学の基礎

成功確率 p の事象を n 回試行したときの成功回数 r の分布を r ~ B(n, p) と書く.

成功回数が r となる確率 Pr[r ] は,
n 回の試行で r 回成功する 場合の数が nCr 通りで, r 回成功し n-r 回失敗するので,

$$
\begin{align}
$P_r[r]={}_n C _r p^r (1-p)^{n-r}
\end{align}
$$

となる.また、確率分布の平均と分散は

$$
\begin{align}
\mbox{平均: } \bar{x} &= np & \\
\mbox{分散: } s^2 &= np(1 - p) & \\
\end{align}
$$

である.


例題

A 選手は 3 割バッターである.ある試合で 5 回打席に立ったときときのヒット数の分布を求める.
この場合,p=0.3,n=5である.

$$
\begin{align}
\mbox{5打数ノーヒットの確率:} & \mbox{ヒットが出ない確率は,1-0.3=0.7なので,求める確率は} & \\
P_r[0] &=0.7^5 &=0.16807\\
\mbox{5打数1安打の確率:}P_r[1] &= {}_5 C _1p(1-p)^4 & =5×0.3×0.7^4=1.5×0.2401 =0.36015 \\
\mbox{5打数2安打の確率:}P_r[2] &= {}_5 C _2 p^2(1-p)^3 & =(5×4)/(2×1)×0.3^2×0.7^3 =0.3087 \\
\mbox{5打数3安打の確率:}P_r[3] &= {}_5 C _3 p^3(1-p)^2 & =(5×4×3)/(3×2×1)×0.3^3×0.7^2=10×0.027×0.49 =0.1323 \\
\mbox{5打数4安打の確率:}P_r[4] &= {}_5 C _4 p^4(1-p) & =5×0.34×0.7=3.5×0.0081 =0.02835 \\
\mbox{5打数5安打の確率:} P_r[5] &= p^5 & =0.35 =0.00243 \\
\end{align}
$$

これより,ヒット数の分布は以下の表のように書ける.

ヒット数 0 1 2 3 4 5
確率 0.16807 0.36015 0.3087 0.1323 0.02835 0.00243

の形で表現される.

このとき,確率分布の平均と分散は,
$$
\begin{align}
\mbox{平均: } \bar{x} &= x_1p_1 + x_2p_2 + \cdots + x_np_n = \sum_{i=1}^{n}{x_ip_i} & \\
\mbox{分散: } s^2 &= (x_1 - \bar{x})^2p_1 + (x_2 - \bar{x})^2p_2 + \cdots + (x_n - \bar{x})^2p_n = \sum_{i=1}^{n}(x_i - \bar{x})^2p_i
\end{align}
$$
と定義される.
これより,ヒット数の平均と分散は,

$$
\begin{align}
\mbox{平均: } \bar{x} &= 0\cdot0.16807+1\cdot0.36015+2\cdot0.3087+3\cdot0.1323+4\cdot0.02805+5\cdot0.00243 & \\ &= 1.5 \\
\mbox{分散: } s^2 &= (0-1.5)^2\cdot0.16807+(1-1.5)^2\cdot0.36015+(2-1.5)^2\cdot0.3087+(3-1.5)^2\cdot0.1323+(4-1.5)^2\cdot0.02805+(5-1.5)^2\cdot0.00243 & \\ &= 1.05
\end{align}
$$

と計算される.

実は,成功確率 p の事象を n 回行ったときの二項分布 B(n,p) の平均と分散は
$$
\begin{align}
\mbox{平均: } \bar{x} &= np & \\ &= 5\cdot0.3 & \\ &= 1.5 \\
\mbox{分散: } s^2 &= np(1 - p) & \\ &= 5\cdot0.3\cdot0.7 & \\ &= 1.05 \\
\end{align}
$$
となることがわかる.


二項分布が正規分布に近づく様子

成功確率 p の二項分布は,試行回数 n を増やしていくと,平均 np,分散 np(1 - p) の正規分布 に近づく.左図が確率分布(密度)で,右図が累積分布である.

binormal1.png

binormal2.png

binormal3.png

binormal4.png

z-table.png

t分布

標本nが小さい(n<30)とき母集団を推定するときは、
t分布を用いて、自由度は n-1 として計算する

t-table.png


二項分布の応用

参考:統計データ解析A

視聴率調査

問い①

ある番組の視聴率とは、無作為に抽出された世帯を標本として調査し、視聴率としている.
n 世帯を無作為に抽出して、視聴率の標準偏差を 1% 以下にするには、n は最低でもいくらでなければならないか?

解答

「抽出された n 世帯のうち、その番組を見ている世帯の数」を X
「抽出された n 世帯のうち、その番組を見ている世帯の割合」を X/n = p^ (ハット:推定値)
とする.

X は確率変数で二項分布B(n, p)に従うので、

X の平均は np
X の分散は np(1-p) となる.

このとき X/n についての平均と分散も、すでに定まっている.
平均については、確率変数 X がいっせいに 1/n 倍されるので
$$
\mbox{(X/n の平均)} = \frac{1}{n} × np = p
$$
分散については、
$$
\mbox{(確率変数の分散の定義)}=\sum_{i=1}^n (\mbox{}X_i\mbox{のとりうる値} - \mbox{平均})^2 \times \mbox{(その値をとる確率)}
$$
の定義を眺めると、Xのとりうる値すべて と 平均(期待値) が 1/n 倍され、その差を2乗したものなので
$$
\mbox{(X/n の分散)}=\frac{1}{n^2} × np(1-p) = \frac{p(1-p)}{n}
$$
である.
( 余談だが、別の表現では「すべての世帯(実際は不明)」を n 世帯 ごとに小分けして調査していくと、 確率変数としての p^ は二項分布に従う。ともいえる )

分散から標準偏差を求めることができるので
$$
(\hat{p}\mbox{の標準偏差})=\sqrt{\frac{p(1-p)}{n}}
$$
このとき、標準偏差を1%以下にするには
$$
\sqrt{\frac{p(1-p)}{n}}\leqq0.01 \\
\mbox{すなわち} \\
n \geqq 10000p(1-p)
$$
となる n を探す。

p(1-p)の最大値は 1/4 (p=1/2のとき)※なので
※p(1-p) は (0, 0)と(1, 0)を通る上に凸な2次曲線. かつpは0から1の範囲をとりうる.→ p(1-p)の最大値は1/4

$$
\begin{align}
n & \geqq 10000 \times \frac{1}{4} \\
n & \geqq 2500 \cdots \mbox{(答え)}
\end{align}
$$


問い②

100 世帯を無作為に抽出して調査すると、ある番組を見ていたのは 20 世帯だった.
「全世帯のうち、その番組を見ていた世帯」の割合を p とするとき、
p の95%信頼区間の視聴率は 何%~何% か?

また、1000 世帯を調査して、その番組を見ていた世帯が 200 世帯だった場合はどうか?

解答

「抽出された n 世帯のうち、その番組を見ている世帯の数」を X とすると
X は確率変数で二項分布B(n, p)に従う.
(中心極限定理により平均値の周辺に質量が多く分布する)

また、 n が十分に大きいとき、X の確率密度は正規分布に近似する(ド・モアブル=ラプラスの定理)
(正規分布へ近似はn>30が目安。 n のサイズが小さいときは t分布として解く)

X の確率密度の標準偏差を σ とすると、正規分布表より |z|=1.96 のとき確率分布の95%を占めるので

$$
\hat{p}-1.96×\sigma \leqq p \leqq \hat{p}+1.96×\sigma \\
\mbox{すなわち} \\
\hat{p}-1.96×\sqrt{\frac{p(1-p)}{n}} \leqq p \leqq \hat{p}+1.96×\sqrt{\frac{p(1-p)}{n}} \\
p\mbox{と}\hat{p}\mbox{は近いはずなので}p\mbox{を}\hat{p}\mbox{で置き換えると} \\
\hat{p}-1.96×\sqrt{\frac{\hat{p}(1-\hat{p})}{n}} \leqq p \leqq \hat{p}+1.96×\sqrt{\frac{\hat{p}(1-\hat{p}}{n}} \\
$$

n = 100, p^=0.2 なので

$$
0.2-1.96×\sqrt{\frac{0.2(1-0.2))}{100}} \leqq p \leqq 0.2+1.96×\sqrt{\frac{0.2(1-0.2)}{100}} \\
0.1216 \leqq p \leqq 0.2784 \\
\cdots \mbox{(答え)}
$$

1000 世帯を調査して、その番組を見ていた世帯が 200 世帯だった場合、
n = 1000, p^=0.2 なので
$$
0.1752 \leqq p \leqq 0.2247
$$
『精度が高まり、誤差の範囲が縮まった』……(答え)
(一般にn を大きくすると精度が高まり誤差の範囲が縮まる)

なお、答えの計算にはpythonを使用

# 確率分布の下限と上限を返す関数
import math
def get_error_min_max(n, p_, z=1.96):
    sigma = math.sqrt(p_*(1-p_)/n)
    min_ = p_-z*sigma
    max_ = p_+z*sigma
    return 'min: {}, max: {}'.format(min_, max_)

# 100 世帯を調査して 20 世帯が番組を見ていたとき、 95% 信頼区間の下限と上限
# ⇛ n=1000, p^=0.2, z=1.96のとき
print(get_error_min_max(n=100, p_=0.2, z=1.96))
# 1000 世帯を調査して 20 世帯が番組を見ていたとき、 95% 信頼区間の下限と上限
# n = 1000 p^=0.2 z=1.96のとき
print(get_error_min_max(n=1000, p_=0.2, z=1.96))

選挙の開票途中で「当確」

投票者数10万人の選挙で候補者A, Bが争う.
開票数が 10000 のとき A は5050票 B は4950票であった。

問い①

候補者A, Bの最終得票率 p_a, p_b を信頼区間 95%で表わせ。

解答

現在の得票率をそれぞれ p_a^, p_b^ とすると
p_a^ = 5050 / 10000 = 0.505
p_b^ = 4950 / 10000 = 0.495
となり最終得票率もこれに近いと推定する。

最終得票率 p は95%の確からしさで
$$
\hat{p} \pm 1.96×\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}
$$
の範囲に入ると推定できるため

print(get_error_min_max(n=10000, p_=0.505, z=1.96))
print(get_error_min_max(n=10000, p_=0.495, z=1.96))
# min: 0.49520049001225064, max: 0.5147995099877494
# min: 0.48520049001225063, max: 0.5047995099877494

問い②

候補者A に当選確実を出すには、開票数がいくつを超えたときか?
(※95%以上の確からしさをもつ予測を以て当選確実とする)

解答

P_a^ の下限が 50%を超えたとき、
95%の確からしさで候補者 A が当選確実といえるので、
(候補者が3人なら (P_a^ の下限) > (P_b^ の上限) かつ (P_a^ の下限) < (P_c^ の上限)かな?)

$$
\hat{p_a} - 1.96×\sqrt{\frac{\hat{p_a}(1-\hat{p_a})}{n}} \geqq 0.5
$$
となる n を探す。p_a^ = 0.505 なので、

$$
\begin{align}
0.505 - 1.96×\sqrt{\frac{0.505(1-0.505)}{n}} &\geqq 0.5 \\
-0.9799×\sqrt{\frac{1}{n}} &\geqq -0.005 \\
\sqrt{\frac{1}{n}} &\geqq 0.00510256 \\
\frac{1}{n} &\geqq 0.000025 \\
n &\geqq 40000 \cdots \mbox{(答え)} \\
\end{align}
$$

正確には
n = 38413 のとき0.50000005 < p_a^

print(get_error_min_max(40000, .505))
print(get_error_min_max(40000, .495))
# min: 0.5001002450061253, max: 0.5098997549938747
# min: 0.4901002450061253, max: 0.4998997549938747
print(get_error_min_max(38413, .505))
# min: 0.5000000547734237, max: 0.5099999452265763
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?