统计学20:二项分布2

统计学•目录 统计学•类别 math


二项分布

随机变量是一种映射关系.还是以上一节投掷硬币情况为例
$$X=\begin{cases}
0& \text{全为正面},\\
1& \text{有$1$次为正面},\\
2& \text{有$2$次为正面},\\
3& \text{有$3$次为正面},\\
4& \text{有$4$次为正面},\\
5& \text{全不为正面}.
\end{cases}$$

把上概率整理如下图表:

事件 事件
$P(X=0)$ $\frac{1}{32}$ $P(X=3)$ $\frac{5}{16}$
$P(X=1)$ $\frac{5}{32}$ $P(X=4)$ $\frac{5}{32}$
$P(X=2)$ $\frac{5}{16}$ $P(X=5)$ $\frac{1}{32}$

图片

如果投掷的次数非常的多,把它们的概率值用曲线描出来,就是一根钟形曲线.
在离散中是二项分布,在连续中它是正态分布.

图片

人们经常对特定事物进行假设(很多时候我们无法知道事物机理),假设很多随机事物在进行,把这些随机事件加起来,就像掷硬币数正面这样(假设为事件的发生符合二项分布或正态分布).

在绘制第二张图表的代码中,你会发现我定义了一个函数,而不是一个一个枚举出对应的概率值,这说明它是可以被总结出公式的.
还记得上一节我在最后的$P(X=5)$求解时,把系数(后面是每次独立发生的概率值)写了$C_5^5$吗?

$C_n^m$表示从$n$个元素中挑选出$m$个元素(无序)的可能.(也可以理解为从$n$次实验中发生$m$次同事件的可能)

二项式系数公式

$$(_m^n)=C_n^m = \frac{n!}{m!(n-m)!}$$

也可以继续上一节那个分析,$\frac{A_n^m}{A_m^m}$记为$C_n^m$

有了二项式系数其实就是从$n$次实验中发生$m$次同事件的可能种类数,然后它乘一每次事件的概率就是我们求的$P(X=m)$.
那么二项式分布$X~B(n,p)$的公式就来了:
$$P(k,n,p) = P(X=k) = (_k^n)p^k(1-P)^{n-k}$$

投掷5次硬币的代码

import numpy as np 
import matplotlib.pyplot as plt 
from mpl_toolkits.axisartist.axislines import SubplotZero

x = np.arange(0, 6, 1)
y = [1/32, 5/32, 10/32, 10/32, 5/32, 1/32]
xticks = np.arange(0, 6, 1)
yticks = ['1/32', '5/32', '10/32', '10/32', '5/32', '1/32']

fig = plt.figure(figsize=(7, 5), dpi=120, facecolor='#FF9966', edgecolor='c') 
ax1 = SubplotZero(fig, 1, 1, 1, axisbg='#FF9966')
fig.add_subplot(ax1)
ax1.grid(axis='y', color='c', linestyle='-.')
ax1.axis['right', 'top'].set_visible(False)
plt.yticks(y[:3],yticks[:3])
plt.xticks(xticks)
plt.ylim(0, 5/16+0.08) 
plt.xlim(-1, 6) 

width = 0.96
ax1.bar(x-width/2, y, width, color='m', alpha=0.3, yerr=0.01,error_kw={'ecolor': '0.3'},)

for s, f, i  in zip(yticks, y, x):
    ax1.annotate(s, xy=(i-0.3, f+0.012))

plt.show()

增加投掷次数的代码

import numpy as np 
from math import factorial
import matplotlib.pyplot as plt 
from mpl_toolkits.axisartist.axislines import SubplotZero


def binomial(n, k):
    return factorial(n) / (factorial(k) * factorial(n - k) * pow(2, n))


x = np.arange(0, 101, 1)
n = np.zeros(len(x))
n += len(x)-1
y = [binomial(n, k) for n, k in zip(n, x)]

fig = plt.figure(figsize=(7, 5), dpi=120, facecolor='#FF9966', edgecolor='c') 
ax1 = SubplotZero(fig, 1, 1, 1, axisbg='#FF9966')
fig.add_subplot(ax1)
ax1.grid(axis='y', color='c', linestyle='-.')
ax1.axis['right', 'top'].set_visible(False)
plt.xlim(30, 70) 

width = 0.96
ax1.bar(x-width/2, y, width, color='m', alpha=0.2)

ax1.plot(x, y, 'b--')

plt.show()

博主个人能力有限,错误在所难免.
如发现错误请不要吝啬,发邮件给博主更正内容,在此提前鸣谢.
Email: JentChang@163.com (来信请注明文章标题,如果附带链接就更方便了)
你也可以在下方的留言板留下你宝贵的意见.


上一篇
统计学21:二项分布3 统计学21:二项分布3
统计学•目录 统计学•类别 math 二项分布来看上一节留下的公式$$P(X=k) = (_k^n)p^k(1-P)^{n-k}$$ 可能已经明白了二项系数$(_k^n)$什么意思,这里说一下为什么是概率是$p^k(1-P)^{n-k}
2018-12-25
下一篇
统计学19:二项分布1 统计学19:二项分布1
统计学•目录 统计学•类别 math 二项分布看一下掷硬币的问题 掷一次硬币正面或者反面发生的概率都是$\frac{1}{2}$ 掷五次硬币或者一次掷五个硬币(每个硬币正反 独立的,每次硬币独立的,怎么操作都一样.),记出现正面的数
2018-12-25
目录