标准差(std)笔记
2021-01-27 09:29:52
imadiaos
格式略有错乱,连原笔记入口
标准差
标准差可以描述样本中的数据分布。计算标准差首先要做一些其他计算。按照这些步骤就可以快速简便地建立等式。
计算器
1. 找出平均数。平均数是样本的平均值,把样本数据加起来然后除以样本数据个数就可以得到。例如:
- 样本:53, 61, 49, 67, 55, 63
- 53 + 61 + 49 + 67 + 55 + 63 = 348
- 348 / 6 = 58
- 平均数 = 58
2. 找出方差。方差是数据偏离平均数的程度。得到方差首先要计算单个样本数据和平均数的差,然后平方,再求平均数。例如:
- 计算如下:
(53-58)^2 + (61-58)^2 + (49-58)^2 + (67-58)^2 + (55-58)^2 + (63-58)^2
=(-5)^2 + 3^2 + (-9)^2 + 9^2 + (-3)^2 + 5^2 = 230
230 / 6 = 38.33333
- 注意,如果样本数据很大,可以除以n-1。所以这里方差可以被计算为:
230 / (6-1) = 46
3. 方差开方即得到标准差。标准差会告诉你数据域平均数的离散程度,约68%的样本数据在一个标准差范围内,如:
\sqrt{38.3333} = 6.19139
- 每6个数,就有4个与平均数的偏差在6.19139范围内
Python pandas:
import pandas as pd
s1 = pd.Series([1,4,9,14])
s2 = pd.Series([5,6,8,9])
s3 = pd.Series([1,2,3,4,5])
s4 = pd.Series([1,2,3,4,5,6])
df = pd.DataFrame({ 'a': s1, 'b': s2 , 'c': s3, 'd':s4})
df.describe()
输出如下:
| | a | b | c | d |
| - | - | - | - | - |
| count | 4.000000 | 4.000000 | 5.000000 | 6.000000 |
| mean | 7.000000 | 7.000000 | 3.000000 | 3.500000 |
| std | 5.715476 | 1.825742 | 1.581139 | 1.870829 |
| min | 1.000000 | 5.000000 | 1.000000 | 1.000000 |
| 25% | 3.250000 | 5.750000 | 2.000000 | 2.250000 |
| 50% | 6.500000 | 7.000000 | 3.000000 | 3.500000 |
| 75% | 10.250000 | 8.250000 | 4.000000 | 4.750000 |
| max | 14.000000 | 9.000000 | 5.000000 | 6.000000 |
手工验证a列:
1,4,9,14
==记一下,什么时候n,什么时候n-1:==
- n是求样本中心距的,n-1才是求样本标准差的
- 当数据较多时,用n除,得到标准差的有偏估计;
- 当数据较少时,用n-1除,得到标准差的无偏估计;
- 当数据较多时,二者数值上差别不大;
- 当数据较小时,二者差别略大.