欢迎各位学习从0到1Python数据科学之旅,腾讯课堂和网易云课堂入口分别如下:

(腾讯课堂新营业,报名可领取20元优惠券)

微信公众号:pythonEducation

模型和统计项目QQ:231469242

大家好,今天给大家介绍标准差。标准差在统计领域是一个重要概念,有些地方晦涩难懂,特别是样本标准差的分母为何是n-1,而不是n或n-2,接下来我会一一介绍并用计算机模拟难点。

什么是标准差?下面看两组数[28,29,30,31,32],[10,20,30,40,50],它们的平均数都是30。这两组数是一致的吗?实际上,这两组数离散程度有很大区别。

用numpy模块计算,两组数的标准差相差10倍

方差是实际值与期望值之差平方的平均值。方差,通俗点讲,就是和中心偏离的程度!用来衡量一批数据的波动大小(即这批数据偏离平均数的大小)并把它叫做这组数据的方差。记作S2。

在样本容量相同的情况下,方差越大,说明数据的波动越大,越不稳定。标准差就是方差的平方根。方差和标准差用于不同场合,方便计算。

(标准差英文解释)

方差公式

标准差公式

难点来了,总体标准差和样本标准差的公式是有区别的,如下图

样本标准差公式中,分母是n-1。

为何样本标准差的分母为何是n-1,而不是n或n-2?

我们用计算机建模,环境Anaconda(python2.7)

参数解释:

Sigma表示总体标准差

S表示样本标准差

ddofValue=0 表示样本标准差分母是n

ddofValue=1 表示样本标准差分母是n-1

ddofValue=2 表示样本标准差分母是n-2

算法思路:

1.模拟出一个总体(服从正态分布的1000个随机数)

2. 从总体中随机抽样(100个随机数)

3.分别算出总体和样本的标准差,然后相减得到distance差值

4.循环1000次试验,把1000个distance相加,得到total_distance

5.在步骤3中,分别对样本标准差的分母取n, n-1,n-2,  最终得到dict_modes

观察dict_modes,ddof1的绝对值最小3.8

ddof1=1 表示样本标准差分母是n-1

总结:s样本标准差的分母采用n-1更加接近真实的总体标准差。通过计算机模拟,我们证明了为什么样本标准差的分母n-1比较合适,而不是n或n-2。

源代码:

如果允许代码有任何问题,请反馈至邮箱231469242@qq.com

# -*- coding: utf-8 -*-

'''

为什么样本标准差的分母是n-1

'''

import random

import numpy as np

#试验次数

trial=1000

#正态分布总体大小

size_total=1000

#正态分布样本大小

size_sample=100

#分母状态

#ddofValue=0 表示样本标准差分母是n

#ddofValue=1 表示样本标准差分母是n-1

#ddofValue=2 表示样本标准差分母是n-2

list_ddofValues=[0,1,2]

#返回样本标准差和总体标准差的距离总和

def Total_distance(ddofValue):

#总体标准差

和样本标准差的差值

total_distance=0

for i in range(trial):

normal_values=list(np.random.normal(size=size_total))

#总体标准差

sigma=np.std(normal_values,ddof=0)

#随机抽样

sample=random.sample(normal_values,size_sample)

s=np.std(sample,ddof=ddofValue)

distance=sigma-s

total_distance+=distance

return total_distance

#选择最佳模型

def Dict_modes():

distance_ddof0=Total_distance(list_ddofValues[0])

distance_ddof1=Total_distance(list_ddofValues[1])

distance_ddof2=Total_distance(list_ddofValues[2])

dict_modes={}

dict_modes["ddof0"]=distance_ddof0

dict_modes["ddof1"]=distance_ddof1

dict_modes["ddof2"]=distance_ddof2

return dict_modes

dict_modes=Dict_modes()

print dict_modes

'''

for i in range(trial):

normal_values=list(np.random.normal(size=n))

#总体标准差

sigma=np.std(normal_values,ddof=0)

#plt.hist(normal_values)

#随机抽样

sample=random.sample(normal_values,100)

#plt.hist(sample)

s=np.std(sample,ddof=ddofValue)

distance=sigma-s

total_distance+=distance

print"when ddofValue is:",ddofValue

print"Distance:",total_distance

'''

End.

Python数据分析与机器学习项目实战

(腾讯课堂新营业,报名可领取20元优惠券)

python方差的计算公式为什么减一_样本标准差分母为何是n-1相关推荐

  1. python方差的计算公式_用numpy计算均值,方差,标准差

    numpy自带一些函数接口,可以用来很方便的计算一组数据的均值(mean),方差(variance)和标准差(standard deviation). 均值(mean) >>> a ...

  2. python方差的计算公式_使用Python计算方差协方差相关系数

    使用Python计算方差,协方差和相关系数 数学定义 期望 设随机变量X只取有限个可能值a_i (i=0, 1, ..., m),其概率分布为P (X = a_i) = p_i. 则X的数学期望,记为 ...

  3. python方差的计算公式_python计算均值方差

    原博文 2014-06-07 14:13 − 用Python求均值与方差,可以自己写,也可以借助于numpy,不过到底哪个快一点呢? 我做了个实验,首先生成9百万个样本: ```python nlis ...

  4. python方差的计算公式_Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算...

    使用numpy可以做很多事情,在这篇文章中简单介绍一下如何使用numpy进行方差/标准方差/样本标准方差/协方差的计算. variance: 方差 方差(Variance)是概率论中最基础的概念之一, ...

  5. Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法)

    Python科学计算库核心知识点总结_代码篇(ML/DL依赖语法)                                                                    ...

  6. Python 程序设计(第二版)董付国_清华大学出版社_习题答案与分析【针对8.4及其之前的】

    更多精彩内容:(没有设置公众号获得,麻烦动动小手~谢谢) CSDN下载:Python编程无师自通电子书,[美]科里·奥尔索夫(Cory Althoff)-文档类-CSDN下载 百度云:链接:https ...

  7. python脚本监控网站状态 - 赵海华_运维之路 - 51CTO技术博客

    python脚本监控网站状态 - 赵海华_运维之路 - 51CTO技术博客 python脚本监控网站状态 2013-01-09 09:21:02 标签:监控 python 原创作品,允许转载,转载时请 ...

  8. 下列数据类型中python不支持的是_ 下列选项中 ,Python 不支持的数据类型有 ( ) 。_学小易找答案...

    [单选题] 下列标识符中 , 合法的是 ( ) . [简答题]说明轴承代号7204AC表达的含义. [判断题]type() 函数可以查看变量的数据类型. ( ) [名词解释]限界 [单选题]体育教学 ...

  9. python基础-PyCharm设置作者信息模板_修改解释器_设置软件UTF-8编码

    python基础-PyCharm设置作者信息模板_修改解释器_设置软件UTF-8编码 一.PyCharm 设置作者信息模板 1.File---Settings---在搜索框中搜索:File and C ...

最新文章

  1. 从 2017 OpenStack Days China 看国内云计算的发展现状
  2. php redis ip查找,php+redis实现ip白名单并提供可配置ip页面
  3. Kali渗透测试技术实战
  4. 从mysql取出数据封装成json中遇到特殊字符自动转成unicode解决方案
  5. 什么是依赖注入 php,什么是依赖注入?
  6. 算法训练 表达式计算
  7. 推荐系统系列 - 引导 - 5类系统推荐算法,非常好使,非常全
  8. Deprecated注解
  9. 拔丝芋头的Java学习日记---Day10
  10. 设置笔记本电脑插入USB鼠标时,自动禁用触摸板
  11. 事业单位计算机专业能力测试考什么内容,事业单位职业能力测试考什么
  12. 51单片机入门教程(1)——点亮一个LED灯
  13. 解决word在输入文字后公式自动矮的问题,同时实现公式自动居中,编号居右
  14. 做网站域名_网站域名
  15. PostgreSql 日期类型处理
  16. 精准助力中小微企业 京东惠寻的核心逻辑是什么
  17. Android开发--调试--模拟器--加快模拟器速度
  18. intel linux 开发板,Intel IOMMU在Linux上的实现架构
  19. 学计算机什么电脑配置可以吗,学习室内设计,需要什么样的电脑配置?
  20. 连Faceboo也要转型做元宇宙,元宇宙真那么香?

热门文章

  1. 从数学的角度来谈谈,孩子为什么要学编程!
  2. java中三个基本框架_对于Java基础者应该如何理解Java中的三大框架!
  3. jq的插件 vue中引用_详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
  4. 删除 终端服务器,终端服务器命令更改 - Windows Server | Microsoft Docs
  5. php curl 要安装pear,MacOS 安装pear
  6. 怎样让计算机恢复到桌面上,如何把电脑桌面恢复成原样.怎么办?
  7. 在各个PC端应用使用表情的快捷键,王大妈都开始用这个表情啦
  8. android低电量提示,Android4.4开发之电池低电量告警提示原理与实现方法分析
  9. 如何使用github搭建个人博客
  10. 使用data-自定义数据及如何获取该值