第三章《由数据分散程度估计统计量:方差和标准差》
数据的分散和波动
平均值表示“数据在其周围分布”这一大致的推测,只根据这一点并不能弄清数据分布的状态。
偏差与方差
样本中各数据比平均值大多少或小多少,这个数值在统计学中称为“偏差”(deviation)。将差值进行平方再取平均,得出的统计量成为“方差”(variance)。这个值可以评价数据的波动。方差开方后的数值称为“标准差”(standard deviation),标准差也即偏差的均方根值,常被略称为英语首字母“S.D”。
标准差的意义
与“平均值”代表数据分布的数值相对,S.D.作为其代表值的基点,表示数据大致扩散到多远的程度的量。
标准差将数据平均值的离散方式进行平均化。此时,无论是向大的方面离散还是小的方面离散,都以正数进行评价,进行避免相互抵消的平均。
习题
以下为初三某班期末成绩表:
no | chinese | math | english | physics | chemistry | politics | total |
---|---|---|---|---|---|---|---|
1 | 91 | 97 | 89 | 95 | 89 | 96 | 557 |
2 | 89 | 100 | 90 | 90 | 88 | 97 | 554 |
3 | 88 | 97 | 93 | 93 | 89 | 91 | 551 |
4 | 96 | 90 | 97 | 90 | 86 | 92 | 551 |
5 | 89 | 94 | 95.5 | 85 | 85 | 96 | 544.5 |
6 | 89 | 94 | 93.5 | 86 | 81 | 95 | 538.5 |
7 | 87 | 93 | 93 | 84 | 77 | 98 | 532 |
8 | 81 | 97 | 90.5 | 89 | 75 | 98 | 530.5 |
9 | 83 | 93 | 94.5 | 87 | 74 | 98 | 529.5 |
10 | 87 | 97 | 92 | 77 | 77 | 98 | 528 |
11 | 80 | 96 | 93 | 90 | 76 | 91 | 526 |
12 | 85 | 87 | 91.5 | 87 | 78 | 96 | 524.5 |
13 | 83 | 92 | 85 | 89 | 83 | 88 | 520 |
14 | 85 | 90 | 85.5 | 94 | 80 | 84 | 518.5 |
15 | 82 | 89 | 95.5 | 75 | 75 | 97 | 513.5 |
16 | 83 | 100 | 87 | 80 | 69 | 92 | 511 |
17 | 85 | 95 | 72 | 87 | 79 | 85 | 503 |
18 | 74 | 95 | 83 | 88 | 77 | 83 | 500 |
19 | 83 | 87 | 88.5 | 84 | 61 | 96 | 499.5 |
20 | 83 | 89 | 93 | 75 | 61 | 95 | 496 |
21 | 87 | 80 | 82 | 80 | 71 | 93 | 493 |
22 | 80 | 80 | 92 | 75 | 73 | 91 | 491 |
23 | 77 | 81 | 90 | 68 | 82 | 92 | 490 |
24 | 85 | 84 | 81.5 | 77 | 63 | 94 | 484.5 |
25 | 78 | 85 | 81 | 82 | 64 | 90 | 480 |
26 | 81 | 83 | 84.5 | 81 | 62 | 86 | 477.5 |
27 | 80 | 87 | 77 | 70 | 64 | 93 | 471 |
28 | 81 | 96 | 79.5 | 65 | 53 | 93 | 467.5 |
29 | 74 | 76 | 69.5 | 81 | 74 | 89 | 463.5 |
30 | 75 | 74 | 77.5 | 75 | 66 | 93 | 460.5 |
31 | 84 | 74 | 88.5 | 71 | 56 | 85 | 458.5 |
32 | 71 | 76 | 81 | 69 | 64 | 96 | 457 |
33 | 85 | 74 | 84 | 63 | 66 | 80 | 452 |
34 | 82 | 76 | 84.5 | 65 | 63 | 81 | 451.5 |
35 | 79 | 74 | 70.5 | 76 | 63 | 89 | 451.5 |
36 | 79 | 88 | 75 | 61 | 51 | 92 | 446 |
37 | 74 | 85 | 48 | 85 | 73 | 78 | 443 |
38 | 82 | 71 | 72 | 66 | 62 | 88 | 441 |
39 | 76 | 77 | 76.5 | 64 | 49 | 96 | 438.5 |
40 | 69 | 66 | 79 | 65 | 58 | 80 | 417 |
41 | 80 | 70 | 61 | 61 | 52 | 89 | 413 |
42 | 80 | 74 | 46.5 | 70 | 53 | 85 | 408.5 |
43 | 69 | 66 | 70 | 62 | 52 | 84 | 403 |
44 | 77 | 62 | 53.5 | 55 | 59 | 91 | 397.5 |
45 | 72 | 55 | 89 | 57 | 43 | 74 | 390 |
46 | 85 | 54 | 48 | 44 | 49 | 94 | 374 |
47 | 69 | 71 | 74 | 40 | 32 | 76 | 362 |
48 | 79 | 49 | 53.5 | 45 | 37 | 78 | 341.5 |
49 | 72 | 48 | 52 | 56 | 52 | 58 | 338 |
50 | 70 | 60 | 58 | 33 | 33 | 70 | 324 |
51 | 74 | 45 | 44.5 | 47 | 28 | 80 | 318.5 |
52 | 51 | 65 | 34 | 53 | 40 | 65 | 308 |
53 | 63 | 30 | 38 | 45 | 47 | 74 | 297 |
54 | 66 | 40 | 36.5 | 37 | 48 | 69 | 296.5 |
55 | 71 | 66 | 30.5 | 33 | 29 | 66 | 295.5 |
56 | 44 | 78 | 16.5 | 37 | 37 | 67 | 279.5 |
57 | 72 | 18 | 46.5 | 30 | 33 | 78 | 277.5 |
58 | 50 | 32 | 42 | 55 | 48 | 50 | 277 |
59 | 75 | 27 | 31.5 | 31 | 31 | 74 | 269.5 |
60 | 69 | 28 | 34.5 | 38 | 25 | 70 | 264.5 |
61 | 58 | 26 | 15 | 46 | 41 | 73 | 259 |
62 | 63 | 38 | 36 | 28 | 42 | 51 | 258 |
63 | 52 | 49 | 39.5 | 25 | 36 | 55 | 256.5 |
64 | 60 | 10 | 13.5 | 53 | 58 | 56 | 250.5 |
65 | 62 | 45 | 15 | 46 | 23 | 51 | 242 |
66 | 21 | 33 | 39.5 | 43 | 41 | 56 | 233.5 |
67 | 46 | 39 | 21 | 39 | 29 | 50 | 224 |
68 | 61 | 15 | 19 | 26 | 22 | 59 | 202 |
69 | 53 | 25 | 24 | 30 | 19 | 48 | 199 |
导入库并加载数据
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
df = pd.read_excel('201706.xls',index_col=0)
计算标准方差
df.std()
输出:
语文 13.135499
数学 24.751200
英语 25.808477
物理 20.585028
化学 19.093502
政治 14.713432
总分 107.593697
dtype: float64
由结果可知,语文和政治成绩分散程度最小,英语成绩分散程度最大。
各科成绩分布图
bins = [10,20,30,40,50,60,70,80,90,100]
cuts = pd.cut(df['chinese'],bins=bins)
counts = pd.value_counts(cuts)
cuts.value_counts(sort=False).plot(kind='bar',title='chinese scores')