提交 d9ee4d44 编写于 作者: W wizardforcel

ch9.

上级 b7a686c3
......@@ -545,3 +545,119 @@ Table().with_column('Sample Median', medians).hist(bins=np.arange(0.5, 5, 1))
这意味着反复模拟随机过程是一种近似概率分布的方法,不需要在数学上计算概率,或者生成所有可能的随机样本。因此,计算机模拟成为数据科学中的一个强大工具。他们可以帮助数据科学家理解随机数量的特性,这些数据会以其他方式进行分析。
这就是这种的模拟的经典例子。
### 估计敌军飞机的数量
在第二次世界大战中,为盟军工作的数据分析师负责估算德国战机的数量。 这些数据包括盟军观察到的德国飞机的序列号。 这些序列号为数据分析师提供了答案。
为了估算战机总数,数据分析人员必须对序列号做出一些假设。 这里有两个这样的假设,大大简化,使我们的计算更容易。
+ 战机有`N`架,编号为 `1,2, ..., N`
+ 观察到的飞机从`N`架飞机中均匀、随机带放回地抽取。
目标是估计数字`N`。 这是未知的参数。
假设你观察一些飞机并记下他们的序列号。 您如何使用这些数据来猜测`N`的值? 用于估计的自然和简单的统计量,就是观察到的最大的序列号。
让我们看看这个统计量如何用于估计。 但首先是另一个简化:现在一些历史学家估计,德国的飞机制造业生产了近 10 万架不同类型的战机,但在这里我们只能想象一种。 这使得假设 1 更易于证明。
假设实际上有`N = 300 `个这样的飞机,而且你观察到其中的 30 架。 我们可以构造一个名为`serialno`的表,其中包含序列号`1``N`。 然后,我们可以带放回取样 30 次(见假设 2),来获得我们的序列号样本。 我们的统计量是这 30 个数字中的最大值。 这就是我们用来估计参数`N`的东西。
```py
N = 300
serialno = Table().with_column('serial Number', np.arange(1, N+1))
serialno
```
| serial number |
| --- |
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
(省略了 290 行)
```py
serialno.sample(30).column(0).max()
291
```
与所有涉及随机抽样的代码一样,运行该单元几次;来查看变化。你会发现,即使只有 300 个观测值,最大的序列号通常在 250-300 范围内。
原则上,最大的序列号可以像 1 那样小,如果你不幸看到了 30 次 1 号机。如果您至少观察到一次 300 号机,它可能会增大到 300。但通常情况下,它似乎处于非常高的 200 以上。看起来,如果你使用最大的观测序列号作为你对总数的估计,你不会有太大的错误。
### 模拟统计
让我们模拟统计,看看我们能否证实它。模拟的步骤是:
第一步。从 1 到 300 带放回地随机抽样 30 次,并注意观察到的最大数量。这是统计量。
第二步。重复步骤一 750 次,每次重新取样。你可以用任何其他的大数值代替 750。
第三步。创建一个表格来显示统计量的 750 个观察值,并使用这些值绘制统计量的经验直方图。
```py
sample_size = 30
repetitions = 750
maxes = make_array()
for i in np.arange(repetitions):
sampled_numbers = serialno.sample(sample_size)
maxes = np.append(maxes, sampled_numbers.column(0).max())
Table().with_column('Max Serial Number', maxes)
```
| Max Serial Number |
| --- |
| 280 |
| 253 |
| 294 |
| 299 |
| 298 |
| 237 |
| 296 |
| 297 |
| 293 |
| 295 |
(省略了 740 行)
```py
every_ten = np.arange(1, N+100, 10)
Table().with_column('Max Serial Number', maxes).hist(bins = every_ten)
```
这是 750 个估计值的直方图,每个估计值是统计量“观察到的最大序列号”的观测值。
正如你所看到的,尽管在理论上它们可能会小得多,但估计都在 300 附近。直方图表明,作为飞机总数的估计,最大的序列号可能低了大约 10 到 25 个。但是,飞机的真实数量低了 50 个是不太可能的。
### 良好的近似
我们前面提到过,如果生成所有可能的样本,并计算每个样本的统计量,那么您将准确了解统计量可能有多么不同。事实上,你将会完整地列举统计量的所有可能值及其所有概率。
换句话说,你将得到统计量的概率分布和概率直方图。
统计量的概率分布也称为统计量的抽样分布,因为它基于所有可能的样本。
但是,我们上面已经提到,可能的样本总数往往非常大。例如,如果有 300 架飞机,你可以看到的,30 个序列号的可能序列总数为:
```py
300**30
205891132094649000000000000000000000000000000000000000000000000000000000000
```
这是很多样本。 幸运的是,我们不必生成所有这些。 我们知道统计量的经验直方图,基于许多但不是全部可能的样本,是概率直方图的很好的近似。 因此统计量的经验分布让我们很好地了解到,统计量可能有多么不同。
确实,统计量的概率分布包含比经验分布更准确的统计量信息。 但是,正如在这个例子中一样,通常经验分布所提供的近似值,足以让数据科学家了解统计量可以变化多少。 如果你有一台计算机,经验分布更容易计算。 因此,当数据科学家试图理解统计的性质时,通常使用经验分布而不是精确的概率分布。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册