提交 46314731 编写于 作者: W wizardforcel

ch12pic

上级 5245d3bb
......@@ -100,6 +100,7 @@ np.mean(same_distribution)
均值是分布直方图的物理属性。这里是`not_symmetric`的分布直方图,或者等价的`same_distribution`的分布直方图。
![](img/12-1.png)
想象一下,直方图是由纸板组成的图形,它附着在一条线上,线沿着横轴延伸。并且,将这些条形想象为附加在值 2, 3 和 9 上的权重。假设你尝试在线上的某个点平衡这个图形。如果该点接近 2,图形就向右倾斜。如果该点接近 9,则图形就向左倾斜。之间的某个地方是这个数字取得平衡的点。这个点是 4.25,就是均值。
......@@ -109,6 +110,8 @@ np.mean(same_distribution)
因为均值是一个平衡点,有时在直方图的底部显示为一个支点或三角形。
![](img/12-2.png)
### 均值和中位数
如果一个学生的考试成绩低于平均水平,这是否意味着该学生在该考试中处于后一半?
......@@ -121,6 +124,8 @@ np.mean(same_distribution)
symmetric = make_array(2, 3, 3, 4)
```
![](img/12-3.png)
```py
np.mean(symmetric)
3.0
......@@ -132,6 +137,7 @@ percentile(50, symmetric)
如果分布不对称呢? 我们来比较`symmetric``not_symmetric`
![](img/12-4.png)
蓝色直方图表示原始的`symmetric`分布。 `not_symmetric `的金色从左端起始,和蓝色一样,但是最右边的条形到了数值 9。棕色部分是两个直方图重叠的位置。
......@@ -157,6 +163,8 @@ sf2015 = Table.read_table('san_francisco_2015.csv').where('Salaries', are.above(
sf2015.select('Total Compensation').hist(bins = np.arange(10000, 700000, 25000))
```
![](img/12-5.png)
这个直方图向右偏斜;它的右侧有个尾巴。
平均值拉向了尾巴的方向。 所以我们预计平均薪酬会比中位数大,事实确实如此。
......@@ -330,6 +338,8 @@ nba13
nba13.select('Height').hist(bins=np.arange(68, 88, 1))
```
![](img/12-6.png)
NBA 球员身材高大并不奇怪! 他们的平均身高只有 79 英寸(6'7"),比美国男子的平均身高高出 10 英寸。
```py
......@@ -412,6 +422,8 @@ nba13.sort('Height').show(3)
nba13.select('Age in 2013').hist(bins=np.arange(15, 45, 1))
```
![](img/12-7.png)
```py
ages = nba13.column('Age in 2013')
mean_age = np.mean(ages)
......@@ -574,6 +586,8 @@ united.hist('Delay (Standard Units)', bins=np.arange(-5, 15.5, 0.5))
plots.xticks(np.arange(-6, 17, 3));
```
![](img/12-8.png)
## 标准差和正态曲线
我们知道均值是直方图的平衡点。 标准差与平均值不同,通常不容易通过查看直方图来识别。
......@@ -598,6 +612,8 @@ positions = np.arange(-3, 3.1, 1)*sd_height + mean_height
plots.xticks(positions);
```
![](img/12-9.png)
上面单元格中的最后两行代码更改了横轴的标签。 现在,对于`z=0, ±1, ±2, ±3`,标签对应于“标签上下`z`个标准差”。 由于分布的形状,“中心”具有明确的含义,在 64 处清晰可见。
### 如何定位钟形曲线上的 SD
......@@ -618,6 +634,8 @@ plots.xticks(positions);
![](https://www.zhihu.com/equation?tex=%5Cphi%28z%29%20%3D%20%7B%5Cfrac%7B1%7D%7B%5Csqrt%7B2%20%5Cpi%7D%7D%7D%20e%5E%7B-%5Cfrac%7B1%7D%7B2%7Dz%5E2%7D%2C%20%7E%7E%20-%5Cinfty%20%3C%20z%20%3C%20%5Cinfty)
![](img/12-10.png)
与往常一样,当你检查新的直方图时,首先查看横轴。在标准正态曲线的横轴上,这些值是标准单位。
这里是曲线的一些属性。有些是通过观察显而易见的,有些则需要大量的数学才能建立起来。
......@@ -646,6 +664,8 @@ from scipy import stats
让我们使用这个函数来求出标准正态曲线下,`z=1`左侧的面积。
![](img/12-11.png)
阴影区域的数值可以通过调用`stats.norm.cdf`来求出。
```py
......@@ -657,6 +677,8 @@ stats.norm.cdf(1)
`z = 1`右侧的面积大概是`100% - 84% = 16%`
![](img/12-12.png)
```py
1 - stats.norm.cdf(1)
0.15865525393145707
......@@ -664,6 +686,8 @@ stats.norm.cdf(1)
`z = -1``z = 1`之间的面积可以用几种不同的方式来计算。 它是下面的曲线下方的金色区域。
![](img/12-13.png)
例如,我们可以将面积计算为“`100% -`两个相等的尾巴”,结果大致是`100% - 2X16% = 68%`
或者我们可以注意到,`z = 1``z = -1`之间的区域等于`z = 1`左边的所有区域,减去`z = -1`左边的所有区域。
......@@ -675,6 +699,8 @@ stats.norm.cdf(1) - stats.norm.cdf(-1)
通过类似的计算,我们看到`-2``2`之间的区域大约是 95%。
![](img/12-14.png)
```py
stats.norm.cdf(2) - stats.norm.cdf(-2)
0.95449973610364158
......@@ -762,6 +788,8 @@ red
red.select('Winnings: Red').hist(bins=np.arange(-1.5, 1.6, 1))
```
![](img/12-15.png)
现在假设你多次对红色下注。 你的净收益将是来自上述分布的,多个带放回随机抽样的总和。
这将需要一些数学,来列出净收益的所有可能值,以及所有的记录。 我们不会那样做;相反,我们将通过模拟来逼近概率分布,就像我们在这个过程中一直做的那样。
......@@ -786,6 +814,8 @@ results = Table().with_column(
results.hist(bins=np.arange(-80, 50, 6))
```
![](img/12-16.png)
这是一个大致钟形的直方图,即使我们正在绘制的分布并不是钟形。
中心。分布集中在`-$20`附近。 要知道为什么,请注意,你的奖金在 18/38 左右的下注中为 1 美元,剩下的 20/38 则为负一美元。 所以每个一美元赌注的平均奖金大概是 -5.26 美分:
......@@ -830,6 +860,8 @@ united = Table.read_table('united_summer2015.csv')
united.select('Delay').hist(bins=np.arange(-20, 300, 10))
```
![](img/12-17.png)
平均延误约为 16.6 分钟,SD 约为 39.5 分钟。 注意 SD 与平均值相比有多大。 但是右侧的较大偏差会产生影响,尽管它们在数据中占很小的比例。
```py
......@@ -869,6 +901,8 @@ results = Table().with_column(
results.hist(bins=np.arange(10, 25, 0.5))
```
![](img/12-18.png)
即使我们从非常偏斜的分布抽样,我们再次看到了大致的钟形。 正如我们所期望的那样,这个钟形的中心在 16 到 17 之间。
### 中心极限定律
......@@ -920,6 +954,8 @@ results = Table().with_column('Sample Proportion: 200', props)
results.hist(bins=np.arange(0.65, 0.85, 0.01))
```
![](img/12-19.png)
正如你所期望的那样,中央极限定理预测了,正态曲线再次集中于 0.75 左右。
如果我们增加样本量,这个分布如何变化? 让我们再次运行代码,样本量为 800 ,并将模拟结果收集在同一个表中,我们在里面收集了样本量为 200 的模拟结果。我们使重复次数与之前相同,以便两列具有相同的长度。
......@@ -938,6 +974,8 @@ results = results.with_column('Sample Proportion: 800', props2)
results.hist(bins=np.arange(0.65, 0.85, 0.01))
```
![](img/12-20.png)
两个分布都大致是正态,但一个比另一个更窄。 样本量为 800 的比例,比样本量为 200 的比例更紧密地聚集在 0.75 左右。增加样本量可以减少样本比例的可变性。
这应该不会令人惊讶。 我们多次产生了这样的直觉,更大的样本量通常会降低统计量的可变性。 然而,在样本均值的案例中,我们可以量化样本量和可变性之间的关系。
......@@ -960,6 +998,8 @@ pop_mean
16.658155515370705
```
![](img/12-21.png)
现在我们来随机抽样,来查看样本均值的概率分布。 像往常一样,我们将使用模拟来得到这种分布的经验近似。
我们将定义一个函数`simulate_sample_mean`来实现,因为我们将在稍后改变样本量。 参数是表的名称,包含变量的列标签,样本量和模拟次数。
......@@ -1002,6 +1042,8 @@ Population SD: 39.4801998516
SD of sample means: 3.90507237968
```
![](img/12-22.png)
```py
simulate_sample_mean(delay, 'Delay', 400, 10000)
plots.xlim(5, 35)
......@@ -1013,6 +1055,8 @@ Population SD: 39.4801998516
SD of sample means: 1.98326299651
```
![](img/12-23.png)
```py
simulate_sample_mean(delay, 'Delay', 625, 10000)
plots.xlim(5, 35)
......@@ -1024,6 +1068,8 @@ Population SD: 39.4801998516
SD of sample means: 1.60089096006
```
![](img/12-24.png)
你可以在实践中看到中心极限定律 - 样本均值的直方图是大致正态的,即使延误本身的直方图与正态分布相差甚远。
你还可以看到,样本均值的三个直方图中的每一个中心都非常接近总体均值。 在每种情况下,“样本均值的均值”非常接近 16.66 分钟,是总体均值。 每个直方图上方的打印输出都提供了这两个值。 像预期一样,样本均值是对总体均值的无偏估计。
......@@ -1094,6 +1140,8 @@ sd_comparison
sd_comparison.plot('Sample Size n')
```
![](img/12-25.png)
那里确实有两条曲线。但他们彼此如此接近,看起来好像只有一个。
我们看到了一个普遍结果的实例。 请记住,上面的图表基于每个样本量的 10,000 个重复。 但是每个样本量有超过 10,000 个样本。 样本均值的概率分布基于大小固定的所有可能样本的均值。
......@@ -1165,6 +1213,8 @@ sd_comparison.plot('Sample Size n')
那么我们卡住了吗? 不,因为我们可以限制人口的标准差。 这里是两个这样的分布的直方图,一个是相等比例的 1 和 0 ,另一个是 90% 的 1 和 10% 的 0。 哪一个标准差更大?
![](img/12-26.png)
请记住,总体中的可能值只有 0 和 1。
蓝色直方图(50% 的 1 和 50% 的 0)比金色延展度更大。 它的均值是 0.5。 距离均值的偏差,一半等于 0.5,另一半等于 -0.5,所以标准差是 0.5。
......@@ -1209,6 +1259,8 @@ zero_one_sds
zero_one_sds.scatter("Population Proportion of 1's")
```
![](img/12-27.png)
总结:01 总体的标准差最大为 0.5。 当 50% 的总体为 1 而另外 50% 为 0 时,这就是标准差的值。
### 样本量
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册