样本标准差分母为何是n-1
大家好,今天给大家介绍标准差。标准差在统计领域是一个重要概念,有些地方晦涩难懂,特别是样本标准差的分母为何是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.
样本标准差分母为何是n-1的更多相关文章
- C#基础_C#计算样本标准差和总体标准差
首先我们先了解样本标准差和总体标准差: 样本标准差=方差的算术平方根=s=sqrt(((x1-x)^2 +(x2-x)^2 +......(xn-x)^2)/(n-1)) 总体标准差=σ=sqrt(( ...
- 样本方差:为嘛分母是n-1
在样本方差计算式中,我们使用Xbar代替随机变量均值μ. 容易证明(参考随便一本会讲述样本方差的教材),只要Xbar不等于μ,sigma(Xi-Xbar)2必定小于sigma(Xi-μ)2. 然而,要 ...
- 为什么样本方差(sample variance)的分母是 n-1?
为什么样本方差(sample variance)的分母是 n-1? (補充一句哦,題主問的方差 estimator 通常用 moments 方法估計.如果用的是 ML 方法,請不要多想不是你們想的那樣 ...
- 为什么样本方差分母是n-1
https://blog.csdn.net/qq_39521554/article/details/79633207 为什么样本方差的分母是n-1?为什么它又叫做无偏估计? 至于为什么是n-1,可以看 ...
- 去除zabbix calculate 模式下,有时候分母为零的情况(Cannot evaluate expression: division by zero. )
zabbix的监控类型支持一种calculate的方式,可以对几个item结果进行简单的计算,但有时会出现分母为零的情况,这时候监控项就会报错 Cannot evaluate expression: ...
- Codeforces Round #450 (Div. 2) B. Position in Fraction【数论/循环节/给定分子m 分母n和一个数c,找出c在m/n的循环节第几个位置出现,没出现过输出-1】
B. Position in Fraction time limit per test 1 second memory limit per test 256 megabytes input stand ...
- 为什么方差的分母有时是n,有时是n-1 源于总体方差和样本方差的不同
为什么样本方差(sample variance)的分母是 n-1? 样本方差计算公式里分母为n-1的目的是为了让方差的估计是无偏的.无偏的估计(unbiased estimator)比有偏估计(bia ...
- Excel查询序列所相应的值-vLoopup函数,求比例分子改变但分母不变
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWV3ZWlvdXlhbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...
- 分母为0的坑(float)
分母不能为0 对于int 类型,如果分母为0,在程序运行时,会报错. 而对于float 类型,如果分母为0,则不会报错,而是会返回一个infinity(无穷大),也就是NAN. 因为除一个无穷小的数, ...
随机推荐
- 类调用自己的静态方法必须把该方法设置为public
否则调用不了 ParaChecker.isOK(bindingResult); public class ParaChecker { static BaseResult paraCheck(Bindi ...
- [BZOJ4082][Wf2014]Surveillance[倍增]
题意 给你一个长度为 \(len\) 的环,以及 \(n\) 个区间,要你选择尽量少的区间,使得它们完全覆盖整个环.问最少要多少个区间. \(len,n\leq 10^6\) . 分析 考虑普通的区间 ...
- 设计模式 笔记 迭代器模式 Iterator
//---------------------------15/04/26---------------------------- //Iterator 迭代器模式----对象行为型模式 /* 1:意 ...
- 【Direct2D1.1初探】Direct2D特效概览
转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Direct2D是一个基于Direct3D的2D图形API,可以利用硬件加速特性来提供高性能高质量的2D渲染.但 ...
- Salesforce随笔: 将Visualforce Page渲染为PDF文件(Render a Visualforce Page as a PDF File)
参照 : Visualforce Developer Guide 第60页 <Render a Visualforce Page as a PDF File> 你可以用PDF渲染服务生成一 ...
- 英特尔帮助优化 Epic 的《堡垒之夜》* 和 Unreal Engine*
您可能知道,Epic 的游戏<堡垒之夜>是 Unreal Engine* 技术的绝佳示例,<堡垒之夜>的开发团队正不断改进游戏,增加支持平台的数量并将信息反馈给引擎.为此,英特 ...
- 01-docker简介
如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...
- 微软职位内部推荐-Senior Software Engineer-Eco
微软近期Open的职位: The MOD Ecosystem team is dedicated to expanding the reach and value of Office by enabl ...
- PAT甲题题解-1060. Are They Equal (25)-字符串处理(科学计数法)
又是一道字符串处理的题目... 题意:给出两个浮点数,询问它们保留n位小数的科学计数法(0.xxx*10^x)是否相等.根据是和否输出相应答案. 思路:先分别将两个浮点数转换成相应的科学计数法的格式1 ...
- 微信小程序input组件抖动及textarea组件光标错位解决方案
问题一: 使用微信小程序input组件时,在移动端唤起focus或blur事件时,因光标占位导致内容出现叠影及抖动现象. 解决方案: 用<textarea>组件代替了<input/& ...
