用Scipy求解单个正态总体的置信区间
- 区间估计简介
- Python求解
- 单个正态总体参数的置信区间
- 参考
区间估计简介
假定参数是射击靶上 10 环的位置,作一次射击,打在靶心 10 环的位置上的可能性很小,但打在靶子上的可能性就很大,用打在靶上的这个点画出一个区间,这个区间包含靶心的可能性就很大,这就是区间估计的基本思想。
在区间估计中,由样本统计量所构造的总体参数的估计区间称为置信区间, 其中区间的最小值称为置信下限,最大值称为置信上限。由于统计 学家在某种程度.上确信这个区间会包含真正的总体参数,所以给它取名为置信区间。原因是,如果抽取了许多不同的样本,比如说抽取 100 个样本,根据每一个样本构造一个置信区间,这样,由 100 个样本构造的总体参数的 100 个置信区间中,有 95%的区间包含了总体参数的真值,而 5%则没包含,则 95%这个值称为置信水平。一般地,如果将构造置信区间的步骤重复多次,置信区间中包含总体参数真值的次数所占的比例称为置信水平。
从上图不难看出,当样本量给定时,置信区间的宽度随着置信系数的增大而增大,从直觉上说,区间比较宽时,才会使这一区间有更大的可能性包含参数的真值;当置信水平固定时,置信区间的宽度随样本量的增大而减小,换言之,较大的样本所提供的有关总体的信息要比较小的样本多。
- 对置信区间的理解,有以下几点需要注意:
- 如果用某种方法构造的所有区间中有95%的区间包含总体参数的真值,5% 的区间不包含总体参数的真值,那么,用该方法构造的区间称为置信水平为95%的置信区间。同样,其他置信水平的区间也可以用类似的方式进行表述。
- 总体参数的真值是固定的、未知的,而用样本构造的区间则是不固定的。若 抽取不同的样本,用该方法可以得到不同的区间,从这个意义上说,置信区间是一个随机区间,它会因样本的不同而不同,而且不是所有的区间都包含总体参数的真值。一个置信区间就像是为捕获未知参数而撒出去的网,不是所有撒网的地点都能捕获到参数。
- 在实际问题中,进行估计时往往只抽取一个样本,此时所构造的是与该样本 相联系的一定置信水平( 比如95%)下的置信区间。由于用该样本所构造的区间是一个特定的区间,而不再是随机区间,所以无法知道这个样本所产生的区间是否包含总体参数的真值。我们只能希望这个区间是大量包含总体参数真值的区间中的一个,但.它也可能是少数几个不包含参数真值的区间中的一个。比如,从一个总体中抽取20个随机样本,得到总体均值u的20个估计区间,如下图所示。图中每个区间中间的点表示p的点估计,即样本均值x。可以看出20个区间中只有第8个区间没有包含总体均值μ。如果这是95%的置信区间,最后只有5%的区间没有包含μ
Python求解
单个正态总体参数的置信区间
已知
的置信区间
例题1:用天平称量某 物体的质量9次,得平均值为x=15.4(g),已知天 平称量结果为正态分布,其标准差为0.1(g).试求该物体质量的0.95置信区间.
import numpy as np
import pandas as pd
from scipy import stats
import matplotlib.pyplot as plt
%matplotlib inline
mean=15.4
std=0.1/3
interval=stats.norm.interval(0.95,mean,std)
print('该物体质量的95%的置信区间是{}'.format(interval))
该物体质量的95%的置信区间是(15.334667867181999, 15.465332132818002)
未知
的置信区间
例题2:假设轮 胎的寿命服从正态分布.为估计某种轮胎的平均寿命,现 随机地抽12只轮胎试用,测得它们的寿命(单位:万千米)如下:
4.68 4.85 4.32 4.85 4.61 5.02 5.20 4.60 4.58 4.72 4.38 4.70
试求平均寿命的0.95置信区间.
l=[4.68 ,4.85, 4.32, 4.85, 4.61, 5.02, 5.20, 4.60, 4.58, 4.72, 4.38, 4.70]
x=np.array(l)
mean=x.mean()
tsem=stats.tsem(x) #注意这里使用的修正因子是n/(n-1)
interval=stats.t.interval(0.95,len(l)-1,mean,tsem)
print('平均寿命的95%的置信区间是{}'.format(interval))
平均寿命的95%的置信区间是(4.551601078721146, 4.866732254612187)
的置信区间
例题3:某厂生产的零件重量服从正态分布N(μ,
),现从该厂生产的 零件中抽取9个,测得其质量(单位:g)为 45.3 45.4 45.1 45.3 45.5 45.7 45.4 45.3 45.6 试求总体标准差
的0. 95置信区间.
l=[ 45.3 ,45.4, 45.1, 45.3, 45.5, 45.7, 45.4, 45.3, 45.6]
x=np.array(l)
mean=x.mean()
var=9*x.var()
a=stats.chi2.interval(0.95,len(l)-1)
b=np.array(a)
print('方差95%的置信区间是{}'.format((var/b)[::-1]))
方差的95%的置信区间是[0.01482787 0.11928079]
参考
[1]茆诗松《概率论与数理统计》
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法