提交 292df62f 编写于 作者: W wizardforcel

ch9pic

上级 827040e8
......@@ -36,6 +36,8 @@ die_bins = np.arange(0.5, 6.6, 1)
die.hist(bins = die_bins)
```
![](img/9-1.png)
递增值由相同的固定量分隔,例如骰子面上的值(递增值由 1 分隔),这样的变量被称为离散值。上面的直方图被称为离散直方图。它的桶由数组`die_bins`指定,并确保每个条形的中心是对应的整数值。
重要的是要记住,骰子不能显示 1.3 个点或 5.2 个点 - 总是显示整数个点。但是我们的可视化将每个值的概率扩展到条形区域。虽然在本课程的这个阶段这看起来有些随意,但是稍后当我们在离散直方图上叠加平滑曲线时,这将变得很重要。
......@@ -86,16 +88,22 @@ def empirical_hist_die(n):
empirical_hist_die(10)
```
![](img/9-2.png)
当样本量增加时,经验直方图开始看起来更像是理论概率的直方图。
```py
empirical_hist_die(100)
```
![](img/9-3.png)
```py
empirical_hist_die(1000)
```
![](img/9-4.png)
当我们增加模拟中的投掷次数时,每个条形的面积接近 16.67%,这是概率直方图中每个条形的面积。
我们在实例中观察到了一般规则:
......@@ -150,6 +158,8 @@ delay_bins = np.append(np.arange(-20, 301, 10), 600)
united.select('Delay').hist(bins = delay_bins, unit = 'minute')
```
![](img/9-5.png)
就本节而言,仅仅关注部分数据就足够了,我们忽略延迟超过 200 分钟的 0.8% 的航班。 这个限制只是为了视觉便利。 该表仍然保留所有的数据。
```py
......@@ -160,6 +170,8 @@ delay_bins = np.arange(-20, 201, 10)
united.select('Delay').hist(bins = delay_bins, unit = 'minute')
```
![](img/9-6.png)
`[0,10)`的条形高度不到每分钟 3%,这意味着只有不到 30% 的航班延误了 0 到 10 分钟。 这是通过行的计数来确认的:
```py
......@@ -182,16 +194,22 @@ def empirical_hist_delay(n):
empirical_hist_delay(10)
```
![](img/9-7.png)
```py
empirical_hist_delay(100)
```
![](img/9-8.png)
最一致的可见差异在总体中罕见的值之中。 在我们的示例中,这些值位于分布的最右边。 但随着样本量的增加,这些值以大致正确的比例,开始出现在样本中。
```py
empirical_hist_delay(1000)
```
![](img/9-9.png)
### 样本的经验直方图的总结
我们在本节中观察到的东西,可以总结如下:
......@@ -301,6 +319,8 @@ Table().with_column('Color', colors)\
.barh('Color')
```
![](img/9-10.png)
38 个口袋里有 18 个是红色的,每个口袋都是等可能的。 因此,在 5000 次模拟中,我们预计大致(但可能不是完全)看到`18/38*5000`或者 2,368 次红色。模拟证明了这一点。
在模拟中,我们也记录了你的奖金。 这些经验直方图显示了,你对红色下注的不同结果的(近似)几率。
......@@ -310,6 +330,8 @@ Table().with_column('Winnings: Red', winnings_on_red)\
.hist(bins = np.arange(-1.55, 1.65, .1))
```
![](img/9-11.png)
每个模拟的唯一可能的结果是,你赢了一美元或输了一美元,这反映在直方图中。 我们也可以看到,你赢的次数要比输的次数少一点。 你喜欢这个赌博策略吗?
### 多次游戏
......@@ -341,6 +363,8 @@ for i in np.arange(num_simulations):
Table().with_column('Net Gain on Red', net_gain).hist()
```
![](img/9-12.png)
注意横轴上 0 的位置。 这就是你不赚不赔的地方。 通过使用这个赌博策略,你喜欢这个赚钱几率吗?
如果对红色下注不吸引人,也许值得尝试不同的赌注。 “分割”(Split)是轮盘赌桌上两个相邻号码的下注,例如 0 和 00。分割的回报是 17 比 1。
......@@ -398,6 +422,8 @@ Table().with_columns(
).hist(bins=np.arange(-200, 200, 20))
```
![](img/9-13.png)
横轴上 0 的位置表明,无论你选择哪种赌注,你都更有可能赔钱而不是赚钱。在两个直方图中,不到 50% 的区域在 0 的右侧。
然而,分割的赌注赚钱几率更大,赚取超过 50 美元的机会也是如此。 金色直方图有很多区域在五十美元的右侧,而蓝色直方图几乎没有。 那么你应该对分割下注吗?
......@@ -421,12 +447,16 @@ united.select('Delay').hist(bins = delay_bins, unit = 'minute')
plots.title('Population');
```
![](img/9-14.png)
```py
sample_1000 = united.sample(1000)
sample_1000.select('Delay').hist(bins = delay_bins, unit = 'minute')
plots.title('Sample of Size 1000');
```
![](img/9-15.png)
两个直方图明显相似,虽然他们并不等价。
### 参数
......@@ -536,6 +566,8 @@ Table().with_column('Sample Median', medians)
Table().with_column('Sample Median', medians).hist(bins=np.arange(0.5, 5, 1))
```
![](img/9-16.png)
你可以看到样本中位数很可能接近 2,这是总体中位数的值。 由于 1000 次航班延误的样本可能与延误总体相似,因此这些样本的延误中位数应接近总体的延误中位数,也就不足为奇了。
这是一个例子,统计量如何较好估计参数。
......@@ -646,6 +678,8 @@ every_ten = np.arange(1, N+100, 10)
Table().with_column('Max Serial Number', maxes).hist(bins = every_ten)
```
![](img/9-17.png)
这是 750 个估计值的直方图,每个估计值是统计量“观察到的最大序列号”的观测值。
正如你所看到的,尽管在理论上它们可能会小得多,但估计都在 300 附近。直方图表明,作为飞机总数的估计,最大的序列号可能低了大约 10 到 25 个。但是,飞机的真实数量低了 50 个是不太可能的。
......@@ -728,6 +762,8 @@ results
results.drop(0).hist(bins = every_ten)
```
![](img/9-18.png)
你可以看到,原有方法几乎总是低估; 形式上,我们说它是有偏差的。 但它的变异性很小,很可能接近真正的飞机总数。
新方法高估了它,和低估的频率一样,因此从长远来看,平均而言大致没有偏差。 然而,它比旧的估计更可变,因此容易出现较大的绝对误差。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册