前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Scipy求解单个正态总体的置信区间

用Scipy求解单个正态总体的置信区间

作者头像
用户3577892
发布2020-09-01 14:22:36
2K0
发布2020-09-01 14:22:36
举报
文章被收录于专栏:数据科学CLUB
  • 区间估计简介
  • Python求解
    • 单个正态总体参数的置信区间
  • 参考

区间估计简介

假定参数是射击靶上 10 环的位置,作一次射击,打在靶心 10 环的位置上的可能性很小,但打在靶子上的可能性就很大,用打在靶上的这个点画出一个区间,这个区间包含靶心的可能性就很大,这就是区间估计的基本思想。

在区间估计中,由样本统计量所构造的总体参数的估计区间称为置信区间, 其中区间的最小值称为置信下限,最大值称为置信上限。由于统计 学家在某种程度.上确信这个区间会包含真正的总体参数,所以给它取名为置信区间。原因是,如果抽取了许多不同的样本,比如说抽取 100 个样本,根据每一个样本构造一个置信区间,这样,由 100 个样本构造的总体参数的 100 个置信区间中,有 95%的区间包含了总体参数的真值,而 5%则没包含,则 95%这个值称为置信水平。一般地,如果将构造置信区间的步骤重复多次,置信区间中包含总体参数真值的次数所占的比例称为置信水平。

从上图不难看出,当样本量给定时,置信区间的宽度随着置信系数的增大而增大,从直觉上说,区间比较宽时,才会使这一区间有更大的可能性包含参数的真值;当置信水平固定时,置信区间的宽度随样本量的增大而减小,换言之,较大的样本所提供的有关总体的信息要比较小的样本多。

  • 对置信区间的理解,有以下几点需要注意:
  1. 如果用某种方法构造的所有区间中有95%的区间包含总体参数的真值,5% 的区间不包含总体参数的真值,那么,用该方法构造的区间称为置信水平为95%的置信区间。同样,其他置信水平的区间也可以用类似的方式进行表述。
  2. 总体参数的真值是固定的、未知的,而用样本构造的区间则是不固定的。若 抽取不同的样本,用该方法可以得到不同的区间,从这个意义上说,置信区间是一个随机区间,它会因样本的不同而不同,而且不是所有的区间都包含总体参数的真值。一个置信区间就像是为捕获未知参数而撒出去的网,不是所有撒网的地点都能捕获到参数。
  3. 在实际问题中,进行估计时往往只抽取一个样本,此时所构造的是与该样本 相联系的一定置信水平( 比如95%)下的置信区间。由于用该样本所构造的区间是一个特定的区间,而不再是随机区间,所以无法知道这个样本所产生的区间是否包含总体参数的真值。我们只能希望这个区间是大量包含总体参数真值的区间中的一个,但.它也可能是少数几个不包含参数真值的区间中的一个。比如,从一个总体中抽取20个随机样本,得到总体均值u的20个估计区间,如下图所示。图中每个区间中间的点表示p的点估计,即样本均值x。可以看出20个区间中只有第8个区间没有包含总体均值μ。如果这是95%的置信区间,最后只有5%的区间没有包含μ

Python求解

单个正态总体参数的置信区间

\sigma

已知

\mu

的置信区间

例题1:用天平称量某 物体的质量9次,得平均值为x=15.4(g),已知天 平称量结果为正态分布,其标准差为0.1(g).试求该物体质量的0.95置信区间.

代码语言:javascript
复制
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))
代码语言:javascript
复制
该物体质量的95%的置信区间是(15.334667867181999, 15.465332132818002)
\sigma

未知

\mu

的置信区间

例题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置信区间.

代码语言:javascript
复制
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))
代码语言:javascript
复制
平均寿命的95%的置信区间是(4.551601078721146, 4.866732254612187)
\sigma ^{2}

的置信区间

例题3:某厂生产的零件重量服从正态分布N(μ,

\sigma ^{2}

),现从该厂生产的 零件中抽取9个,测得其质量(单位:g)为 45.3 45.4 45.1 45.3 45.5 45.7 45.4 45.3 45.6 试求总体标准差

\sigma ^{2}

的0. 95置信区间.

代码语言:javascript
复制
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]))
代码语言:javascript
复制
方差的95%的置信区间是[0.01482787 0.11928079]

参考

[1]茆诗松《概率论与数理统计》

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学CLUB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 区间估计简介
  • Python求解
    • 单个正态总体参数的置信区间
    • 参考
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档