Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
data8-textbook-zh
提交
fe73380f
D
data8-textbook-zh
项目概览
OpenDocCN
/
data8-textbook-zh
大约 1 年 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
data8-textbook-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fe73380f
编写于
12月 31, 2017
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ch10
上级
f5e26e11
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
280 addition
and
4 deletion
+280
-4
10.md
10.md
+280
-4
未找到文件。
10.md
浏览文件 @
fe73380f
...
...
@@ -8,7 +8,7 @@
我们是否回答这些问题取决于我们的数据。加州的人口普查数据可以解决人口统计的问题,而答案几乎没有任何不确定性。我们知道 Broad Street 水泵的水源受到霍乱病人的污染,所以我们可以很好地猜测它是否会引起霍乱。
巧克力还是其他任何实验对
您
有好处,几乎肯定要由医学专家来决定,但是第一步是使用数据科学分析来自研究和随机实验的数据。
巧克力还是其他任何实验对
你
有好处,几乎肯定要由医学专家来决定,但是第一步是使用数据科学分析来自研究和随机实验的数据。
在本章中,我们将试图回答这样的问题,根据样本和经验分布的结论。我们将以北加利福尼亚州公民自由联盟(ACLU)2010 年进行的一项研究为例。
...
...
@@ -418,7 +418,7 @@ abs(proportion_purple - 0.75)
0.016953713670613602
```
检验统计量的经验分布,在原假设为真的情况下。 毫不奇怪,我们得到的值与我们观察到的统计量之间的差约为 0.00888。 但是如果我们又取了一个样本,会有多大的不同呢?
您
可以通过重新运行上面的两个单元格来回答这个问题,或者使用
`for`
循环来模拟统计量。
检验统计量的经验分布,在原假设为真的情况下。 毫不奇怪,我们得到的值与我们观察到的统计量之间的差约为 0.00888。 但是如果我们又取了一个样本,会有多大的不同呢?
你
可以通过重新运行上面的两个单元格来回答这个问题,或者使用
`for`
循环来模拟统计量。
```
py
repetitions
=
5000
...
...
@@ -802,7 +802,7 @@ results.hist(bins = np.arange(0, 45, 5))
上面的例子是一个普遍事实的特例:
如果对 P 值使用
`p%`
的截断值,并且原假设恰好是真的,那么大约有
`p%`
的概率,
您
的检验就会得出结论:备选假设是正确的。
如果对 P 值使用
`p%`
的截断值,并且原假设恰好是真的,那么大约有
`p%`
的概率,
你
的检验就会得出结论:备选假设是正确的。
因此,1% 的截断值比 5% 更保守 - 如果原假设恰好是真的,那么结论为“备选假设”的可能性就会降低。出于这个原因,医学治疗随机对照试验通常使用 1% 作为决定以下两个假设之间的临界值:
...
...
@@ -812,7 +812,7 @@ results.hist(bins = np.arange(0, 45, 5))
这个想法是,控制结论为实验有效,而实际上无效的几率。这减少了给予患者无效治疗的风险。
尽管如此,即使
您
将截断值设置为 1% 那样低,并且实验没有任何效果,但有大约 1% 的几率得出结论:实验是有效的。这由于机会变异。来自随机样本的数据很可能最终导致你误入歧途。
尽管如此,即使
你
将截断值设置为 1% 那样低,并且实验没有任何效果,但有大约 1% 的几率得出结论:实验是有效的。这由于机会变异。来自随机样本的数据很可能最终导致你误入歧途。
### 数据窥探
...
...
@@ -825,3 +825,279 @@ results.hist(bins = np.arange(0, 45, 5))
如果研究人员在找到给出“高度统计学显著”的结论之前,进行了多个不同的检验,请谨慎使用结果。这项研究可能会受到数据窥探的影响,这实际上意味着将数据捏造成一个假象。
在这种情况下,验证报告结果的一种方法是,复制实验并单独检验该特定效果。如果它再次表现为显著,就验证了原来的结论。
### 技术注解:其他类型的错误
当然,还有另外一种错误:认为治疗什么也不做,事实上它做了一些事情。近似这个错误超出了本节的范围。要知道,如果你建立你的测试来减少两个错误之一,你几乎总是增加另一个。
### 技术注解:识别拒绝域
在上面的硬币投掷的例子中,我们基于 400 次投掷,使用 P 值的 3.5 倍的截断值来测试硬币的平等性。检验统计量是 !
[](
http://latex.codecogs.com/gif.latex?%7C%5Cmbox%7Bnumber%20of%20heads%7D%20-%20200%7C
)
。我们在平等的原假设下模拟了这个统计量。
由于所有统计数据的前 3.5%,检验的结论是硬币是不平等的,在下面展示为红色。
从图中可以看出,在平等的原假设下,大约前 3.5% 的检验统计量的值大于 20。你也可以通过求出这些值的比例来确认:
```
py
results
.
where
(
'|Number of Heads - 200|'
,
are
.
above_or_equal_to
(
21
)).
num_rows
/
results
.
num_rows
0.0372
```
也就是说,如果检验统计量是 21 或更高,那么以 3.5% 的截断点,你会得出结论:硬币是不公平的。
也就是说,如果检验统计量是 21 或更大,你将拒绝原假设。因此,“21 以上”的范围被称为该检验的拒绝域。它对应的正面数量是 221 及以上,或者是 179 及以下。
如果你没有在直方图上将其标记为红色,你将如何找到这些值?百分位数函数在这里派上用场。它需要你尝试查找的百分比水平以及包含数据的数组。统计量的“前 3.5%”对应于统计量的第 96.5 个百分点:
```
py
percentile
(
96.5
,
results
.
column
(
0
))
21.0
```
注意。由于“重复”(即数据中的几个相同的值)和数据数组的任意长度,百分位数并不总是那么整齐。在本课程的后面,我们将给出一个涵盖所有情况的百分位数的精确定义。就目前而言,只要认为
`percentile `
函数返回一个答案,与你直觉上看做百分点的东西相近即可。
## 示例:漏风门
2015 年 1 月 18 日,印第安纳波利斯小马队(Indianapolis Colts)和新英格兰爱国者队(New England Patriots)进行了美式橄榄球大会(AFC)冠军赛,来确定哪支球队将晋级超级碗(Super Bowl)。比赛结束后,有人指责爱国者的橄榄球没有按照规定的要求膨胀,并且更软。这可能是一个优势,因为较软的球可能更容易被捕获。
几个星期以来,美国橄榄球界充满了指责,否认,理论和怀疑:在 20 世纪 70 年代水门事件的政治丑闻之后,新闻界标记了“漏风门”这个话题。国家橄榄球联盟(NFL)委托了独立分析小组。在这个例子中,我们将执行我们自己的数据分析。
压强通常以磅/平方英寸(psi)来衡量。 NFL 规则规定了比赛用球必须充气为 12.5psi 到 13.5psi 的压强。每个队都拥有 12 个球。球队有责任保持自己的球的压强,但比赛官方会检查球。在 AFC 比赛开始之前,所有爱国者的球都在 12.5psi 左右。小马队的大部分球在大约 13.0psi。但是,这些赛前数据没有被记录下来。
在第二节,小马队拦截了一个爱国者的球。在边线上,他们测量了球的压强,并确定它低于 12.5psi 的阈值。他们及时通知了官方。
中场休息时,所有的比赛用球都被收集起来检查。两名官方人员 Clete Blakeman 和 Dyrol Prioleau 测量了每个球的压强。这里是数据;压强的单位是磅/平方英寸。被小马队拦截的爱国者的球在这个时候没有被检查。大多数小马队的球也没有 - 官方只是耗完了时间,为了下半场的开始,不得不交出了这些球。
```
py
football
=
Table
.
read_table
(
'football.csv'
)
football
=
football
.
drop
(
'Team'
)
football
.
show
()
```
| Ball | Blakeman | Prioleau |
| --- | --- |
| Patriots 1 | 11.5 | 11.8 |
| Patriots 2 | 10.85 | 11.2 |
| Patriots 3 | 11.15 | 11.5 |
| Patriots 4 | 10.7 | 11 |
| Patriots 5 | 11.1 | 11.45 |
| Patriots 6 | 11.6 | 11.95 |
| Patriots 7 | 11.85 | 12.3 |
| Patriots 8 | 11.1 | 11.55 |
| Patriots 9 | 10.95 | 11.35 |
| Patriots 10 | 10.5 | 10.9 |
| Patriots 11 | 10.9 | 11.35 |
| Colts 1 | 12.7 | 12.35 |
| Colts 2 | 12.75 | 12.3 |
| Colts 3 | 12.5 | 12.95 |
| Colts 4 | 12.55 | 12.15 |
对于被检查的 15 个球中的每一个,两名官员获得了不同的结果。 在同一物体上重复测量得到不同的结果并不少见,特别是当测量由不同的人进行时。 所以我们将每个球赋为这个球上进行的两次测量的平均值。
```
py
football
=
football
.
with_column
(
'Combined'
,
(
football
.
column
(
1
)
+
football
.
column
(
2
))
/
2
)
football
.
show
()
```
| Ball | Blakeman | Prioleau | Combined |
| --- | --- |
| Patriots 1 | 11.5 | 11.8 | 11.65 |
| Patriots 2 | 10.85 | 11.2 | 11.025 |
| Patriots 3 | 11.15 | 11.5 | 11.325 |
| Patriots 4 | 10.7 | 11 | 10.85 |
| Patriots 5 | 11.1 | 11.45 | 11.275 |
| Patriots 6 | 11.6 | 11.95 | 11.775 |
| Patriots 7 | 11.85 | 12.3 | 12.075 |
| Patriots 8 | 11.1 | 11.55 | 11.325 |
| Patriots 9 | 10.95 | 11.35 | 11.15 |
| Patriots 10 | 10.5 | 10.9 | 10.7 |
| Patriots 11 | 10.9 | 11.35 | 11.125 |
| Colts 1 | 12.7 | 12.35 | 12.525 |
| Colts 2 | 12.75 | 12.3 | 12.525 |
| Colts 3 | 12.5 | 12.95 | 12.725 |
| Colts 4 | 12.55 | 12.15 | 12.35 |
一眼望去,爱国者队的压强显然低于小马队。 由于一些放气在比赛过程中是正常的,独立分析师决定计算距离比赛开始的压强下降值。 回想一下,爱国者的球开始时是大约 12.5psi,小马队的球是大约 13.0psi。 因此爱国者球的压强下降值计算为 12.5 减中场时的压强,小马队的球的压强下降值为 13.0 减半场的压强。
我们来构建两张表,一张是爱国者的数据,一张是小马的。 每张表的最后一列是距离开始的压强下降值。
```
py
patriots
=
football
.
where
(
'Ball'
,
are
.
containing
(
'Patriots'
))
patriots
=
patriots
.
with_column
(
'Drop'
,
12.5
-
patriots
.
column
(
'Combined'
))
patriots
.
show
()
```
| Ball | Blakeman | Prioleau | Combined | Drop |
| --- | --- |
| Patriots 1 | 11.5 | 11.8 | 11.65 | 0.85 |
| Patriots 2 | 10.85 | 11.2 | 11.025 | 1.475 |
| Patriots 3 | 11.15 | 11.5 | 11.325 | 1.175 |
| Patriots 4 | 10.7 | 11 | 10.85 | 1.65 |
| Patriots 5 | 11.1 | 11.45 | 11.275 | 1.225 |
| Patriots 6 | 11.6 | 11.95 | 11.775 | 0.725 |
| Patriots 7 | 11.85 | 12.3 | 12.075 | 0.425 |
| Patriots 8 | 11.1 | 11.55 | 11.325 | 1.175 |
| Patriots 9 | 10.95 | 11.35 | 11.15 | 1.35 |
| Patriots 10 | 10.5 | 10.9 | 10.7 | 1.8 |
| Patriots 11 | 10.9 | 11.35 | 11.125 | 1.375 |
```
py
colts
=
football
.
where
(
'Ball'
,
are
.
containing
(
'Colts'
))
colts
=
colts
.
with_column
(
'Drop'
,
13.0
-
colts
.
column
(
'Combined'
))
colts
```
| Ball | Blakeman | Prioleau | Combined | Drop |
| --- | --- |
| Colts 1 | 12.7 | 12.35 | 12.525 | 0.475 |
| Colts 2 | 12.75 | 12.3 | 12.525 | 0.475 |
| Colts 3 | 12.5 | 12.95 | 12.725 | 0.275 |
| Colts 4 | 12.55 | 12.15 | 12.35 | 0.65 |
看起来好像爱国者的漏气比小马队更大。 自然统计量是两个平均漏气之间的差异。 我们将处理它,但你可以自由地用其他自然统计量重复分析,例如整体平均漏气与爱国者之间的差异。
```
py
patriots_mean
=
patriots
.
column
(
'Drop'
).
mean
()
colts_mean
=
colts
.
column
(
'Drop'
).
mean
()
observed_statistic
=
patriots_mean
-
colts_mean
observed_statistic
0.73352272727272805
```
这种正面的差异反映了这样的事实,即爱国者的球的平均压强下降值大于小马队。
难道这个差异是偶然的,还是爱国者的下降值太大? 这个问题非常类似于我们之前问过的问题,关于一个大班中的一个小组的成绩。就像我们在这个例子中所做的那样,我们将建立原假设。
原假设:爱国者的下降值就是 15 次下降值中的,大小为 11 的随机样本。 由于机会变异,均值比小马队高。
备选假设:爱国者的下降值太大,并不仅仅是机会变异的结果。
如果原假设是真的,那么爱国者的下降值就可以对比从 15 次下降值随机不带放回抽取的 11 个。 所以让我们创建一个,含有所有 15 个下降值,并从中随机抽取。
```
py
drops
=
Table
().
with_column
(
'Drop'
,
np
.
append
(
patriots
.
column
(
'Drop'
),
colts
.
column
(
'Drop'
))
)
drops
.
show
()
```
| Drop |
| --- |
| 0.85 |
| 1.475 |
| 1.175 |
| 1.65 |
| 1.225 |
| 0.725 |
| 0.425 |
| 1.175 |
| 1.35 |
| 1.8 |
| 1.375 |
| 0.475 |
| 0.475 |
| 0.275 |
| 0.65 |
```
py
drops
.
sample
(
with_replacement
=
False
).
show
()
```
| Drop |
| --- |
| 1.225 |
| 1.175 |
| 1.175 |
| 0.475 |
| 1.375 |
| 0.425 |
| 0.85 |
| 0.65 |
| 1.35 |
| 1.65 |
| 0.725 |
| 0.475 |
| 1.475 |
| 1.8 |
| 0.275 |
注意
`sample`
的使用没有带样本大小。 这是因为
`sample`
使用的默认样本大小是表格的行数;如果你不指定样本大小,则会返回与原始表格大小相同的样本。 这对于我们的目的非常理想,因为当你不放回抽样时(通过指定
`with_replacement = False`
),并且次数与行数相同,最终会对所有行进行随机洗牌。 运行几次该单元格来查看输出如何变化。
我们现在可以使用打乱表的前 11 行作为原假设下的爱国者的下降值的模拟。 剩下的四行形成了对应的小马队的下降值的模拟。 我们可以使用这两个模拟数组来模拟我们在原假设下的检验统计量。
```
py
shuffled
=
drops
.
sample
(
with_replacement
=
False
)
new_patriots
=
shuffled
.
take
(
np
.
arange
(
11
))
new_patriots_mean
=
new_patriots
.
column
(
0
).
mean
()
new_colts
=
shuffled
.
take
(
np
.
arange
(
11
,
drops
.
num_rows
))
new_colts_mean
=
new_colts
.
column
(
0
).
mean
()
simulated_stat
=
new_patriots_mean
-
new_colts_mean
simulated_stat
-
0.70681818181818212
```
运行几次该单元格来查看检验统计量的变化情况。 请记住,模拟是在原假设下,即爱国者的下降值类似于随机抽样的 15 个下降值。
现在是我们熟悉的步骤了。 我们将在院假设下重复模拟检验统计量。 模拟结束时,数组的
`simulated_statistics`
将包含所有模拟的检验统计量。
```
py
simulated_statistics
=
make_array
()
repetitions
=
10000
for
i
in
np
.
arange
(
repetitions
):
shuffled
=
drops
.
sample
(
with_replacement
=
False
)
new_patriots_mean
=
shuffled
.
take
(
np
.
arange
(
11
)).
column
(
0
).
mean
()
new_colts_mean
=
shuffled
.
take
(
np
.
arange
(
11
,
drops
.
num_rows
)).
column
(
0
).
mean
()
new_statistic
=
new_patriots_mean
-
new_colts_mean
simulated_statistics
=
np
.
append
(
simulated_statistics
,
new_statistic
)
```
现在对于经验 P 值,这是一个几率(在原假设下计算),所得的检验统计量等于观察到统计量,或者更加偏向备选假设方向。 为了弄清楚如何计算它,重要的是要回忆另一个假设:
备选假设:爱国者的下降值太大,并不仅仅是机会变异的结果。
“备选假设的方向”是爱国者的下降值很大,对应我们的检验统计量,“爱国者的均值减去小马队的均值”较大。 所以 P 值是几率(在原假设下计算),所得检验统计量大于等于我们 0.73352272727272805。
```
py
empirical_P
=
np
.
count_nonzero
(
simulated_statistics
>=
observed_statistic
)
/
repetitions
empirical_P
0.0027
```
这是一个非常小的 P 值。 为了观察它,下面是原假设下检验统计量的经验分布,其中观察到的统计量标在横轴上。
```
py
print
(
'Observed Statistic:'
,
observed_statistic
)
print
(
'Empirical P:'
,
empirical_P
)
results
=
Table
().
with_column
(
'Simulated Statistic'
,
simulated_statistics
)
results
.
hist
()
plots
.
scatter
(
observed_statistic
,
0
,
color
=
'red'
,
s
=
30
);
Observed
Statistic
:
0.733522727273
Empirical
P
:
0.0027
```
请注意,分布大部分集中在 0 左右。在原假设下,爱国者的下降值是所有 15 下降值的随机样本,因此小马对也是如此。 所以这两组下降值的平均值应该大致相等,因此它们的差值应该在 0 左右。
但是检验统计量的观察值离分布的中心还有很远的距离。 使用什么是“小”的任何合理的截断值,经验 P 值都是小的。 所以我们最终拒绝原假设的随机性,并得出结论,爱国者的下降值太大,并不单独反映机会变异。
独立的调查小组以数种不同的方式分析数据,并考虑到物理定律。最后的报告说:
> “爱国者比赛用球的平均压降超过了小马队的球的平均压降 0.45psi 至 1.02psi,这取决于所使用的测量仪的各种可能的假设,并假设爱国者的球的初始压强为 12.5psi,小马队的球是 13.0psi。”
> - 2015 年 1 月 18 日,由 NFL 委托对 AFC 冠军赛的调查报告
我们的分析显示,平均压降约为 0.73psi,接近“0.45 至 1.02psi”的中心,因此与官方分析一致。
请记住,我们对假设的检验并没有确定差异不是偶然的原因。 建立因果关系通常比进行假设检验更为复杂。
但足球世界里最重要的问题是因果关系:问题是爱国者足球的压强过大是否是故意的。 如果你对调查人员的答案感到好奇,这里是
[
完整的报告
](
https://nfllabor.files.wordpress.com/2015/05/investigative-and-expert-reports-re-footballs-used-during-afc-championsh.pdf
)
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录