Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 16 additions & 20 deletions lectures/multi_hyper.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ kernelspec:

然后随机抽取 $n$ 个球。

选拔程序应该是**色盲的**,这意味着**球的质量**这一随机变量应该与**球的颜色**无关,决定一个球是否被抽中
决定一个球是否被抽中的选拔程序应该是**色盲的**,这意味着**球的质量**这一随机变量应该与**球的颜色**无关。

因此,选拔程序应该从箱子中随机抽取$n$个球。

Expand All @@ -66,7 +66,7 @@ kernelspec:

令$k_i$为抽取的颜色$i$的球的数量。

总数必须相加,所以$\sum_{i=1}^c k_i = n$。
抽取的球的总数是各颜色抽取的球的数量之和,所以$\sum_{i=1}^c k_i = n$。

在假设选拔过程根据提案质量进行判断,且质量与作者所在大洲无关的前提下,管理者将选拔程序的结果视为一个随机向量

Expand All @@ -76,7 +76,7 @@ $$

为了评估选择程序是否**色盲**,管理员想研究所抽取的$X$的特定实现是否可以合理地被认为是从**色盲**假设所暗示的概率分布中随机抽取的。

适当的概率分布是[这里](https://en.wikipedia.org/wiki/Hypergeometric_distribution)所描述的分布。
适当的概率分布是[这里](https://baike.baidu.com/item/%E8%B6%85%E5%87%A0%E4%BD%95%E5%88%86%E5%B8%83/4782968)所描述的分布。

让我们现在具体化管理员的问题,同时继续使用彩色球的比喻。

Expand All @@ -96,9 +96,7 @@ $$
X = \begin{pmatrix} k_1 \cr k_2 \cr \vdots \cr k_4 \end{pmatrix}.
$$

特别地,他想知道一个特定的

结果 - 以一个 $4 \times 1$ 的整数向量形式记录蓝色、绿色、黄色和黑色球的数量 - 包含了反对选择过程是*公平*的证据,这里*公平*意味着*色盲*且确实是从 $N$ 个球的总体中进行的无放回随机抽取。
特别地,他想知道一个特定的结果——以一个 $4 \times 1$ 的整数向量形式记录蓝色、绿色、黄色和黑色球的数量——是否包含反对选择过程*公平性*的证据,这里*公平*意味着*色盲*且确实是从 $N$ 个球的总体中进行的无放回随机抽取。

管理员的正确工具是**多元超几何分布**。

Expand All @@ -120,11 +118,11 @@ from scipy.stats import normaltest
from numba import jit, prange
```

总的来说,我们假设在一个坛子里总共有$c$种物品。
总的来说,我们假设在一个罐子里总共有$c$种物品。

如果坛子里有$K_{i}$个第$i$种物品,我们不放回地随机抽取$n$次,那么样本中第$i$种物品的数量$(k_{1},k_{2},\dots,k_{c})$服从多元超几何分布。
如果罐子里有$K_{i}$个第$i$种物品,我们不放回地随机抽取$n$次,那么样本中第$i$种物品的数量$(k_{1},k_{2},\dots,k_{c})$服从多元超几何分布。

再次注意,$N=\sum_{i=1}^{c} K_{i}$是坛子中物品的总数,且$n=\sum_{i=1}^{c}k_{i}$。
再次注意,$N=\sum_{i=1}^{c} K_{i}$是罐子中物品的总数,且$n=\sum_{i=1}^{c}k_{i}$是我们抽取的次数

**符号说明**

Expand All @@ -150,7 +148,7 @@ $$
$$
{\displaystyle \operatorname {Var} (X_{i})=n{\frac {N-n}{N-1}}\;{\frac {K_{i}}{N}}\left(1-{\frac {K_{i}}{N}}\right)}
$$

$$
{\displaystyle \operatorname {Cov} (X_{i},X_{j})=-n{\frac {N-n}{N-1}}\;{\frac {K_{i}}{N}}{\frac {K_{j}}{N}}}
$$

Expand All @@ -161,7 +159,7 @@ class Urn:

def __init__(self, K_arr):
"""
根据坛子中每种类型i物体的数量进行初始化
根据罐子中每种类型i物体的数量进行初始化

参数
----------
Expand Down Expand Up @@ -225,7 +223,7 @@ class Urn:
def simulate(self, n, size=1, seed=None):
"""
从多元超几何分布中模拟样本,每次抽取时
从坛子中不放回地取出n个物体
从罐子中不放回地取出n个物体

参数
----------
Expand All @@ -249,16 +247,14 @@ class Urn:

### 第一个例子

应用这个例子,来自[维基百科](https://en.wikipedia.org/wiki/Hypergeometric_distribution#Multivariate_hypergeometric_distribution):

假设一个骨灰盒中有5个黑色、10个白色和15个红色的弹珠。如果不放回地抽取六个弹珠,抽到每种颜色各两个的概率是
举例说明:假设一个罐子中有5个黑色、10个白色和15个红色的弹珠。如果不放回地抽取6个弹珠,抽到每种颜色各两个的概率是

$$
P(2{\text{ 黑色}},2{\text{ 白色}},2{\text{ 红色}})={{{5 \choose 2}{10 \choose 2}{15 \choose 2}} \over {30 \choose 6}}=0.079575596816976
$$

```{code-cell} ipython3
# 构造骨灰盒
# 构造罐子
K_arr = [5, 10, 15]
urn = Urn(K_arr)
```
Expand Down Expand Up @@ -296,7 +292,7 @@ n = 6

现在让我们回到拨款管理员的问题。

这里在箱子里的$i$个物品的数组是
在这里,罐子里中各类物品数量构成的数组是
$\left(157, 11, 46, 24\right)$。

```{code-cell} ipython3
Expand Down Expand Up @@ -356,7 +352,7 @@ np.cov(sample.T)

### 正态近似的质量

为了判断多元正态分布对多元超几何分布的近似质量,我们从具有相应多元超几何分布的均值向量和协方差矩阵的多元正态分布中抽取大量样本,并将模拟分布与总体多元超几何分布进行比较
为了评估多元正态分布对多元超几何分布的近似质量,我们考虑一个多元正态分布。这个多元正态分布具有跟我们关注的多元超几何分布相同的的均值向量和协方差矩阵,即$\mu$和$\Sigma$。 我们从这个多元正态分布中抽取大量样本,并将模拟得到的分布与总体的多元超几何分布进行比较

```{code-cell} ipython3
sample_normal = np.random.multivariate_normal(μ, Σ, size=size)
Expand Down Expand Up @@ -432,9 +428,9 @@ plt.show()

等高线图绘制了$\left(k_i, k_j\right)$的二元高斯密度函数,其中总体均值和协方差由我们上面计算的$\mu$和$\Sigma$的切片给出。

让我们也使用`scipy.stats.normaltest`对每个$k_i$进行正态性检验该检验实现了D'Agostino和Pearson的检验方法,将偏度和峰度结合起来形成正态性的综合检验。
让我们也使用`scipy.stats.normaltest`对每个$k_i$进行正态性检验该检验实现了D'Agostino和Pearson的检验方法,将偏度和峰度结合起来形成正态性的综合检验。

原假设是样本服从正态分布
零假设是样本服从正态分布

> `normaltest` 返回与每个 $k_i$ 样本测试相关的p值数组。

Expand Down
Loading