标准差SD、相对标准偏差RSD学习和python实现

  • 一、SD和RSD的定义、公式、深层意义
    • (1)定义
    • (2)公式
    • (3)RSD的必要性
    • (4)多学一点(关于n-1)
  • 二、Python实现
    • 1.求SD
      • 2.求RSD

一、SD和RSD的定义、公式、深层意义

(1)定义

RSD定义:相对标准偏差(relative standard deviation;RSD)又叫标准偏差系数、变异系数、变动系数等,由标准偏差除以相应的平均值乘100%所得值,可在检验检测工作中分析结果的精密度。
SD定义:标准差也被称为标准偏差,标准差(Standard Deviation)描述各数据偏离平均数的距离(离均差)的平均数,它是离差平方和平均后的方根,用σ表示。

(2)公式

SD:

RSD:

多了解点:

(3)RSD的必要性

只用SD不足以反映数据偏离中心的程度!
虽然标准偏差能够反映检测结果的精密程度,但是对于下面两组数据则无法正确体现:
第一组:10.1、10.2、10.3、10.4、10.5.
SD=0.158
第二组: 0.1、0.2、0.3、0.4、0.5.
SD=0.158
虽然这两组数据的都为0.158,但第一组数据是在10.3的基础上“波动”0.158,第二组数据是在“0.3”的基础上“波动”0.158,两组数据的“波动基础”明显不同。
数量级不同,绝对波动不能反映真实的波动程度,要用相对波动!
这样,必须引人“相对标准偏差”这个概念来体现这种波动的相对大小。这样,第一组数据的RSD=1.5%,第二组数据的RSD=52.7%,精密程度立刻体现出来。

(4)多学一点(关于n-1)

多学一点:为什么SD的分母是n-1,而不是n,我理解数学家大概的想法排除掉样本中偏离度比较大的点,但是没有实际的排除,是从维度自由度上解决的,即n-1。这个问题知有很好的文章写的很好,链接:https://www.zhihu.com/question/20099757?rf=21126585
补充知识:有偏估计、无偏估计和标准差的一些关系,去看看概率统计相关

二、Python实现

1.求SD

(1)numpy.std() 求标准差的时候默认是除以 n 的,即是有偏的,np.std无偏样本标准差方式为加入参数 ddof = 1;关于numpy.std()的官网手册链接:https://numpy.org/doc/stable/reference/generated/numpy.std.html
(2)pandas.std() 默认是除以n-1 的,即是无偏的,如果想和numpy.std() 一样有偏,需要加上参数ddof=0 ,即pandas.std(ddof=0) ;DataFrame的describe()中就包含有std();

以numpy.std举例:
代码:

import numpy as np
import pandas as pd
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
std1 = np.std(a, ddof = 1)                                     #方法1,np.std无偏样本标准差方式为加入参数 ddof = 1
std2 = np.sqrt(((a - np.mean(a)) ** 2).sum() / (a.size - 1))   #方法3,直接用公式啦print(std1)
print(std2)

输出结果:

3.0276503540974917
3.0276503540974917Process finished with exit code 0

关于pandas:要了解下DataFrame,下次再写。
补看下这篇文章,参考链接https://www.jianshu.com/p/8024ceef4fe2

2.求RSD

import numpy as npa = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
std1 = np.std(a, ddof = 1)                                     #方法1,np.std无偏样本标准差方式为加入参数 ddof = 1
std2 = np.sqrt(((a - np.mean(a)) ** 2).sum() / (a.size - 1))   #方法2,直接用公式啦
print(std1)
print(std2)ave = np.mean(a)
rsd1 = std1 / ave
rsd2 = std2 / ave
print(rsd1)
print(rsd2)

结果:

3.0276503540974917
3.0276503540974917
0.6728111897994427
0.6728111897994427Process finished with exit code 0

先写这点,回头再加


标准差SD、相对标准偏差RSD学习和python实现相关推荐

  1. 深度学习常用python库学习笔记

    深度学习常用python库学习笔记 常用的4个库 一.Numpy库 1.数组的创建 (1)np.array() (2)np.zeros() (3)np.ones() (4)np.empty() (5) ...

  2. [深度学习]Part1 Python学习进阶Ch24图像处理OpenCV(24.1~24.13)——【DeepBlue学习笔记】

    本文仅供学习使用 Python高级--Ch24图像处理OpenCV(24.1~24.13) 24. 图像处理OpenCV 24.1 图像读取.显示.保存 24.1.1 图像的基本操作 24.1.2 摄 ...

  3. python学习方向-Python学习者的发展方向

    原标题:Python学习者的发展方向 报 名 2018年Python课程高校教师高级研修班 课程内容 1. 编程导论--以Python为舟 培养初学者编程能力与兴趣 学习基础Python 重视递归思维 ...

  4. python难不难学-超级适合新手学习的python教程,入门其实不难?

    在互联网时代很多人都希望掌握一个与互联网相关的知识,比如Python的知识就非常重要,因为无论是操作新媒体平台还是去制作一些软件,我们都需要掌握一些Python的技巧,而且学习一些Python的知识, ...

  5. python爬虫原理-python学习之python爬虫原理

    原标题:python学习之python爬虫原理 今天我们要向大家详细解说python爬虫原理,什么是python爬虫,python爬虫工作的基本流程是什么等内容,希望对这正在进行python爬虫学习的 ...

  6. 学会python编程容易吗-学习武汉Python编程培训容易吗?别人都是怎么学习的?

    作为人工智能时代的首选语言,Python有着无可比拟的优势,吸引了越来越多的人前来学习.那么,学习武汉Python编程培训容易吗?那些顺利高薪就业的人都是怎么学习武汉Python编程培训的呢?下面,千 ...

  7. Python语言学习:python语言代码调试—异常处理之详细攻略

    Python语言学习:python语言代码调试-异常处理之详细攻略 目录 python语言代码调试-异常处理 异常捕捉可以使用 try/except 语句 相关文章 Python3 错误和异常 | 菜 ...

  8. Python编程语言学习:python中与数字相关的函数(取整等)、案例应用之详细攻略

    Python编程语言学习:python中与数字相关的函数(取整等).案例应用之详细攻略 目录 python中与数字相关的函数 1.对小数进行向上取整 1.1.利用numpy库 1.2.利用math库

  9. Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断

    Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断 目录 python的列表的特殊应用 一行命令实现if判断中的两类判断 python的列表的特殊应用 一行命令实 ...

  10. Python语言学习:python编程之pip命令集合、python调式、头部代码、代码运行等常见概念详细攻略(解决问题为导向)

    Python语言学习:python编程之pip命令集合.python调式.头部代码.代码运行等常见概念详细攻略(解决问题为导向) 目录 一.pip命令集合 1.pip常规命令 1.1  pip下载se ...

最新文章

  1. 矩阵乘法的性能提升 AutoKernel
  2. 互联网为什么需要全局唯一ID?
  3. 无限级分类实现思路 (组织树的分级管理)
  4. DotNet的JSON序列化与反序列化
  5. springboot情操陶冶-web配置(四)
  6. shell+中sum的用法_shell高级用法
  7. Mysql ERROR 2002 (HY000) Can't connect to local MySQL server through socket
  8. qpython能使用json吗l_[python] 详解Python在使用JSON时需要注意的编码问题
  9. 「leetcode」C++题解:20. 有效的括号,括号匹配是使用栈解决的经典问题
  10. 济南市建筑物矢量数据(Shp格式+带高度)
  11. Pix4Dmapper系列教程(一):Pix4D模型成果导出OSGB并加载到CASS3D进行三维测图
  12. python 桌面应用 h5_hdf 5文件格式及python中利用h5py模块读写h5文件
  13. 使用Tale搭建个人博客网站(基于java)
  14. 【高中数学】数列 · 通项求法
  15. matlab 判断大小写,【万大暗】matlab字符串不分字母大小写按字母表排序问题
  16. apache性能调优(转)
  17. Android图表控件MPAndroidChart——BarChart实现多列柱状图以及堆积柱状图
  18. 【Python相关】PyCharm如何修改行注释颜色
  19. 恋练有词_词汇精讲3
  20. git rebase 简介

热门文章

  1. 怎么用计算机拟合函数wps,如何在excel 里利用曲线拟合的方式求公式|
  2. MTCNN训练数据整理
  3. unity游戏开发之打包apk谷歌上架报错总结
  4. kali使用外接usb蓝牙
  5. html怎么导入桌面上的图片,html怎么导入图片
  6. 袖珍磁带的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. 2019年11月计算机语言排名,2019年11月PYPL编程语言排行榜出炉
  8. 爬虫项目十八:用Python对拉钩网全部城市所有招聘信息爬取
  9. h5调用指纹识别_Vue指纹识别验证 h5plus
  10. eclipse debug 多线程