提交 77b3625d 编写于 作者: W wizardforcel

ch11pic

上级 fd1a9652
......@@ -113,6 +113,8 @@ scores_and_sections
scores_and_sections.select('Midterm').hist(bins=np.arange(-0.5, 25.6, 1))
```
![](img/11-1.png)
分数的第 85 个百分位数是多少? 为了使用`percentile`函数,创建包含期中分数的数组`scores`,并找到第 85 个百分位数:
```py
......@@ -253,6 +255,8 @@ sf_bins = np.arange(0, 700000, 25000)
sf2015.select('Total Compensation').hist(bins=sf_bins)
```
![](img/11-2.png)
虽然大部分值都低于 300,000 美元,但有一些还是比较高的。 例如,首席投资官的总薪资不多是 65 万美元。 这就是为什么横轴延伸到了 700,000 美元。
```py
......@@ -291,6 +295,8 @@ our_sample = sf2015.sample(500, with_replacement=False)
our_sample.select('Total Compensation').hist(bins=sf_bins)
```
![](img/11-3.png)
```py
est_median = percentile(50, our_sample.column('Total Compensation'))
est_median
......@@ -320,6 +326,7 @@ est_median
为什么这是一个好主意? 按照平均定律,原始样本的分布可能与总体相似,所有“二次样本”的分布可能与原始样本相似。 因此,所有二次样本的分布也可能与总体相似。
![](img/11-4.png)
### 二次样本的中位数
......@@ -330,6 +337,8 @@ resample_1 = our_sample.sample()
resample_1.select('Total Compensation').hist(bins=sf_bins)
```
![](img/11-5.png)
```py
resampled_median_1 = percentile(50, resample_1.column('Total Compensation'))
resampled_median_1
......@@ -386,6 +395,8 @@ resampled_medians.hist()
plots.scatter(pop_median, 0, color='red', s=30);
```
![](img/11-6.png)
重要的是要记住,红点是固定的:110,305.79 美元,总体的中位数。 经验直方图是随机抽取的结果,将相对于红点随机定位。
请记住,所有这些计算的重点是估计人口中位数,它是红点。我们的估计是所有随机生成的样本中位数,它们的直方图你在上面看到了。 我们希望这些估计量包含参数 - 如果没有,它们就脱线了。
......@@ -416,6 +427,8 @@ plots.plot(make_array(left, right), make_array(0, 0), color='yellow', lw=3, zord
plots.scatter(pop_median, 0, color='red', s=30, zorder=2);
```
![](img/11-7.png)
我们例子中,估计量的“中间 95%”的区间捕获了参数。 但是,这是一个偶然吗?
要查看区间包含参数的频率,我们必须一遍又一遍地运行整个过程。具体而言,我们将重复以下过程 100 次:
......@@ -493,6 +506,8 @@ intervals.where('Left', are.below(pop_median)).where('Right', are.above(pop_medi
任何基于抽样的方法都有可能脱线。基于随机抽样的方法的优点是,我们可以量化它们可能脱线的频率。
![](img/11-8.png)
为了总结模拟所示的内容,假设你通过以下过程来估计总体中位数:
从总体中随机抽取一个大样本。
......@@ -575,6 +590,8 @@ ratios
ratios.select('Ratio BW/GD').hist()
```
![](img/11-9.png)
一眼望去,直方图看起来相当对称,密度在 4opd 到 4.5opd 的区间内是最大的。 但仔细一看,就可以看出一些比例相当大。 比率的最大值刚好超过 0.78opd,几乎是通常值的两倍。
```py
......@@ -640,6 +657,8 @@ resampled_medians.hist(bins=15)
plots.plot(make_array(left, right), make_array(0, 0), color='yellow', lw=8);
```
![](img/11-10.png)
这个直方图和区间就像我们在前一节中绘制的直方图和区间,只有一个很大的区别 - 没有显示参数的红点。 我们不知道这个点应该在哪里,或者它是否在区间中。
我们只是有一个估计区间。 这是估计量的 95% 置信区间,因为生成它的过程在 95% 的时间中产生了良好的区间。 那肯定是在随机猜测!
......@@ -654,6 +673,8 @@ plots.plot(make_array(left, right), make_array(0, 0), color='yellow', lw=8);
baby.select('Maternal Age').hist()
```
![](img/11-11.png)
```py
np.mean(baby.column('Maternal Age'))
27.228279386712096
......@@ -705,6 +726,8 @@ resampled_means.hist(bins=15)
plots.plot(make_array(left, right), make_array(0, 0), color='yellow', lw=8);
```
![](img/11-12.png)
原始样本的均值(27.23 岁)同样接近区间中心。 这并不奇怪,因为每个自举样本都是从相同的原始样本中抽取的。 自举样本的均值大约对称分布原始样本(从其中抽取)的均值的两侧。
还要注意,即使所采样的年龄的直方图完全不是对称的,二次样本的均值的经验直方图也是大致对称的钟形:
......@@ -713,6 +736,8 @@ plots.plot(make_array(left, right), make_array(0, 0), color='yellow', lw=8);
baby.select('Maternal Age').hist()
```
![](img/11-13.png)
这是概率统计的中心极限定理的结果。 在后面的章节中,我们将看到这个定理是什么。
### 80% 置信区间
......@@ -728,6 +753,8 @@ resampled_means.hist(bins=15)
plots.plot(make_array(left_80, right_80), make_array(0, 0), color='yellow', lw=8);
```
![](img/11-14.png)
这个 80% 置信区间比 95% 置信区间要短得多。 它只是约定 27.0 岁到约 27.4 岁。 虽然这是估计量的较窄区间,你知道这个过程在 80% 的时间内产生良好的区间。
之前过程产生了较宽的区间,但是我们对产生它的过程拥有更高的置信度。
......@@ -803,6 +830,8 @@ resampled_proportions.hist(bins=15)
plots.plot(make_array(left, right), make_array(0, 0), color='yellow', lw=8);
```
![](img/11-15.png)
### 自举法的注意事项
自举法是一个优雅而强大的方法。在使用之前,记住一些要点非常重要。
......@@ -880,6 +909,8 @@ baby = Table.read_table('baby.csv')
baby.select('Maternal Age').hist()
```
![](img/11-16.png)
抽样年龄的一小部分在`(26.9, 27.6)`的区间内,你可能会预计总体中的百分比很小。 区间只是估计一个数字:总体中所有年龄的平均值。
但是,除了仅仅告诉我们这个参数有多大之外,用置信区间来估计一个参数确实有重要的用处。
......@@ -945,6 +976,7 @@ hodgkins = hodgkins.with_column(
hodgkins
```
![](img/11-17.png)
| height | rad | chemo | base | month15 | drop |
| --- | --- | --- | --- | --- | --- |
......@@ -995,6 +1027,8 @@ resampled_means.hist()
plots.plot(make_array(left, right), make_array(0, 0), color='yellow', lw=8);
```
![](img/11-18.png)
总体均值的 99% 置信区间是约 17 到约 40。区间不包含 0。因此,我们拒绝原假设。
但是请注意,我们所做的不仅仅是简单得出结论:总体均值不是 0,我们估计了均值的幅度是多大。这比仅仅说“不是 0”更有用。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册